Доступ к внешним ресурсам
Виджеты могут открытые приложения и веб-страницы за пределами их пакета. Если Ваш виджет обеспечивает подмножество информации, найденной в Интернете, ссылка к полному набору данных, открывающемуся в Safari, является надлежащей. Если Ваш виджет соединяет интерфейсом с приложением, например, с iTunes, он должен открыть его сначала. Инструментальная панель может сделать это все для Вас.
Открытие URL
Иногда можно хотеть, чтобы виджет открыл веб-страницу, когда щелкают по определенной информации. Например, щелчок по символу акций в виджете тикера акций, вероятно, загрузил бы веб-страницу в информации об отображении браузера по умолчанию, относящейся к акциям.
Для открытия веб-страницы используйте widget.openURL(url)
метод. Например, можно использовать его в функции для динамичной сборки URL с помощью содержания переменной, которую Вы устанавливаете в другом месте в Вашем коде:
Перечисление 7 , Собирающее URL и передающее его widget.openURL
<html> |
<head> |
<script> |
... |
function clicked(section) |
{ |
if (widget) |
{ |
widget.openURL('http://www.apple.com/' + section); |
} |
} |
... |
</script> |
</head> |
<body> |
... |
<span onclick="clicked('developer/')">Developer</span> |
<span onclick="clicked('store/')">Store</span> |
... |
</body> |
</html> |
Когда пользователь щелкает в некотором тексте, в Перечислении 7 вызвана произвольная функция. Часть URL передается clicked
функционируйте и затем добавленный на другую строку, тогда передающуюся openURL
метод. Это тогда открывает браузер по умолчанию пользователя с предоставленным URL.
Также можно встроить метод в любого <span>
тег:
<span onclick="widget.openURL('http://www.apple.com/')">Apple</span> |
Активация приложения
В дополнение к способности открыть веб-страницу, Ваш виджет может открытые приложения. Вызов widget.openApplication()
отклоняет Инструментальную панель и или открывает указанное приложение или, если это было уже открыто, выдвигает его на первый план.
Параметр, переданный в этот метод, является пакетом ID для приложения. Например, для открытия iTunes Вы передаете в строке com.apple.iTunes
:
widget.openApplication("com.apple.iTunes"); |
Обратите внимание на то, что нет никакого средства для передающих параметров приложению. Для этого уровня интерактивности между виджетом и приложением, Вы могли попробовать одну из этих опций:
Используйте
widget.system()
метод, как обсуждено в Доступе к Утилитам Командной строки, сopen
утилита командной строкиРеализуйте плагин виджета, как обсуждено в Создании Плагина Виджета