Доступ к внешним ресурсам

Виджеты могут открытые приложения и веб-страницы за пределами их пакета. Если Ваш виджет обеспечивает подмножество информации, найденной в Интернете, ссылка к полному набору данных, открывающемуся в 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");

Обратите внимание на то, что нет никакого средства для передающих параметров приложению. Для этого уровня интерактивности между виджетом и приложением, Вы могли попробовать одну из этих опций: