在我的ViewModel中,我正在准备动态网址,然后按照以下方式调用它。
HtmlPage.Window.Navigate(new Uri(URL), "_blank");
但它没有用,所以我试图从silverlight调用javascript,在javascript里面调用window.open()方法。代码是这样的:
HtmlPage.Window.Invoke("open_win", URL);
和Javascript函数open_win是这样的:
function open_win(param1) {
var win = window.open(param1, 'ad', 'width=400,height=200,scrollbars=yes')
win.focus();
}
但它适用于IE,只有所有其他浏览器都显示弹出窗口阻止程序。
我已经尝试了一个解决方案来摆脱弹出窗口阻止程序 我已经创建了虚拟html按钮并触发了它在open_win函数内的单击然后它也没有工作但是当我点击html按钮它工作正常。所以请帮我一起使用silverlight按钮。
如果你有任何其他解决方案来打开没有弹出窗口拦截器的新浏览器窗口,那么也建议我。
提前致谢。
答案 0 :(得分:0)
在Javascript中监听Click事件。
如果您使用Silverlight接收点击,则浏览器不知道发生了点击。它只是假设您的代码正在尝试打开新的浏览器。这就是为什么你的新窗口被归类为弹出窗口。
使用Javascript监听DOM点击事件。然后浏览器会尊重你的新窗口。