この記事の例では、PHP での window.name ajax クロスドメイン ソリューションについて説明します。参考のために皆さんと共有してください。詳細は次のとおりです:
基本原則: ウィンドウ オブジェクトの name 属性は非常に特殊な属性です。ウィンドウの位置が変更されて再ロードされると、その名前は変わります。属性は変更しないままにすることができます。
この原則に従って、ページ A で iframe を使用して他のドメインのページ B をロードし、ページ B で JavaScript を使用して、渡す必要があるデータを window.name に割り当てることができます。ページ A がロードされ、ページ A が iframe のアドレスを変更して同じドメイン内のアドレスに変更すると、window.name の値を読み取ることができます。
関連する学習に関する推奨事項: php プログラミング (ビデオ)
例: 2 つの Web サイト www.a.com があります。 www.b.com の場合、www.a.com/a.html の下にある www.b.com/data.html データを取得したいと考えています。
3 つのファイルが必要です。データを取得するには www.a.com の
a.html、データを提供するには www.b.com の
data.html を表示します。
www.a.com にある proxy.html プロキシ ファイルは、a.html と同じドメイン内にあり、通常は空の HTML ファイルです。
www.b.com の data.html は次のとおりです:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <script type="text/javascript"> //添加需要传递的数据,大小一般为2M,IE和firefox下可以大至32M左右 window.name = '[{"name":"test1"},{"name":"test2"}]'; </script> </body> </html>
www.a.com の proxy.html は次のとおりです:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <!-- 空的html文件 --> </body> </html>
www.a .com の下の a.html は次のとおりです。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <!-- 用于引用www.b.com/data.html文件 --> <iframe id="iframe" src=""></iframe> <!-- 显示获取到的数据 --> <p id="data"></p> <script type="text/javascript" src="./jquery.js"></script> <script type="text/javascript"> var ifr = document.getElementById("iframe"); ifr.src = "http://www.b.com/data.html"; if (ifr.attachEvent) { ifr.attachEvent("onload", loadfunc); } else { ifr.onload = loadfunc; } var state = 0; function loadfunc() { if(state == 0) { state = 1; ifr.contentWindow.location = "http://www.a.com/proxy.html"; } else { var data = ifr.contentWindow.name; $.each($.parseJSON(data), function(i, v) { $("#data").append(v.name); }); //销毁iframe,保证安全 ifr.contentWindow.document.write(""); ifr.contentWindow.close(); document.body.removeChild(ifr); } } </script> </body> </html>
関連ビデオの推奨事項: PHP プログラミングの入門から熟練度まで
以上がPHP での Ajax クロスドメイン ソリューション - window.name の分析例の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。