<ruby id="bdb3f"></ruby>

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

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                在做項目時,遇到了操作iframe的相關問題。業務很簡單,其實就是在操作iframe內部某個窗體時,調用父窗體的一個函數。于是就寫了兩個很簡單的htm頁面用來測試,使用網上流行的方法在谷歌瀏覽器中始終報錯,不能通過。 父頁面parent.html的代碼如下 ~~~ <html xmlns="http://www.w3.org/1999/xhtml"> <head><title> </title> <script src="jquery-1.10.1.min.js" type="text/javascript"></script> <script type="text/javascript"> function ParentFunction() { alert('ParentFunction'); } </script></head> <body> <input type="button" id="btnCancel" class="button" value="測試" /> <iframe id="FRMdetail" name="FRMdetail" frameborder="0" src='child.html' style="width:100%;height:100%;" ></iframe> </body> </html> ~~~ 子頁面child.html的代碼如下 ~~~ <html xmlns="http://www.w3.org/1999/xhtml"> <head><title> </title> <script src="jquery-1.10.1.min.js" type="text/javascript"></script> <script type="text/javascript"> $(document).ready(function () { $("#btnTest").click(function (e) { var t=window.parent; t.ParentFunction(); }); }) </script></head> <body> <input type="button" id="btnTest" class="button" value="應該獲取的值" />rrr </body> </html> ~~~ 網絡上流行的方法?var t=window.parent;t.ParentFunction();在IE中能調用,可是在谷歌瀏覽器中總是提示如下錯誤, Blocked a frame with origin "null" from accessing a frame with origin "null". Protocols, domains, and ports must match. 網上找了很長時間都沒法發現方法,有的也是很早以前的版本,基本上沒用了,而且人云亦云,基本上沒有測試過。于是自己摸索,后來才發現,谷歌瀏覽器其實那種方法其實也可以,只是很奇怪,必須發布后才可以,在文件系統中調用,就會出現上邊的錯誤。 其實還有一種html5的方法postMessage,于是就根據著進行了改寫,最終代碼如下: 父頁面parent.html的代碼如下 ~~~ <html xmlns="http://www.w3.org/1999/xhtml"> <head><title> </title> <script src="jquery-1.10.1.min.js" type="text/javascript"></script> <script type="text/javascript"> this.ParentFunction= function() {//和注釋掉的方法是一樣的,也就是說加不加this都是一樣的,因為此處的this就是windows alert('ParentFunction'); } // function ParentFunction() { // alert('ParentFunction'); // } function receiveMessage(e) { var data = e.data; if(data=="ParentFunction") { ParentFunction() ; } } if (typeof window.addEventListener != 'undefined') {//使用html5 的postMessage必須處理的 window.addEventListener('message', receiveMessage, false); } else if (typeof window.attachEvent != 'undefined') { window.attachEvent('onmessage', receiveMessage); } </script></head> <body> <input type="button" id="btnCancel" class="button" value="測試" /> <iframe id="FRMdetail" name="FRMdetail" frameborder="0" src='child.html' style="width:100%;height:100%;" ></iframe> </body> </html> ~~~ 子頁面child.html的代碼如下 ~~~ <html xmlns="http://www.w3.org/1999/xhtml"> <head><title> </title> <script src="jquery-1.10.1.min.js" type="text/javascript"></script> <script type="text/javascript"> $(document).ready(function () { $("#btnTest").click(function (e) { var t=window.parent;//?var t = window.opener; if(!t.ParentFunction)//在不支持時,使用html5 的postMessage方法 { t.postMessage("ParentFunction", '*'); } else { t.ParentFunction(); } }); }) </script></head> <body> <input type="button" id="btnTest" class="button" value="應該獲取的值" />rrr </body> </html> ~~~ **經過改寫后,在文件系統中雖然也會出現那個錯誤,但需要調用的方法確實調用了,目的確實達到了,不影響使用了。**
                  <ruby id="bdb3f"></ruby>

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

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看