<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • Javascript實(shí)現(xiàn)跨域的要點(diǎn)分析

    時(shí)間:2024-05-19 07:16:31 JavaScript 我要投稿
    • 相關(guān)推薦

    Javascript實(shí)現(xiàn)跨域的要點(diǎn)分析

      document.domain用來(lái)得到當(dāng)前網(wǎng)頁(yè)的域名。

      比如在地址欄里輸入:

      代碼如下:

      javascript:alert(document.domain); //

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

      比如:

      代碼如下:

      javascript:alert(document.domain = ""); //

      javascript:alert(document.domain = ""); //

      上面的賦值都是成功的,因?yàn)槭钱?dāng)前的域名,而是基礎(chǔ)域名。

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

      代碼如下:

      javascript:alert(document.domain = ""); //參數(shù)無(wú)效

      javascript:alert(document.domain = ""); //參數(shù)無(wú)效

      因?yàn)榕c不是當(dāng)前的域名也不是當(dāng)前域名的基礎(chǔ)域名,所以會(huì)有錯(cuò)誤出現(xiàn)。

      這是為了防止有人惡意修改document.domain來(lái)實(shí)現(xiàn)跨域偷取數(shù)據(jù)。

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

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

      Javascript出于對(duì)安全性的考慮,而禁止兩個(gè)或者多個(gè)不同域的頁(yè)面進(jìn)行互相操作。

      相同域的頁(yè)面在相互操作的時(shí)候不會(huì)有任何問(wèn)題。

      比如在:的一個(gè)網(wǎng)頁(yè)(a.html)里面 利用iframe引入了一個(gè)里的一個(gè)網(wǎng)頁(yè)(b.html)。

      這時(shí)在a.html里面可以看到b.html里的內(nèi)容,但是卻不能利用javascript來(lái)操作它。因?yàn)檫@兩個(gè)頁(yè)面屬于不同的域,在操作之前,js會(huì)檢測(cè)兩個(gè)頁(yè)面的域是否相等,如果相等,就允許其操作,如果不相等,就會(huì)拒絕操作。

      這里不可能把a(bǔ).html與b.html利用JS改成同一個(gè)域的。因?yàn)樗鼈兊幕A(chǔ)域名不相等。(強(qiáng)制用JS將它們改成相等的域的話會(huì)報(bào)跟上面一樣的"參數(shù)無(wú)效錯(cuò)誤。")

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

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

      aaa里的一個(gè)網(wǎng)頁(yè)(a.html)引入了bbb 里的一個(gè)網(wǎng)頁(yè)(b.html),

      這時(shí)a.html里同樣是不能操作b.html里面的內(nèi)容的。

      因?yàn)閐ocument.domain不一樣,一個(gè)是,另一個(gè)是。

      這時(shí)我們就可以通過(guò)Javascript,將兩個(gè)頁(yè)面的domain改成一樣的,

      需要在a.html里與b.html里都加入:

      代碼如下:

      document.domain = "";

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

    【Javascript實(shí)現(xiàn)跨域的要點(diǎn)分析】相關(guān)文章:

    javascript跨域訪問(wèn)的方法07-09

    JavaScript實(shí)現(xiàn)網(wǎng)頁(yè)刷新代碼段08-07

    Javascript函數(shù)的定義和用法分析08-15

    javascript分析運(yùn)算符用法08-07

    常用排序算法之JavaScript實(shí)現(xiàn)代碼段06-04

    JavaScript 小型打飛機(jī)游戲?qū)崿F(xiàn)和原理說(shuō)明08-18

    javascript閉包的定義及應(yīng)用實(shí)例分析08-25

    有關(guān)javascript實(shí)現(xiàn)的多個(gè)層切換效果通用函數(shù)示例10-07

    關(guān)jQuery彈出窗口簡(jiǎn)單實(shí)現(xiàn)代碼-javascript編程06-07

    JavaScript類定義原型方法的兩種實(shí)現(xiàn)的區(qū)別07-11

    主站蜘蛛池模板: 乱精品一区字幕二区| 国产精品美女一区二区视频| 无码日韩精品一区二区免费| 国产精品美女久久久免费| 精品国产第一国产综合精品 | 亚洲精品乱码久久久久久自慰| 亚洲欧美日韩精品| 成人区人妻精品一区二区不卡视频| 亚洲午夜成人精品电影在线观看| 国产精品无码久久综合网| 国产精品亚洲片夜色在线| 国内精品久久久久影院优| 少妇人妻无码精品视频| 亚洲国产精品无码久久九九| 黑巨人与欧美精品一区 | 国产免费久久精品99久久| 国产精品亚韩精品无码a在线| 国产精品自在线拍国产第一页| 国产免费久久精品99久久| 九九精品成人免费国产片| 久久久久99精品成人片直播| 亚洲精品无码成人片久久| 日韩精品亚洲专区在线观看| 国产精品福利区一区二区三区四区| 99精品高清视频一区二区| 精品国产sm捆绑最大网免费站| 亚洲国产精品无码专区影院| 亚洲精品NV久久久久久久久久| 久久夜色撩人精品国产| 久久精品中文字幕有码| 久久久久亚洲精品中文字幕 | 国产精品免费看久久久香蕉| 亚洲精品高清视频| 亚洲视频精品在线| 欧美精品人爱c欧美精品| 精品久久久久久亚洲| 九九在线精品视频专区| 欧美精品亚洲精品日韩1818| 久久精品国产精品青草| 亚洲一二成人精品区| 国产精品欧美久久久久无广告 |