Windows.open

时间:2016-11-16 12:19:54

标签: javascript window.open

我在javascript文件中有以下代码,

 var windo = window.open("", "");
 windo.document.write("sdhfsdfsfsdkjks image");

点击按钮,我正在执行上面的代码。但它打开了2个新标签,一个带有内容,'sdhfsdfsfsdkjks image'是预期的,而在另一个标签中,它打开我上面代码的父页面。所以任何人都有一个想法,为什么它会在新标签页中再次打开父页面。

2 个答案:

答案 0 :(得分:1)

好像你需要在一个全局变量中缓存te窗口,它是特定于浏览器的(如果稍后用同一个名称调用open,浏览器可能会用新的窗口替换现有窗口。某些浏览器(FF)会这样做,一些浏览器(IE)打开新窗口。)

你有没有想过一个不需要window.open但是用Ajax调用替换这个div内容的解决方案?

var mywindow;
function openFile() {
    if (typeof mywindow == "undefined") {
        mywindow = open("", "_blank"); 
    }
    mywindow.document.write("sdhfsdfsfsdkjks image"); 
} 

http://javascript.info/tutorial/popup-windows

答案 1 :(得分:0)

我错过了代码

  

返回false;

当我在锚标记中调用openFile()方法时。这是理由,它正在打开额外的tab.Below正在运行代码,

 <a onclick="openFile();return false;" href="#">
 function openFile() {
if (typeof mywindow == "undefined") {
    mywindow = open("", "_blank"); 
}
    mywindow.document.write("sdhfsdfsfsdkjks image"); 
}