问题很简单但很烦人.我有一个按钮,点击事件只是打开一个链接
HtmlPage.Window.Navigate(uri, "_blank");
但它一直被浏览器阻止.我搜索了很多.似乎每个人都在使用这种方法,但没有人提到新的选项卡/窗口被阻止.所以我该怎么做?
UPDATE
问题解决了.似乎要导航到外部网页,应该使用HyperlinkButton.这不会被浏览器阻止.
“要启用用户导航到其他网页,您可以使用HyperlinkButton控件并将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设置一组选项,而不是最后一个空值