Location對象常用知識

来源:http://www.cnblogs.com/jasmine-95/archive/2017/08/14/7346353.html
-Advertisement-
Play Games

產品終於上線,後期主要是優化了。在開發過程中用到了很多location對象的知識,趁現在有時間先整理一下。 Location 對象存儲在 Window 對象的 Location 屬性中,可通過window.location對其訪問,表示那個視窗中當前顯示的文檔的 Web 地址。它的 href 屬性存 ...


產品終於上線,後期主要是優化了。在開發過程中用到了很多location對象的知識,趁現在有時間先整理一下。


 

Location 對象存儲在 Window 對象的 Location 屬性中,可通過window.location對其訪問,表示那個視窗中當前顯示的文檔的 Web 地址。它的 href 屬性存放的是文檔的完整 URL,其他屬性則分別描述了 URL 的各個部分。

 

一、Location 對象屬性

屬性 描述
href 設置或返回完整的 URL。
host 設置或返回主機名和當前 URL 的埠號。
hash 設置或返回從井號 (#) 開始的 URL(錨)。如果地址里沒有“#”,則返回空字元串。
hostname 設置或返回當前 URL 的主機名。
pathname 設置或返回當前 URL 的路徑部分。
port 設置或返回當前 URL 的埠號。
protocol 設置或返回當前 URL 的協議。取值為 'http:','https:','file:' 等等。
search  設置或返回從問號 (?) 開始的 URL(查詢部分)。

 

 

 

 

 

 

 

 

 

 

 

 

 

使用實例:

(1)在利用ajax進行交互的時候,一般URL的功能變數名稱部分是一樣的,所以通常會在common.js裡面定義一個常量。

如果ajax訪問的URL的功能變數名稱和前端頁面訪問的功能變數名稱是一樣的,這個時候就可以利用location對象來動態獲取前端頁面訪問的功能變數名稱之後,再來定義這個公共常量。如下:

(網址為 :http://demo.emmaclub.com/wechat/index,那麼window.location.host 獲取的為 :demo.emmaclub.com)

 

 (2)在開發過程中,如果想要利用JavaScript代碼從當前頁跳轉到其他頁面,可以直接使用href屬性。

window.location.href = '';

 

還有一種跳轉方法是使用location對象的replace()方法。

 上述代碼相當於:

 

(3)區分上述屬性:

 

 

二、Location 對象方法

 

reload()方法其實相當於刷新,而replace(URL)方法則是相當於a標簽跳轉。

 

 


 

 這裡順便提一下URL的組成。

三、URL的組成

URL是Uniform Resource Location的縮寫,譯為“統一資源定位符”。通俗地說,URL是Internet上用來描述信息資源的字元串,主要用在各種WWW客戶程式和伺服器程式上,特別是著名的Mosaic。採用URL可以用一種統一的格式來描述各種信息資源,包括文件、伺服器的地址和目錄等。

URL的格式URL的格式大概由下列三部分組成: 
第一部分是協議(或稱為服務方式); 
第二部分是存有該資源的主機IP地址(有時也包括埠號); 
第三部分是主機資源的具體地址。,如目錄和文件名等。 
第一部分和第二部分之間用“://”符號隔開,第二部分和第三部分用“/”符號隔開。第一部分和第二部分是不可缺少的,第三部分有時可以省略。 

 

就以下麵這個URL為例,介紹下普通URL的各部分組成:

http://www.aspxfans.com:8080/news/index.asp?boardID=5&ID=24618&page=1#name

從上面的URL可以看出,一個完整的URL包括以下幾部分:
1.協議部分:該URL的協議部分為“http:”,這代表網頁使用的是HTTP協議。在Internet中可以使用多種協議,如HTTP,FTP等等本例中使用的是HTTP協議。在"HTTP"後面的“//”為分隔符

2.功能變數名稱部分:該URL的功能變數名稱部分為“www.aspxfans.com”。一個URL中,也可以使用IP地址作為功能變數名稱使用

3.埠部分:跟在功能變數名稱後面的是埠,功能變數名稱和埠之間使用“:”作為分隔符。埠不是一個URL必須的部分,如果省略埠部分,將採用預設埠

4.虛擬目錄部分:從功能變數名稱後的第一個“/”開始到最後一個“/”為止,是虛擬目錄部分。虛擬目錄也不是一個URL必須的部分。本例中的虛擬目錄是“/news/”

5.文件名部分:從功能變數名稱後的最後一個“/”開始到“?”為止,是文件名部分,如果沒有“?”,則是從功能變數名稱後的最後一個“/”開始到“#”為止,是文件部分,如果沒有“?”和“#”,那麼從功能變數名稱後的最後一個“/”開始到結束,都是文件名部分。本例中的文件名是“index.asp”。文件名部分也不是一個URL必須的部分,如果省略該部分,則使用預設的文件名

6.錨部分:從“#”開始到最後,都是錨部分。本例中的錨部分是“name”。錨部分也不是一個URL必須的部分

7.參數部分:從“?”開始到“#”為止之間的部分為參數部分,又稱搜索部分、查詢部分。本例中的參數部分為“boardID=5&ID=24618&page=1”。參數可以允許有多個參數,參數與參數之間用“&”作為分隔符。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Web Components是什麼 Web Components是一個聚集html,css,js的一個可復用組件。 這樣開發者就可以在網路上通過插件或組件的形式分享自己的代碼片段(具有獨立的功能),也可以理解成web組件或插件。 Web Components的組成要素 自定義元素 html模版 sh ...
  • 學rn得朋友們,你們知道rn開源項目嗎?來吧看這裡:http://www.marno.cn/(rn開源項目) React Native學習之路(9) - 註冊登錄驗證的實現 + (用Fetch實現post請求) + (倒計時驗證碼)+(父子組件通信)+(asyncStorage非同步存儲) +(Tex ...
  • 一、JavaScript介紹 前端三劍客之JavaScript,簡稱js,可能是這三個裡面最難的一個了。很早以前,市面上流通著三種js版本,為了統一,ECMA(歐洲電腦製造協會)定義了規範的版本,即EcmaScript。 事實上ECMAScript只是JavaScript的一部分,完整的JavaS ...
  • 對location進行梳理,平時用的時候都是用什麼看什麼,今天把location整理一下,方便查詢 location.assign('地址') 等同於 location.href = '地址' 和 window.location = '地址' 後兩者使用的時候,也是觸發assign()方法,進行跳轉 ...
  • 在MyEclipse中JSON字元串的換行值是不同的,必須以'/n'換行,如果只是json驗證的問題,可以把json的驗證關掉試試。點擊所在的項目->Project->Proterties->MyEclipse->Validation,把JSON Validator中的Manual和Build的對號 ...
  • 功能:添加事件/完成事件/刪除事件 ...
  • 1.事件冒泡: 2.獲取某個元素的CSS屬性值: ...
  • 一、事件基礎 PC:click、mouseover、mouseout、mouseenter、mouseleave、mousemove、mousedown、mouseup、mousewheel、keydown、keyup、load、scroll、blur、focus、change... 移動端:cli ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...