2014-10-03 84 views
1

我希望能夠在我的網站上創建一個彈出式窗口,用戶可以從該窗口在網站上打印幾張圖像。我爲此編寫的代碼似乎適用於Chrome和Firefox,但由於某些原因,代碼無法寫入IE 11中的頁面。例如,下面的代碼在Chrome中工作,但只是在IE 11中創建一個空白頁面。有什麼方法可以改變它,所以它可以在IE中工作?IE中的新窗口是空白的

<button id="sub" onclick="printme(event)">Submit</button> 
<script> 
function printme(evt) 
{ 

    link = "about:blank"; 
    var pw = window.open(link, "_new"); 
    pw.document.open(); 
    pw.document.write("There should be writing here"); 
    pw.document.close(); 
} 
</script> 
+1

是否有在JavaScript控制檯中的任何錯誤?如果你使用'link =「」;'而不是'about:blank',它會起作用嗎? – Barmar 2014-10-03 04:32:01

+0

您的代碼在IE 11中可以正常工作。 – pkExec 2014-10-03 04:34:22

+0

也適用於我 – 2014-10-03 04:37:21

回答

0

試試這個

window.onload=function() { 
    document.getElementById("sub").onclick=function() { 
    var link = ""; 
    var pw = window.open(link, "_new"); 
    if (pw) { // can be blocked or not there for timing reasons 
     pw.document.write("There should be writing here"); 
     pw.document.close(); 
    } 
    else { 
     alert("Please disable your popup blocker"); 
    } 
    return !pw; // return false if successful 
    } 
} 

這將工作更好地與

<a href="popupblocked.html" id="sub">Submit</a> 
+0

不幸的是,這段代碼仍然不適合我。 IE能夠打開窗口,但錯誤是拋出document.write – 2014-10-04 03:07:02

+0

我錯過了一個括號。你能用你的實際代碼創建一個jsfiddle嗎?例如,如果你嘗試document.write('',你將失敗,如果沒有逃脫 – mplungjan 2014-10-04 06:12:46

+1

我知道它不必與我的實際代碼,因爲上面的代碼在文檔中沒有標籤。 write()仍然不起作用,最後我意識到我和其他網站有完全相同的問題,例如,在IE中,點擊「print」後我看不到打印預覽:http:/ /www.coloring.ws/t.asp?b=m&t=http://www.coloring.ws/canada/carr-forest.gif,所以我認爲這個問題與我的安全設置有關。 – 2014-10-08 01:30:03