<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>

            Javascript實現跨域的要點分析

            時間:2024-05-19 07:16:31 JavaScript 我要投稿
            • 相關推薦

            Javascript實現跨域的要點分析

              document.domain用來得到當前網頁的域名。

              比如在地址欄里輸入:

              代碼如下:

              javascript:alert(document.domain); //

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

              比如:

              代碼如下:

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

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

              上面的賦值都是成功的,因為是當前的域名,而是基礎域名。

              但是下面的賦值就會出來"參數無效"的錯誤:

              代碼如下:

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

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

              因為與不是當前的域名也不是當前域名的基礎域名,所以會有錯誤出現。

              這是為了防止有人惡意修改document.domain來實現跨域偷取數據。

              利用document.domain 實現跨域:

              前提條件:這兩個域名必須屬于同一個基礎域名!而且所用的協議,端口都要一致,否則無法利用document.domain進行跨域

              Javascript出于對安全性的考慮,而禁止兩個或者多個不同域的頁面進行互相操作。

              相同域的頁面在相互操作的時候不會有任何問題。

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

              這時在a.html里面可以看到b.html里的內容,但是卻不能利用javascript來操作它。因為這兩個頁面屬于不同的域,在操作之前,js會檢測兩個頁面的域是否相等,如果相等,就允許其操作,如果不相等,就會拒絕操作。

              這里不可能把a.html與b.html利用JS改成同一個域的。因為它們的基礎域名不相等。(強制用JS將它們改成相等的域的話會報跟上面一樣的"參數無效錯誤。")

              所以如果在a.html里引入里的另一個網頁,是不會有這個問題的,因為域相等。

              有另一種情況,兩個子域名:

              aaa里的一個網頁(a.html)引入了bbb 里的一個網頁(b.html),

              這時a.html里同樣是不能操作b.html里面的內容的。

              因為document.domain不一樣,一個是,另一個是。

              這時我們就可以通過Javascript,將兩個頁面的domain改成一樣的,

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

              代碼如下:

              document.domain = "";

              這樣這兩個頁面就可以互相操作了。也就是實現了同一基礎域名之間的"跨域"。

            【Javascript實現跨域的要點分析】相關文章:

            javascript跨域訪問的方法07-09

            JavaScript實現網頁刷新代碼段08-07

            Javascript函數的定義和用法分析08-15

            javascript分析運算符用法08-07

            常用排序算法之JavaScript實現代碼段06-04

            JavaScript 小型打飛機游戲實現和原理說明08-18

            javascript閉包的定義及應用實例分析08-25

            有關javascript實現的多個層切換效果通用函數示例10-07

            關jQuery彈出窗口簡單實現代碼-javascript編程06-07

            JavaScript類定義原型方法的兩種實現的區別07-11

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院