Silverlight打开uri链接被浏览器阻止

问题很简单但很烦人.我有一个按钮,点击事件只是打开一个链接

HtmlPage.Window.Navigate(uri, "_blank");

但它一直被浏览器阻止.我搜索了很多.似乎每个人都在使用这种方法,但没有人提到新的选项卡/窗口被阻止.所以我该怎么做?

UPDATE

问题解决了.似乎要导航到外部网页,应该使用HyperlinkBut​​ton.这不会被浏览器阻止.

“要启用用户导航到其他网页,您可以使用HyperlinkBut​​ton控件并将NavigateUri属性设置为外部资源,并设置TargetName属性以打开新的浏览器窗口.” — MSDN, Silverlight – External navigation

<HyperlinkButton NavigateUri="http://www.microsoft.com" Content="Go to Microsoft" TargetName="_blank" />

PS. HtmlPage.PopupWindow也被浏览器阻止.在我看来,没有用户手动禁用块,HtmlPage.Window.Navigate和HtmlPage.PopupWindow是无用的.

最佳答案 您是否在Silverlight 3和4中考虑过System.Windows.Browser.HtmlPage.PopupWindow(uri,“_ blank”,null)?

您也可以通过HtmlPopupWindowOptions设置一组选项,而不是最后一个空值

点赞