一般點擊打開新窗口,有幾種方式:
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改爲同步,不然彈出的窗口會在新窗口中打開,而且沒有工具欄和地址欄的