【发布时间】:2011-01-03 14:28:17
【问题描述】:
我编写了一个侧边栏小工具,它使用 Silverlight 显示一系列链接。我可以在网站上托管 silverlight,当我单击链接时,它们会在新选项卡中打开。当我将它打包为小工具时,链接会出现在小工具中,并且可以单击它们,但它们不会打开浏览器窗口来显示链接。
我需要做什么才能让它工作?
【问题讨论】:
标签: silverlight windows-desktop-gadgets
我编写了一个侧边栏小工具,它使用 Silverlight 显示一系列链接。我可以在网站上托管 silverlight,当我单击链接时,它们会在新选项卡中打开。当我将它打包为小工具时,链接会出现在小工具中,并且可以单击它们,但它们不会打开浏览器窗口来显示链接。
我需要做什么才能让它工作?
【问题讨论】:
标签: silverlight windows-desktop-gadgets
最好使用您喜欢的 shell 执行方法从小工具启动外部链接;这样做将在默认浏览器中启动它们。在开发小工具时,我的所有链接都有一个指向以下方法的 onclick 处理程序:
function launchLink() {
if (this.href.slice(0,7) == "http://") {
System.Shell.execute(this.href);
return false;
}
}
理论上,您可以稍作修改,然后使用 HTML 桥从 Silverlight 代码调用它。
JS 代码
function launchLink(href) {
System.Shell.execute(href);
}
银光
// HtmlPage requires using System.Windows.Browser
HtmlPage.Window.Invoke("launchLink", "http://some.com/");
【讨论】:
HtmlPage.RegisterScriptableObject("Page", this); 位(这只是使托管对象对 javascript 可见),只需要通过调用 javascript 方法来执行 shell。