1. 程式人生 > >window.open() 開啟IE緩慢的原因

window.open() 開啟IE緩慢的原因

使用window.open()開啟子視窗的過程中,同個區域網內的機子,使用IE瀏覽器,但是開啟的速度卻不一樣.

有的很快,有的卻很慢.這肯定對客戶體驗不好.我們推測是js程式碼的原因,於是上網查詢
網上有的人說不使用第二個引數,即彈出視窗的名字設定為"" 或者"_blank"
照著這實驗,沒有任何改善.
將window.open() 改成 window.showModalDialog() 開啟視窗的速度卻很快
最後發現,是IE瀏覽器本身開啟速度的原因. 開啟子視窗快的機子,開啟IE瀏覽器速度也快. 而開啟子窗

口慢的機子都是開啟IE瀏覽器緩慢.
window.open() 的原理是重新開啟一個視窗,(感覺相當於機子重啟)

而window.showModalDialog()是在當前父頁面上開啟一個視窗(感覺就像是機子登出)
從IE下手  工具 -- 管理載入項 -- 把已啟用的載入項挨個禁用除錯.發現是sun 公司出的java相關的加

載項導致瀏覽器載入緩慢. 將其禁用之後再測試window.open() 開啟速度立馬飛昇!

<SCRIPT LANGUAGE="javascript"> 
<!-- 
window.open('page.html', 'newwindow', 'height=100, width=400, top=0,left=0, toolbar=no,

menubar=no, scrollbars=no, resizable=no,location=no, status=no') 
//寫成一行 
--> 
</SCRIPT>
引數解釋:
<SCRIPT LANGUAGE="javascript"> js指令碼開始;
window.open 彈出新視窗的命令;
'page.html' 彈出視窗的檔名;
'newwindow' 彈出視窗的名字(不是檔名),非必須,可用空''代替;
height=100 視窗高度;
width=400 視窗寬度;
top=0 視窗距離螢幕上方的象素值;
left=0 視窗距離螢幕左側的象素值;
toolbar=no 是否顯示工具欄,yes為顯示;
menubar,scrollbars 表示選單欄和滾動欄。
Resizable=no 是否允許改變視窗大小,yes為允許;
location=no 是否顯示位址列,yes為允許;
status=no 是否顯示狀態列內的資訊(通常是檔案已經開啟),yes為允許;
</SCRIPT> js指令碼結束

-----------------------------使用總結-------------------------
模式窗體
var returnval=window.showModalDialog(url,window,"dialogWidth=220px;dialogHeight=530px");
注意第2個引數傳遞為window作用是可在彈出的窗體中訪問父窗口裡面的屬性或方法,訪問形式如下:
dialogArguments.parentfun(){};
returnvalue是一個返回數值,不能是文件物件,而是一個簡單的Javascript物件(String,Date...)
window.returnValue="123";那麼returnval的數值是123

open彈出的窗體
var obj=window.open

(url,'','location=no,menubar=no,scroll=yes,height=756px,width=940px,resizable=no,status=yes

');
訪問父頁面方法:如下:
window.opener.parfun(){}
注意obj是對彈出的窗體的一個引用,可以呼叫obj.close()方法關閉彈出的窗體.

相關推薦

window.open() 開啟IE緩慢原因

使用window.open()開啟子視窗的過程中,同個區域網內的機子,使用IE瀏覽器,但是開啟的速度卻不一樣. 有的很快,有的卻很慢.這肯定對客戶體驗不好.我們推測是js程式碼的原因,於是上網查詢網上有的人說不使用第二個引數,即彈出視窗的名字設定為"" 或者"_blank"照

IE 下使用window.open() 開啟同一頁面,第二次的時候不自動跳轉解決方法

解決方法 定義一個全域性變數記錄window.open()開啟的窗體 如過該變數被記錄過,則先關閉該視窗,然後再次開啟新視窗即可 eg: /*記錄當前開啟的窗體/ var showDocContentWindow; function showCivilD

window.openIE下ajax中的相容性

問題:在ajax中window.open在IE下會彈出瀏覽器阻止視窗的問題,進而不再執行window.open開啟新tab頁的方法 解決方法: 在ajax方法之前加上: windowOpenHandler = window.open("/loading-tips.html"); //

window.open()開啟頁面的幾種方法

[javascript]   view plain  copy 主要原理:讓瀏覽器以為是使用者主動點選的,因此可以利用onclick或者利用<a>標籤的_blank屬性開啟頁面&nbs

window.open開啟視窗的幾種方式

1. 在當前視窗開啟百度,並且使URL地址出現在搜尋欄中. window.open("http://www.baidu.com/", "_search"); window.open("http://www.baidu.com/", "_self");   2. 在一個新的視窗開啟百度 wi

python open開啟檔案失敗原因及解決辦法

1.問題:   今天遇到一個問題,在使用絕對路徑open(filename,mode)時失敗   程式碼如下:   try:     source=open('D:\eclipse-workspace\AcrSoftware\data\filename.txt','r

幾個主流瀏覽器 Window.open開啟新視窗 、模擬a標籤開啟新視窗的 表現

Window.open開啟新視窗 1、常用瀏覽器開啟新視窗(正常開啟window.open)的的不同表現形式(PC/移動端) 2、Window.open在非同步處理中開啟(_blank) a標籤在非同步處理中開啟 -公眾號跳轉的微信瀏覽器都是單視窗多頁面開啟,沒有tab頁,詳情頁返回都會重新

window.open 開啟視窗最大化。。。

最近在做專案的時候用到了彈出視窗,並且彈出視窗要求最大化處理,在網上搜了一些關於彈出視窗的例子,都不行,後來找到了解決問題的方法: 一下是普通彈出視窗的例子:  <SCRIPT LANGUAGE="javascript">   <!--   wi

window open 開啟視窗的幾種方式

                1. 在當前視窗開啟百度,並且使URL地址出現在搜尋欄中. window.open("http

window.open開啟新視窗被瀏覽器攔截的處理方法

window.open是javascript函式,該函式的作用是開啟一個新視窗或這改變原來的視窗,如果你直接在js中呼叫window.open()函式去開啟一個新視窗,瀏覽器會攔截你,那麼如何避免呢。 注意,只有直接使用js呼叫 window.open(url); 開啟新視窗時,才會被攔截,如果是改變原理額

關於window.open()開啟新頁面會彈出Object頁面的幾點說明

 1.如果是在前臺用超連結如<a href="javascript:window.open('webAdress.aspx ')"></a>開啟新頁面時會彈出一個內容頁為object的頁面,解決方案是呼叫下面的OpenWin()可以防止這種現象<

window.open開啟一個新視窗/子視窗中呼叫父視窗的方法

window.open 只打開一個視窗是將      oNewWindow   =   window   .   open   (   sURL   ,   sName   ,   sFeatures   ,   bReplace   ) 中的sName 設定成一個固定值,如果有框架的話設定成“_top”

解決模式對話方塊和window.open開啟新頁面Session會丟失問題

模式對話方塊頁面通過超連結(_blank類)或window.open開啟新頁面Session會丟失 解決方法如下: 在使用showModalDialog時會經常出現Session失效的問題,尤其是在這樣的使用情況下: 首先window. showModalDialog,然後

WPF WebBrowser 使用window.open()開啟 新視窗相關問題的解決

WPF 中使用WebBrowser控制元件 開啟Web站點。如果Web 頁面中 使用Window.Open 開啟新視窗,那麼新視窗將使用一個新的Session. 因為新視窗 和 父視窗不共享cookie. 在網上找了很多,沒有比較好的解決方法。 後來嘗試了Window.s

JavaScript中的window.open()開啟一個新的網頁

      一、window.open()支援環境: JavaScript1.0+/JScript1.0+/Nav2+/IE3+/Opera3+ 二、基本語法: window.open(pageURL,name,parameters)  其中: pageURL 為子視窗路徑  name 為子視窗控制代碼  p

window.open 開啟是空白頁面

眾所周知,FireFox為了支援web標準,在1.1版以後就取消了對模式對話方塊的支援。即:window.showModalDialog()。但是我們有時在製作網頁的時候想增強使用者體驗性,想使用這個功能怎麼辦?我們先來分析一下實現模式對話方塊的原理,我們在IE的模式對話方塊

window.open()開啟視窗的幾種方式

1. 在當前視窗開啟百度,並且使URL地址出現在搜尋欄中. 2. 在一個新的視窗開啟百度 3. 開啟一個新的視窗,並命名為"hello" window.open("", "hello"); 另外, open函式的第二個引數還有幾種選擇: _top : 如果頁面上有

window.open 開啟的子視窗 閃一下即自動關閉問題

遇到個小問題,使用window.open(url)開啟一個子視窗,其中url是個excel檔案,子視窗開啟後,閃一下即自行關閉。 原因:貌似因為開啟的是excel檔案,需要呼叫本地office工具,違反IE安全機制? 解決:1、將站點設為可信任的站點 2、使用iframe開啟

window.open開啟一個視窗,關閉後再開啟此視窗失效

一個表格上有許多列,雙擊每一列,開啟一個視窗顯示明細。但是關閉這個視窗之後,再想開啟這個視窗,怎麼點都沒有反應。在程式碼裡面加alert,發現第二次開啟時,執行到open時,直接就跳過去了。然後在網上一查,才知道window.open()不能重複開啟同一個名字的視窗。比如w

window.open開啟視窗被攔截的快速解決方法

window.open是javascript函式,該函式的作用是開啟一個新視窗或這改變原來的視窗,不過一般用來的是開啟新視窗,因為修改原來的網頁地址,可以有另一個函式,那就是window.location,他可以重定向網頁地址,使網頁跳轉到另一個頁面。 我現在要說的是wi