Гаджет на основе Silverlight для открытия ссылки в браузере? - PullRequest
0 голосов
/ 03 января 2011

Я написал гаджет для боковой панели, который отображает серию ссылок с использованием silverlight. Я могу разместить Silverlight на веб-сайте, и когда я нажимаю на ссылки, они открываются в новой вкладке. Однако, когда я упаковываю его как гаджет, в нем появляются ссылки, по которым можно щелкнуть, но они не открывают окно браузера для отображения ссылки.

Что мне нужно сделать, чтобы это заработало?

1 Ответ

2 голосов
/ 04 января 2011

Лучше всего запускать внешние ссылки из гаджетов, используя предпочитаемый метод выполнения оболочки;при этом они будут запущены в браузере по умолчанию.При разработке гаджетов все мои ссылки имеют обработчик onclick, который указывает на следующий метод:

function launchLink() {
    if (this.href.slice(0,7) == "http://") {
        System.Shell.execute(this.href);
        return false;
    }
}

Теоретически вы можете немного изменить это и вызвать его из кода Silverlight с помощью моста HTML.

JS код

function launchLink(href) {
    System.Shell.execute(href);
}

Silverlight

// HtmlPage requires using System.Windows.Browser
HtmlPage.Window.Invoke("launchLink", "http://some.com/");
...