2014-11-01 227 views
0

我想自動關閉一個由window.open()函數打開的Firefox中的窗口。我已經搜索了堆棧溢出論壇,發現這些鏈接:自動關閉瀏覽器窗口

1)How do I automatically close a webpage? 2)Automatically Close current window and open new window with new URL address

但因爲我不是非常習慣使用JavaScript,我不能適當地執行代碼。

請在下面找到打開窗口的代碼 - 需要自動關閉。但是在生成的html文件中插入a會使其無效。

<script language="JavaScript" type="text/javascript"> 
function Clickheretoprint(vpid,vage,vroom,vname,vsex,vdoc,vdat) 
{ 

    var disp_setting="toolbar=yes,location=no,directories=yes,menubar=yes,"; 
     disp_setting+="scrollbars=yes,width=300, height=200, left=100, top=25 resizable=yes"; 
    //var content_vlue = document.getElementById("T_PID").value; 


    var docprint=window.open("","",disp_setting); 
    docprint.document.open(); 
    docprint.document.write('<html>'); 
    docprint.document.write('<body style="margin:0.01in 0.01in 0.01in 0.01in; width:3in;height:2in;position:absolute;" onLoad="self.print()">'); 
    docprint.document.write('<table height="25%">'); 
docprint.document.write('<tr>'); 
    docprint.document.write('<td style=" font-weight: bold;" align="left">Regd : '+vpid+'&nbsp;&nbsp;&nbsp;Date :'+vdat+'</td>'); 
    docprint.document.write('</tr>'); 
    docprint.document.write('<tr>'); 
    docprint.document.write('<td style=" font-weight: bold;" align="left">Name : '+initCap(vname)+'</td>'); 
    docprint.document.write('</tr>'); 
    docprint.document.write('<tr>'); 
    docprint.document.write('<td colspan=2 align="left"; ><B>Age :</B>'+vage+'&nbsp;&nbsp;&nbsp;<B>Category :</B>'+vsex+'</td>'); 
    docprint.document.write('</tr>'); 
    docprint.document.write('<tr>'); 
    docprint.document.write('<td colspan=2 style="font-weight: bold;" >'+vdoc+' &nbsp;&nbsp;&nbsp;Room:'+vroom+'</td>'); 
    docprint.document.write('</tr>'); 
    docprint.document.write('</table>'); 
    docprint.document.write('<table height="25%">'); 
    docprint.document.write('<tr><td style="height:1in;width:100%;Font-family:CODE 39;"> <center>'); 
    docprint.document.write('<font face="CODE 39" size="7">'); 
    docprint.document.write('*'+vpid+'*'); 

    docprint.document.write('</font>'); 
    docprint.document.write('</center></td></tr>'); 
    docprint.document.write('</table>'); 
    docprint.document.write('</body></html>'); 
    docprint.document.close(); 
    docprint.focus(); 
} 

請讓我知道如何編輯生成的文件,以便它在3秒後自動關閉。

謝謝!

PS:稍微詳細的答案將不勝感激,因爲我對這個領域頗爲陌生。

回答

0

CODEPEN

試試:

<button onclick="openWin()">Open and Close after 3s</button> 
<script> 
    var myWindow; 
    function openWin() { 
     myWindow = window.open("", "myWindow", "width=200, height=100"); 
     myWindow.document.write("<p>This is 'myWindow'</p>"); 
     setTimeout(closeWin, 3000); 
    } 

    function closeWin() { 
     myWindow.close(); 
    } 
</script> 
+0

不工作。窗口保持打開狀態。 – 2014-11-01 11:21:41

+0

您是否嘗試過CODEPEN? 在我的瀏覽器中(FF)它可以工作,窗口在3秒後關閉...... 如果您在codeplayground中嘗試過它,例如JSfiddle和Stackoverflow,它不會工作,因爲頁面會阻止IFrame內的腳本打開和關閉新窗口。 – 2014-11-01 11:31:50

+0

哦...在CODEPEN中起作用。但是當我在電腦上試用它時,它並沒有。但是現在我改變了條目dom.allow_scripts_to_close_windows;在about:config中,只是附加setTimeout(「window.close()」,3000); 。它做了什麼,它會在3秒後關閉父窗口。但我想彈出窗口關閉。 – 2014-11-01 11:45:07