如何在javascript中正确打开新窗口?
我试过了:
<a href='javascript:window.open("testing.html","mywindow","menubar=0,resizable=1,width=200,height=500,left=0,top=0");' >New Window</a>
这会导致弹出一个新窗口,但在Firefox中,它会在原始页面上留下一个空白窗口,上面写着“[object Window]”。我也有IE的问题。
如何打开可在Firefox,IE,Safari和Chrome中运行的窗口?
奖励:如果你可以帮助创建一个javascript可降级的链接(我认为这是一个术语)。
答案 0 :(得分:3)
javascript:
链接非常老派。尝试使用onclick
属性。并且不要忘记return false
处理程序中的onclick
,以防止主页也跟踪链接。
<a href="testing.html" onclick="window.open(this.href,'mywindow','menubar=0,resizable=1,width=200,height=500,left=0,top=0'); return false;">New Window</a>
答案 1 :(得分:3)
通过将脚本放在href属性中,链接将遵循脚本返回值的字符串表示形式。
最向后兼容的方法是将url和target作为常规属性放在链接中,并使用onclick事件打开窗口而不是跟随链接。通过从事件中返回false来阻止链接被跟踪:
<a href="testing.html" target="_blank" onclick="window.open(this.href,this.target,'menubar=0,resizable=1,width=200,height=500,left=0,top=0');return false;">New Window</a>
如果在浏览器中禁用了Javascript,则会在链接后面跟随该链接并在新窗口中打开它。
使用目标_blank
打开一个新窗口。
答案 2 :(得分:0)
您可以将void(0)
添加到您的javascript代码中,这会阻止浏览器对当前窗口执行任何操作
<a href='javascript:window.open("testing.html","mywindow","menubar=0,resizable=1,width=200,height=500,left=0,top=0"); void(0)' >New Window</a>
答案 3 :(得分:0)
<a href='javascript:(function(){window.open("testing.html","mywindow","menubar=0,resizable=1,width=200,height=500,left=0,top=0")}();' >New Window</a>
或者使它成为一个功能:
<a href="file.html" class="popup">File</a>
<script>window.onload = function(){
document.getElementsByTagName('a').onclick =
function(evt){ el = evt.target; if (el.className == 'popup'){
window.open(el.href,"mywindow","menubar=0,resizable=1,width=200,height=500,left=0,top=0");
return false; }; };</script>