亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

js設(shè)置document.domain實(shí)現(xiàn)跨域的注意點(diǎn)分析

 更新時(shí)間:2015年05月21日 11:43:01   作者:yaoyuan_difang  
這篇文章主要介紹了js設(shè)置document.domain實(shí)現(xiàn)跨域的注意點(diǎn),較為詳細(xì)的分析了document.domain跨域的相關(guān)技巧,需要的朋友可以參考下

本文實(shí)例分析了js設(shè)置document.domain實(shí)現(xiàn)跨域的注意點(diǎn)。分享給大家供大家參考。具體分析如下:

document.domain
用來得到當(dāng)前網(wǎng)頁的域名。
比如在地址欄里輸入:

復(fù)制代碼 代碼如下:
javascript:alert(document.domain); //chabaoo.cn

我們也可以給document.domain屬性賦值,不過是有限制的,你只能賦成當(dāng)前的域名或者基礎(chǔ)域名。
比如:

復(fù)制代碼 代碼如下:
javascript:alert(document.domain = "jb51.net"); //jb51.net
javascript:alert(document.domain = "chabaoo.cn"); //chabaoo.cn

上面的賦值都是成功的,因?yàn)閏habaoo.cn是當(dāng)前的域名,而jb51.net是基礎(chǔ)域名。

但是下面的賦值就會(huì)出來"參數(shù)無效"的錯(cuò)誤:

復(fù)制代碼 代碼如下:
javascript:alert(document.domain = "cctv.net"); //參數(shù)無效
javascript:alert(document.domain = "chabaoo.cn"); //參數(shù)無效

因?yàn)閏ctv.net與chabaoo.cn不是當(dāng)前的域名也不是當(dāng)前域名的基礎(chǔ)域名,所以會(huì)有錯(cuò)誤出現(xiàn)。
這是為了防止有人惡意修改document.domain來實(shí)現(xiàn)跨域偷取數(shù)據(jù)。

利用document.domain 實(shí)現(xiàn)跨域:

前提條件:這兩個(gè)域名必須屬于同一個(gè)基礎(chǔ)域名!而且所用的協(xié)議,端口都要一致,否則無法利用document.domain進(jìn)行跨域

Javascript出于對(duì)安全性的考慮,而禁止兩個(gè)或者多個(gè)不同域的頁面進(jìn)行互相操作。
相同域的頁面在相互操作的時(shí)候不會(huì)有任何問題。

比如在:aaa.com的一個(gè)網(wǎng)頁(a.html)里面 利用iframe引入了一個(gè)bbb.com里的一個(gè)網(wǎng)頁(b.html)。
這時(shí)在a.html里面可以看到b.html里的內(nèi)容,但是卻不能利用javascript來操作它。因?yàn)檫@兩個(gè)頁面屬于不同的域,在操作之前,js會(huì)檢測(cè)兩個(gè)頁面的域是否相等,如果相等,就允許其操作,如果不相等,就會(huì)拒絕操作。
這里不可能把a(bǔ).html與b.html利用JS改成同一個(gè)域的。因?yàn)樗鼈兊幕A(chǔ)域名不相等。(強(qiáng)制用JS將它們改成相等的域的話會(huì)報(bào)跟上面一樣的"參數(shù)無效錯(cuò)誤。")

所以如果在a.html里引入aaa.com里的另一個(gè)網(wǎng)頁,是不會(huì)有這個(gè)問題的,因?yàn)橛蛳嗟取?/p>

有另一種情況,兩個(gè)子域名:

aaa.xxx.com
bbb.xxx.com

aaa里的一個(gè)網(wǎng)頁(a.html)引入了bbb 里的一個(gè)網(wǎng)頁(b.html),
這時(shí)a.html里同樣是不能操作b.html里面的內(nèi)容的。
因?yàn)閐ocument.domain不一樣,一個(gè)是aaa.xxx.com,另一個(gè)是bbb.xxx.com。

這時(shí)我們就可以通過Javascript,將兩個(gè)頁面的domain改成一樣的,
需要在a.html里與b.html里都加入:

復(fù)制代碼 代碼如下:
document.domain = "xxx.com";

這樣這兩個(gè)頁面就可以互相操作了。也就是實(shí)現(xiàn)了同一基礎(chǔ)域名之間的"跨域"。

希望本文所述對(duì)大家的javascript程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論