javascript之BOM的location對象

location對象

location是最有用的 BOM 對象之一,它提供了與當前窗口中加載的文檔有關的信息,還提供了一些導航功能。 

location對象是很特別的一個對象,因爲它既是 window對象的屬性,也是document 對象的屬性;換句話說, window.locationdocument.location引用的是同一個對象。

location 對象的用處不只表現在它保存着當前文檔的信息,還表現在它將URL 解析爲獨立的片段,讓開發人員可以通過不同的屬性訪問這些片段。 


獲得URL包含的查詢字符串的屬性
<script>
        function getQueryStringArgs() {
            var qs = (location.search.length > 0 ? location.search.substring(1) : "");

            args = {};
            items = qs.length ? qs.split("&") : [];
            item = null;
            name = null;
            value = null;

            i = 0;
            len = items.length;

            for(i = 0; i < len;i++){
                item = items[i].split("=");
                name = decodeURIComponent(item[0]);
                value = decodeURIComponent(item[1]);

                if(name.length){
                    args[name] = value;
                }
            }

            return args;
        }
</script>

使用location對象改變瀏覽器的位置。
假設現要將瀏覽器位置定位爲URL爲http://www.wrox.com的位置。
方式一:location.assign("http://www.wrox.com");
方式二:window.location ="http://www.wrox.com";
方式三:location.href = "http://www.wrox.com";//最常用
方式四:修改location對象的屬性(hash、search、hostname、pathname和port);
方式五:location.replace("http://www.wrox.com");//這種方式與之前四種的區別是,前面四種方式修改URL之後,瀏覽器的歷史記錄中就會生成一條新記錄,而replace方法中,改變了瀏覽器的位置,但是用戶不能回到前一個頁面。

reload()方法 
作用:重新加載當前顯示的頁面。當不傳入任何參數時,如果頁面自上次請求以來沒有改變過,頁面就會從瀏覽器緩存中重新加載。如果是強制從服務器重新加載,則需要傳入參數true。
位於reload()調用之後的代碼可能會也可能不會執行,這要取決於網絡延遲或系統資源等因素。所以,最好將reload放在代碼的最後一行。
 






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章