⑴ js 打開新窗口
請採用網頁對話框的方式showModalDialog
showModalDialog是jswindow對象的一個方法,和window.open一樣都是打開一個新的頁面。
區別是:showModalDialog打開子窗口後,父窗口就不能獲取焦點了(也就是無法操作了)。
可以在子窗口中通過設置window.returnValue的值,讓父窗口可以獲取這個returnvalue.
2.一個例子
1)主窗口main.html,
2)在主窗口中通過showModalDialog的方式打開子窗口sub.html
3)在子窗口中設置returnValue返回給主窗口使用
main.html
復制代碼代碼如下:
<HTML>
<HEAD>
<METANAME="GENERATOR"Content="oscar999">
</HEAD>
<script>
functionshowmodal()
{
varret=window.showModalDialog("sub.html?temp="+Math.random());
alert("subreturnvalueis"+ret);
}
</script>
<BODY>
<INPUTid=button1type=buttonvalue="opensub"name=button1onclick="showmodal();">
</BODY>
</HTML>
sub.html
<HTML>
<HEAD>
<METANAME="GENERATOR"Content="oscar999">
</HEAD>
<script>
functionreturnMain()
{
window.returnValue="returnfromsub";
window.close();
}
</script>
<BODY>
<INPUTid=button1type=buttonvalue="returnandclose"name=button1onclick="returnMain()">
</BODY>
</HTML>
這種目前只有IE可用,其它瀏覽器都不可用了
方式二:
採用其它js框架,彈出對話框的模式
⑵ 用JS怎樣強行打開新窗口.而不是新標簽
用showModelessDialog 可以強行打開窗口,否則的話都是打開新選項卡(ie6除外)
不過模態窗口打開後, focus是不能切換的, 就是說整個瀏覽器除這個模態窗口外 都不可操作。
你懂的
⑶ js彈出窗口,怎麼才能不被瀏覽器攔截
彈出框我了解這么幾種
1、alert,這種可設置瀏覽器方式選擇彈出
2、confirm
3、bootstrap的模態框,這種肯定不會被攔截