document.domain

admin發表於2019-07-23

document.domain屬性可以返回或者設定當前頁面所在域(注意不包括協議)。

通過此屬性可以在某些情況下實現跨域功能,具體參閱本版塊其他相關文章。

語法結構:

[JavaScript] 純文字檢視 複製程式碼
let domainString = document.domain;
document.domain = string;

可以看到document.domain是一個可讀寫屬性。

下面通過程式碼例項對屬性進行分析:

[JavaScript] 純文字檢視 複製程式碼
let antDomain = "www.softwhy.com";
if (document.domain == antDomain){
  console.log("螞蟻部落");
}

程式碼分析如下:

(1).antDomain變數賦值為"www.softwhy.com"。

(2).document.domain屬性預設狀態下可以返回當前頁面所在的域。

(3).然後進行比較,並進行對應的操作。

[JavaScript] 純文字檢視 複製程式碼
let URI="www.softwhy.com/article-10268-1.html";
document.domain=URI;

程式碼分析如下:

(1).在螞蟻部落網站首頁控制檯下執行上述程式碼。

(2).但是上面的程式碼會報錯。

(3).因為設定document.domain屬性值時,新域必須是當前域的上級。

(4).如果將URI值設定為"softwhy.com"就不會報錯。

判斷document.domain屬性值是否被修改:

由於document.domain值可以被重置,實際應用中可能需要判斷一下是否被重置。

採用如下程式碼可以輕鬆實現:

[JavaScript] 純文字檢視 複製程式碼
if(document.domain === location.hostname){
  console.log("沒有被重置");
}

通過上面的簡單程式碼即可實現判斷功能。