js中window對象詳解以及頁面跳轉


1.window.top.window.location = "index.asp";

2.window.top.location.href="index.asp"

3. window.top.location.replace("index.asp");

4. window.navigate("index.asp"); 

5.windows.open() //新窗口JS腳本可以用 windows.parent指向前一個窗體的引用訪問前一個窗口的屬性和方法;

6. window.history.go(-2);//這個速度最快,從本地緩存中讀取。但頁面數據可能不是最新

history.go(-1), 

history.back().

window.history.forward()

... ... 詳細history實現方法參見博文< js頁面跳轉 和 js打開新窗口方法>【http://blog.csdn.net/Henry_YQH/article/details/8530711】

------------------------------------

先解釋前綴屬性:

window:每個瀏覽器窗口及窗口框架都是由window對象表示的;應用程序中每個窗口都會創建一個window對象,為JS創建了一個獨立的執行環境,其中包含的重要屬性document

(文檔顯示結構),location(地址屬性),frames[ ](表單數組), history(歷史記錄), screen, navigator(瀏覽器屬性), top(最外層框架), parent(上一層框架), self, window(自引用屬性)

 ps: 默認代表的就是他的window屬性; 所以應該可以省略掉window關鍵字,我們的使用中就很少出現window關鍵字;

 

location:窗口的location屬性是一個Location對象,代表當前顯示文檔的URL;

locaiton的href屬性是一個字符串,包含完整的URL,其他屬性protocol, host, pathname和search(?之后的部分)等則分別聲明了URL的各個部分;直接取location的值實際取到的就是它的href一樣的值,因為它自帶了一個toString()方法;

可以把一個URL字符串直接復制給loation對象,作用是引起瀏覽器裝載這個URL頁面的內容,但是location對象本身並沒有一種方法可以用一個URL替換;但是js1.1之后有兩種方法:reload()會從webserver重新裝載當前界面;replace()會裝載並顯示指定的URL;但是為給定URL調用replace和把一個URL賦值給窗口的location不同,當調用replace時,指定的URL會替換瀏覽器歷史中的當前URL,而不是在歷史列表中創建一個新條目,如果用瀏覽器上的back按鈕,就可能無法回到原始文檔。

PS.個人使用中發現,起碼在chrome瀏覽器中,給location賦值和給location的href賦值,實現是有區別的,給location賦值,瀏覽器可能會做更多資源釋放的動作(具體問題個人博客贅述: http://blog.csdn.net/mrvinc/article/details/9733281)

---------------------------------------

另外還有一些服務器實現方法:

Response.Redirect()
這個的工作原理就是:客戶端輸入url,向服務器發一次請求,訪問到服務器,然后服務器響應返回一個跳轉的url到客戶端,然后瀏覽重定向(302),再像服務器發送一次請求,然后服務器根據請求,響應操作。實現這個過程中間訪問了兩次服務器,訪問是有時間的所以這個比較耗時間。
這個后台使用的跳轉方法實際上跳轉效率稍微低點,因為需要和服務器兩次交互才到目的頁面。

Server.Transfer()
這個的工作原理就是:客戶端輸入url,向服務器發一次請求,訪問到服務器,然后服務器響看你要訪問一個新得url,直接從服務器跳轉訪問,返回你想要顯示的。中間就訪問了一次服務器,瀏覽器的地址不發生改變。

 window.showModalDialog()打開子窗口方法;



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM