我在运行时添加以下javascript以打开新的浏览器窗口。我知道window.open在javascript中可用。但它不适用于safari和chrome。是否有任何其他技巧或挂钩技术来实现这一目标。
string script= "window.open('http://www.w3schools.com','_blank','toolbar=yes,location=yes,directories=no,status=1,menubar=yes,scrollbars=yes,resizable=no,copyhistory=yes,left=20,top=20,width=600,height=550');";
ScriptManager.RegisterStartupScript(this, this.GetType(), "newWindowScript", script, true);
由于
答案 0 :(得分:0)
这是因为浏览器中的弹出窗口阻止程序。您可以使用Ajax Modal Popup窗口而不是Window.Open
http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/ModalPopup/ModalPopup.aspx
另一种选择是Jquery弹出窗口 http://yensdesign.com/2008/09/how-to-create-a-stunning-and-smooth-popup-using-jquery/
如果您仍然需要使用Window.Open,请参阅此
Bypass popup blocker on window.open when JQuery event.preventDefault() is set
答案 1 :(得分:0)
window.open()
肯定适用于Safari和Chrome,我今天就用它了! w3Schools网站上的演示在Chrome中运行
尝试将代码移动到标准的页内<script>
块中(显然删除了.net内容)以测试并查看控制台中是否有任何错误。
可能是你传递给.open()
的第三个参数的一个功能是破坏事物(比如复制历史功能 - 我之前从未见过它,并且它没有在可用选项中列出w3Schools网站)?我注意到Chrome倾向于忽略宽度并将其打开到它想要的任何大小......