• <sub id="h4knl"><ol id="h4knl"></ol></sub>
    <sup id="h4knl"></sup>
      <sub id="h4knl"></sub>

      <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
      1. <strong id="h4knl"></strong>

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

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

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

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

          比如在地址欄里輸入:

          代碼如下:

          javascript:alert(document.domain); //

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

          比如:

          代碼如下:

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

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

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

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

          代碼如下:

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

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

          因?yàn)榕c不是當(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ì)有任何問題。

          比如在:的一個(gè)網(wǎng)頁(a.html)里面 利用iframe引入了一個(gè)里的一個(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里引入里的另一個(gè)網(wǎng)頁,是不會(huì)有這個(gè)問題的,因?yàn)橛蛳嗟取?/p>

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

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

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

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

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

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

          代碼如下:

          document.domain = "";

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

        《&.doc》
        将本文的Word文档下载到电脑,方便收藏和打印
        推荐度:
        点击下载文档

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

        javascript跨域訪問的方法07-09

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

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

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

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

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

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

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

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

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

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码
      3. <sub id="h4knl"><ol id="h4knl"></ol></sub>
        <sup id="h4knl"></sup>
          <sub id="h4knl"></sub>

          <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
          1. <strong id="h4knl"></strong>

          2. 亚洲色一色噜一噜噜噜人与 | 亚洲精品福利网站 | 亚洲一区二区制服在线 | 日本欧美另类视频在线 | 亚洲日韩精品综合中文字幕 | 亚州国产欧美一区二区三区 |

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

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

              比如在地址欄里輸入:

              代碼如下:

              javascript:alert(document.domain); //

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

              比如:

              代碼如下:

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

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

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

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

              代碼如下:

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

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

              因?yàn)榕c不是當(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ì)有任何問題。

              比如在:的一個(gè)網(wǎng)頁(a.html)里面 利用iframe引入了一個(gè)里的一個(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里引入里的另一個(gè)網(wǎng)頁,是不會(huì)有這個(gè)問題的,因?yàn)橛蛳嗟取?/p>

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

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

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

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

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

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

              代碼如下:

              document.domain = "";

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