<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

    主站蜘蛛池模板: 最新精品露脸国产在线| 国产精品美女一区二区视频| 久久久久久久久无码精品亚洲日韩| 国产成人精品综合久久久| 国产伦精品免编号公布| 色偷偷88欧美精品久久久| 2024国产精品极品色在线| 国内精品久久久久影院日本| 久久久久久国产精品免费免费| 久久er国产精品免费观看2| 日韩人妻精品无码一区二区三区| 精品人妻伦九区久久AAA片69| 欧美日韩精品一区二区在线播放| 欧美亚洲色综久久精品国产| 免费视频精品一区二区| 国产精品乱伦| 真实国产乱子伦精品免费| 丰满人妻熟妇乱又仑精品| 婷婷精品国产亚洲AV麻豆不片| 精品国产不卡一区二区三区| 精品久久久久久亚洲| 99久久er这里只有精品18| 日韩精品无码久久久久久| 夜夜爽一区二区三区精品| 久久精品夜色噜噜亚洲A∨| 国产精品无码一区二区在线观一| 一本大道久久a久久精品综合| www.99精品| 99精品视频在线观看re| 精品亚洲成AV人在线观看| 精品无码一区二区三区爱欲| 日产欧美国产日韩精品| 无码人妻精品一区二区三区久久久| 四虎国产精品永久在线无码| 麻豆国产精品VA在线观看不卡 | 久久国产精品国产自线拍免费| 无码人妻精品一区二区三| 亚洲精品视频在线看| 中文国产成人精品久久不卡| 亚洲精品无码国产| 无码国内精品人妻少妇|