一般點選打開新視窗,有幾種方式:
1、超連結a 有href屬性、target為_blank
2、iframe,其target為_blank
3、window.open<可能會被攔截,看使用者的浏覽器安全設定>
4、form表單送出,同樣target也必須設為_blank
現在遇到一個需求:
做了一個背景運維管理系統<前台頁面基于Extjs進行開發>,在點選datagrid頭部一個按鈕,需要打開一個新視窗
因為extjs運作效率比較低,是以選擇使用chrome通路系統,而在操作些按鈕的時候發現很多很奇特的現象,這些現象隻出現在chrome中:
1、打開一個視窗後,些視窗不關閉,将無法打開多個視窗,即使原有視窗關閉
打開視窗的方式:window.open、form送出、iframe--表現上一緻
2、頁面中原本就有一個form,每次操作就修改裡面一個參數,設定其值為随機數,亦不行
改用window.open還發現一個問題,就是彈出的視窗是沒有工具欄和位址欄的,且不在新頁籤中打開
後來搜尋到一篇文章,有所啟發,就有了如下的代碼:
var nwin = window.open();
nwin.location = ‘xxxx’;//需要打開的位址
如果使用ajax請求位址後面的參數的話,需要将ajax改為同步,不然彈出的視窗會在新視窗中打開,而且沒有工具欄和位址欄的