{"id":4814,"date":"2016-02-26T09:11:06","date_gmt":"2016-02-26T01:11:06","guid":{"rendered":"https:\/\/sdeno.com\/?p=4814"},"modified":"2016-02-26T09:11:06","modified_gmt":"2016-02-26T01:11:06","slug":"%e6%b5%85%e8%b0%88web%e8%b7%a8%e5%9f%9f%e7%9a%84%e5%ae%9e%e7%8e%b0%ef%bc%88%e5%89%8d%e7%ab%af%e5%90%91%ef%bc%89","status":"publish","type":"post","link":"https:\/\/sdeno.com\/?p=4814","title":{"rendered":"\u6d45\u8c08WEB\u8de8\u57df\u7684\u5b9e\u73b0\uff08\u524d\u7aef\u5411\uff09"},"content":{"rendered":"<p>\u540c\u6e90\u7b56\u7565\/SOP\uff08Same origin policy\uff09\u662f\u4e00\u79cd\u7ea6\u5b9a\uff0c\u5b83\u662f\u6d4f\u89c8\u5668\u6700\u6838\u5fc3\u4e5f\u6700\u57fa\u672c\u7684\u5b89\u5168\u529f\u80fd\uff0c\u5982\u679c\u7f3a\u5c11\u4e86\u540c\u6e90\u7b56\u7565\uff0c\u6d4f\u89c8\u5668\u5f88\u5bb9\u6613\u53d7\u5230XSS\u3001CSFR\u7b49\u653b\u51fb\uff08\u53ef\u4ee5\u53c2\u8003\u6211\u7684<a style=\"color: #4183c4;\" href=\"http:\/\/www.cnblogs.com\/vajoy\/p\/4176908.html\" target=\"_blank\">\u8fd9\u7bc7\u6587\u7ae0<\/a>\uff09\u3002<\/p>\n<p>SOP\u8981\u6c42\u4e24\u4e2a\u901a\u8baf\u5730\u5740\u7684<strong>\u534f\u8bae<\/strong>\u3001<strong>\u57df\u540d<\/strong>\u3001<strong>\u7aef\u53e3\u53f7<\/strong>\u5fc5\u987b\u76f8\u540c\uff0c\u5426\u5219\u4e24\u4e2a\u5730\u5740\u7684\u901a\u8baf\u5c06\u88ab\u6d4f\u89c8\u5668\u89c6\u4e3a\u4e0d\u5b89\u5168\u7684\uff0c\u5e76\u88abblock\u4e0b\u6765\u3002\u6bd4\u5982\u201chttp\u9875\u9762\u201d\u548c\u201chttps\u9875\u9762\u201d\u5c5e\u4e8e\u4e0d\u540c\u534f\u8bae\uff1b\u201cqq.com\u201d\u3001\u201cwww.qq.com\u201d\u3001\u201ca.qq.com\u201d\u90fd\u5c5e\u4e8e\u4e0d\u540c\u57df\u540d\uff08\u6216\u4e3b\u673a\uff09\uff1b\u201ca.com\u201d\u548c\u201ca.com:8000\u201d\u5c5e\u4e8e\u4e0d\u540c\u7aef\u53e3\u53f7\u3002\u8fd9\u4e09\u79cd\u60c5\u51b5\u5e38\u89c4\u90fd\u662f\u65e0\u6cd5\u76f4\u63a5\u8fdb\u884c\u901a\u8baf\u7684\u3002<\/p>\n<p>\u6211\u4eec\u5f88\u5bb9\u6613\u6a21\u62df\u4e0d\u540c\u6e90\u7684\u73af\u5883\uff0c\u7528iframe\u6765\u5e2e\u5fd9\u5373\u53ef\uff1a<\/p>\n<div class=\"cnblogs_code\" style=\"color: #000000;\">\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a style=\"color: #4183c4;\" title=\"\u590d\u5236\u4ee3\u7801\"><figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u590d\u5236\u4ee3\u7801\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\"><\/figure><\/a><\/span><\/div>\n<pre><span style=\"color: #0000ff;\">&lt;!<\/span><span style=\"color: #ff00ff;\">DOCTYPE html<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">html<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">head <\/span><span style=\"color: #ff0000;\">lang<\/span><span style=\"color: #0000ff;\">=\"en\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n    <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">meta <\/span><span style=\"color: #ff0000;\">charset<\/span><span style=\"color: #0000ff;\">=\"UTF-8\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n    <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">title<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\u6a21\u62df\u8de8\u57df<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">title<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">head<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">body<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">iframe <\/span><span style=\"color: #ff0000;\">src<\/span><span style=\"color: #0000ff;\">=\"http:\/\/baidu.com\"<\/span><span style=\"color: #0000ff;\">&gt;&lt;\/<\/span><span style=\"color: #800000;\">iframe<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">script<\/span><span style=\"color: #0000ff;\">&gt;<\/span><span style=\"color: #000000;\">\r\n    window.frames[<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">].onload <\/span><span style=\"color: #000000;\">=<\/span> <span style=\"color: #0000ff;\">function<\/span><span style=\"color: #000000;\"> () {\r\n        alert(<\/span><span style=\"color: #000000;\">\"<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">\"<\/span><span style=\"color: #000000;\">);\r\n    }\r\n<\/span><span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">script<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">body<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">html<\/span><span style=\"color: #0000ff;\">&gt;<\/span><\/pre>\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a style=\"color: #4183c4;\" title=\"\u590d\u5236\u4ee3\u7801\"><figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u590d\u5236\u4ee3\u7801\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\"><\/figure><\/a><\/span><\/div>\n<\/div>\n<p>\u4e0a\u8ff0\u4ee3\u7801\u5728chrome\u4e2d\u4f1a\u8f93\u51fablocking\u4fe1\u606f\uff1a<\/p>\n<figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u6d45\u8c08WEB\u8de8\u57df\u7684\u5b9e\u73b0\uff08\u524d\u7aef\u5411\uff09\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/images.cnitblog.com\/blog\/561179\/201502\/181608174086947.png\" alt=\"http:\/\/images.cnitblog.com\/blog\/561179\/201502\/181608174086947.png\"><\/figure>\n<p>\u5373\u6211\u4eec\u65e0\u6cd5\u76d1\u542c\u767e\u5ea6\u9996\u9875\u6587\u6863onload\u7684\u4e8b\u4ef6\uff0c\u56e0\u4e3atop\u7a97\u53e3\u8ddfiframe\u7a97\u4f53\u662f\u4e0d\u540c\u6e90\u7684\u3002<\/p>\n<p>\u73b0\u4ee3\u6d4f\u89c8\u5668\u7684\u786e\u5728\u5b89\u5168\u6027\u4e0a\u4e0b\u4e86\u4e0d\u5c11\u529f\u592b\uff0c\u9664\u4e86\u4e0a\u8ff0\u63d0\u5230\u7684\u9ed8\u8ba4\u7981\u6b62\u975e\u540c\u6e90\u9875\u9762\u901a\u8baf\uff0c\u8fd8\u65b0\u589e\u4e86CSP\uff08Content Security Policy\uff09\u62a5\u5934\u7279\u6027\u7b49\u5b89\u5168\u9650\u5236\u529f\u80fd\u3002\u4e0d\u8fc7\u65e2\u7136\u4e3a\u4e86\u7528\u6237\u5b89\u5168\u800c\u5173\u95ed\u4e86\u4e00\u6247\u7a97\u6237\uff0c\u81ea\u7136\u4e5f\u4f1a\u4e3a\u5f00\u53d1\u8005\u5f00\u542f\u4e00\u6247\u4fbf\u5229\u7684\u7a97\u6237\uff0c\u8981\u7a81\u7834SOP\u7684\u9650\u5236\uff0c\u54b1\u8fd8\u662f\u6709\u4e0d\u5c11\u529e\u6cd5\u548c\u82b1\u6837\u7684\u3002<\/p>\n<figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u6d45\u8c08WEB\u8de8\u57df\u7684\u5b9e\u73b0\uff08\u524d\u7aef\u5411\uff09\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/images.cnblogs.com\/cnblogs_com\/vajoy\/558869\/o_div.jpg\" alt=\"http:\/\/images.cnblogs.com\/cnblogs_com\/vajoy\/558869\/o_div.jpg\"><\/figure>\n<p><strong>\u76ee\u5f55<\/strong><\/p>\n<p><strong><a style=\"color: #4183c4;\" href=\"http:\/\/www.cnblogs.com\/vajoy\/p\/4295825.html#it1\">CORS<\/a><\/strong><\/p>\n<p><strong><a style=\"color: #4183c4;\" href=\"http:\/\/www.cnblogs.com\/vajoy\/p\/4295825.html#it2\">XDR<\/a><\/strong><\/p>\n<p><strong><a style=\"color: #4183c4;\" href=\"http:\/\/www.cnblogs.com\/vajoy\/p\/4295825.html#it3\">HTML5\u89e3\u51b3\u65b9\u6848<\/a><\/strong><br \/>\n1. Cross-document messaging<br \/>\n2. WebSocket<\/p>\n<p><strong><a style=\"color: #4183c4;\" href=\"http:\/\/www.cnblogs.com\/vajoy\/p\/4295825.html#it4\">JSONP<\/a><\/strong><\/p>\n<p><strong><a style=\"color: #4183c4;\" href=\"http:\/\/www.cnblogs.com\/vajoy\/p\/4295825.html#it5\">iframe\u5f62\u5f0f<\/a><\/strong><br \/>\n1. document.domain<br \/>\n2. location.hash<br \/>\n3. window.name<\/p>\n<p><strong><a style=\"color: #4183c4;\" href=\"http:\/\/www.cnblogs.com\/vajoy\/p\/4295825.html#it6\">\u5176\u5b83\u5f62\u5f0f<\/a><\/strong><br \/>\n1. \u670d\u52a1\u5668\u4ee3\u7406<br \/>\n2. flash socket<\/p>\n<figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u6d45\u8c08WEB\u8de8\u57df\u7684\u5b9e\u73b0\uff08\u524d\u7aef\u5411\uff09\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/images.cnblogs.com\/cnblogs_com\/vajoy\/558869\/o_div.jpg\" alt=\"http:\/\/images.cnblogs.com\/cnblogs_com\/vajoy\/558869\/o_div.jpg\"><\/figure>\n<p id=\"it1\"><strong>CORS<\/strong><\/p>\n<p>\u540c\u57df\u5b89\u5168\u7b56\u7565CORS\uff08Cross-Origin Resource Sharing\uff09\u662fW3C\u572805\u5e74\u63d0\u51fa\u7684\u8de8\u57df\u8d44\u6e90\u8bf7\u6c42\u673a\u5236\uff0c\u5b83\u8981\u6c42\u5f53\u524d\u57df\uff08\u5e38\u89c4\u4e3a\u5b58\u653e\u8d44\u6e90\u7684\u670d\u52a1\u5668\uff09\u5728\u54cd\u5e94\u62a5\u5934\u6dfb\u52a0Access-Control-Allow-Origin\u6807\u7b7e\uff0c\u4ece\u800c\u5141\u8bb8\u6307\u5b9a\u57df\u7684\u7ad9\u70b9\u8bbf\u95ee\u5f53\u524d\u57df\u4e0a\u7684\u8d44\u6e90\u3002\u6211\u4eec\u4f7f\u7528node\/iojs\u6765\u6a21\u62df\u4e00\u4e0b\uff08\u4e0d\u61c2node\/iojs\uff1f\u4e0d\u6025\uff0c\u5148\u770b\u4e0b\u6211\u7684<a style=\"color: #4183c4;\" href=\"http:\/\/www.cnblogs.com\/vajoy\/p\/4224883.html\" target=\"_blank\">\u5165\u95e8\u6587\u7ae0<\/a>\uff09\uff1a<\/p>\n<p><em>\u670d\u52a1\u5668\u7aef\uff1a<\/em><\/p>\n<div class=\"cnblogs_code\" style=\"color: #000000;\">\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a style=\"color: #4183c4;\" title=\"\u590d\u5236\u4ee3\u7801\"><figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u590d\u5236\u4ee3\u7801\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\"><\/figure><\/a><\/span><\/div>\n<pre>require(\"http\").createServer(<span style=\"color: #0000ff;\">function<\/span><span style=\"color: #000000;\">(req,res){\r\n  <\/span><span style=\"color: #008000;\">\/\/<\/span><span style=\"color: #008000;\">\u62a5\u5934\u6dfb\u52a0Access-Control-Allow-Origin\u6807\u7b7e\uff0c\u503c\u4e3a\u7279\u5b9a\u7684URL\u6216\u201c*\u201d<\/span>\r\n  <span style=\"color: #008000;\">\/\/<\/span><span style=\"color: #008000;\">\u201c*\u201d\u8868\u793a\u5141\u8bb8\u6240\u6709\u57df\u8bbf\u95ee\u5f53\u524d\u57df<\/span>\r\n  res.setHeader(\"Access-Control-Allow-Origin\",\"*\"<span style=\"color: #000000;\">);  \r\n  res.end(<\/span>\"OK\"<span style=\"color: #000000;\">);\r\n}).listen(<\/span>1234);<\/pre>\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a style=\"color: #4183c4;\" title=\"\u590d\u5236\u4ee3\u7801\"><figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u590d\u5236\u4ee3\u7801\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\"><\/figure><\/a><\/span><\/div>\n<\/div>\n<p><em>\u5ba2\u6237\u7aef\uff1a<\/em><\/p>\n<div class=\"cnblogs_code\" style=\"color: #000000;\">\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a style=\"color: #4183c4;\" title=\"\u590d\u5236\u4ee3\u7801\"><figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u590d\u5236\u4ee3\u7801\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\"><\/figure><\/a><\/span><\/div>\n<pre><span style=\"color: #0000ff;\">&lt;!<\/span><span style=\"color: #ff00ff;\">DOCTYPE html<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">html<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">head <\/span><span style=\"color: #ff0000;\">lang<\/span><span style=\"color: #0000ff;\">=\"en\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n    <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">meta <\/span><span style=\"color: #ff0000;\">charset<\/span><span style=\"color: #0000ff;\">=\"UTF-8\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n    <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">title<\/span><span style=\"color: #0000ff;\">&gt;<\/span>CORS<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">title<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n    <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">script <\/span><span style=\"color: #ff0000;\">src<\/span><span style=\"color: #0000ff;\">=\"jq.js\"<\/span><span style=\"color: #0000ff;\">&gt;&lt;\/<\/span><span style=\"color: #800000;\">script<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">head<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">body<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">div<\/span><span style=\"color: #0000ff;\">&gt;<\/span>catching data...<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">div<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">script<\/span><span style=\"color: #0000ff;\">&gt;<\/span><span style=\"color: #000000;\">\r\n    $.ajax({\r\n        url:<\/span><span style=\"color: #000000;\">\"<\/span><span style=\"color: #000000;\">http:\/\/127.0.0.1:1234\/<\/span><span style=\"color: #000000;\">\"<\/span><span style=\"color: #000000;\">,\r\n        success:<\/span><span style=\"color: #0000ff;\">function<\/span><span style=\"color: #000000;\">(data){\r\n            $(<\/span><span style=\"color: #000000;\">\"<\/span><span style=\"color: #000000;\">div<\/span><span style=\"color: #000000;\">\"<\/span><span style=\"color: #000000;\">).text(data)\r\n        }\r\n    })\r\n<\/span><span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">script<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">body<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">html<\/span><span style=\"color: #0000ff;\">&gt;<\/span><\/pre>\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a style=\"color: #4183c4;\" title=\"\u590d\u5236\u4ee3\u7801\"><figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u590d\u5236\u4ee3\u7801\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\"><\/figure><\/a><\/span><\/div>\n<\/div>\n<p>\u8fd0\u884c\u5ba2\u6237\u7aef\u9875\u9762\u540e\uff0c\u4fbf\u80fd\u770b\u5230div\u5185\u5bb9\u6210\u529f\u53d8\u4e3a\u670d\u52a1\u7aef\u53d1\u6765\u7684\u201cOK\u201d\uff0c\u5b9e\u73b0\u4e86\u4e24\u4e2a\u4e0d\u540c\u57df\u7684\u9875\u9762\u95f4\u7684\u901a\u8baf\u3002\u901a\u8fc7\u4e0a\u8ff0\u4ee3\u7801\u6211\u4eec\u4e5f\u53d1\u73b0\uff0cCORS\u4e3b\u8981\u662f\u5728\u670d\u52a1\u7aef\u4e0a\u7684\u5b9e\u73b0\uff08\u4e5f\u4e0d\u5916\u4e4e\u662f\u6dfb\u52a0\u4e00\u4e2a\u62a5\u5934\u6807\u7b7e\uff09\uff0c\u5ba2\u6237\u7aef\u7684\u5b9e\u73b0\u8ddf\u5e38\u89c4\u7684\u8bf7\u6c42\u6ca1\u5565\u51fa\u5165\u3002<\/p>\n<p>\u4e0d\u8fc7CORS\u9ed8\u8ba4\u53ea\u652f\u6301GET\/POST\u8fd9\u4e24\u79cdhttp\u8bf7\u6c42\u7c7b\u578b\uff0c\u5982\u679c\u8981\u5f00\u542fPUT\/DELETE\u4e4b\u7c7b\u7684\u65b9\u5f0f\uff0c\u9700\u8981\u5728\u670d\u52a1\u7aef\u5728\u6dfb\u52a0\u4e00\u4e2a&#8221;Access-Control-Allow-Methods&#8221;\u62a5\u5934\u6807\u7b7e\uff1a<\/p>\n<p><em>\u670d\u52a1\u7aef\uff1a<\/em><\/p>\n<div class=\"cnblogs_code\" style=\"color: #000000;\">\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a style=\"color: #4183c4;\" title=\"\u590d\u5236\u4ee3\u7801\"><figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u590d\u5236\u4ee3\u7801\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\"><\/figure><\/a><\/span><\/div>\n<pre>require(\"http\").createServer(<span style=\"color: #0000ff;\">function<\/span><span style=\"color: #000000;\">(req,res){\r\n  res.setHeader(<\/span>\"Access-Control-Allow-Origin\",\"http:\/\/127.0.0.1\"<span style=\"color: #000000;\">);\r\n  res.setHeader(\r\n    <\/span>\"Access-Control-Allow-Methods\"<span style=\"color: #000000;\">,\r\n    <\/span>\"PUT, GET, POST, DELETE, HEAD, PATCH\"<span style=\"color: #000000;\">\r\n  );\r\n  res.end(req.method<\/span>+\" \"+<span style=\"color: #000000;\">req.url);\r\n}).listen(<\/span>1234);<\/pre>\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a style=\"color: #4183c4;\" title=\"\u590d\u5236\u4ee3\u7801\"><figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u590d\u5236\u4ee3\u7801\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\"><\/figure><\/a><\/span><\/div>\n<\/div>\n<figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u6d45\u8c08WEB\u8de8\u57df\u7684\u5b9e\u73b0\uff08\u524d\u7aef\u5411\uff09\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/images.cnblogs.com\/cnblogs_com\/vajoy\/558869\/o_div.jpg\" alt=\"http:\/\/images.cnblogs.com\/cnblogs_com\/vajoy\/558869\/o_div.jpg\"><\/figure>\n<p id=\"it2\"><strong>XDR<\/strong><\/p>\n<p>\u607c\u4eba\u7684IE8-\u662f\u4e0d\u652f\u6301\u4e0a\u8ff0\u7684CORS\u6ef4\uff0c\u4e0d\u8fc7\u4e0d\u8d70\u5bfb\u5e38\u8def\u7684\u5de8\u786c\u5728IE8\u5f00\u59cb\u5f15\u5165\u4e86XDR(XDomainRequest)\u65b0\u7279\u6027\uff08IE11\u5df2\u7ecf\u4e0d\u518d\u652f\u6301\u8be5\u7279\u6027\uff09\uff0c\u5b83\u5b9e\u73b0\u4e86CORS\u7684\u90e8\u5206\u89c4\u8303\uff0c\u53ea\u652f\u6301GET\/POST\u5f62\u5f0f\u7684\u8bf7\u6c42\u3002\u53e6\u5916\u5728\u534f\u8bae\u90e8\u5206\u53ea\u652f\u6301 http \u548c https \u3002<\/p>\n<p>\u5728\u670d\u52a1\u5668\u7aef\uff0c\u4f9d\u65e7\u8981\u6c42\u5728\u54cd\u5e94\u62a5\u5934\u6dfb\u52a0&#8221;Access-Control-Allow-Methods&#8221;\u6807\u7b7e\uff08\u8fd9\u70b9\u8ddfCORS\u4e00\u81f4\uff09\u3002<\/p>\n<p>\u5728\u5ba2\u6237\u7aef\uff0cDR\u5bf9\u8c61\u7684\u4f7f\u7528\u65b9\u6cd5\u4e0eXHR\u5bf9\u8c61\u975e\u5e38\u76f8\u4f3c\uff0c\u4e5f\u662f\u521b\u5efa\u4e00\u4e2aXDomainRequest\u7684\u5b9e\u4f8b\uff0c\u8c03\u7528open()\u65b9\u6cd5\uff0c\u518d\u8c03\u7528send()\u65b9\u6cd5\u3002\u4f46\u4e0eXHR\u5bf9\u8c61\u7684open()\u65b9\u6cd5\u4e0d\u540c\uff0cXDR\u5bf9\u8c61\u7684open()\u65b9\u6cd5\u53ea\u63a5\u6536\u4e24\u4e2a\u53c2\u6570\uff1a\u8bf7\u6c42\u7684\u7c7b\u578b\u548cURL\uff0c\u56e0\u4e3a\u6240\u6709XDR\u8bf7\u6c42\u90fd\u662f\u5f02\u6b65\u6267\u884c\u7684\uff0c\u4e0d\u80fd\u7528\u5b83\u6765\u521b\u5efa\u540c\u6b65\u8bf7\u6c42\u3002<\/p>\n<p>\u8bf7\u6c42\u8fd4\u56de\u4e4b\u540e\uff0c\u4f1a\u89e6\u53d1load\u4e8b\u4ef6\uff0c\u76f8\u5e94\u7684\u6570\u636e\u4e5f\u4f1a\u4fdd\u5b58\u5728responseText\u5c5e\u6027\u4e2d\uff0c\u5982\u4e0b\u6240\u793a\uff1a<\/p>\n<div class=\"cnblogs_code\" style=\"color: #000000;\">\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a style=\"color: #4183c4;\" title=\"\u590d\u5236\u4ee3\u7801\"><figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u590d\u5236\u4ee3\u7801\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\"><\/figure><\/a><\/span><\/div>\n<pre><span style=\"color: #0000ff;\">var<\/span> xdr = <span style=\"color: #0000ff;\">new<\/span><span style=\"color: #000000;\"> XDomainRequest();\r\nxdr.onload <\/span>= <span style=\"color: #0000ff;\">function<\/span><span style=\"color: #000000;\">() {\r\n    alert(xdr.responseText);\r\n};\r\nxdr.onerror <\/span>= <span style=\"color: #0000ff;\">function<\/span><span style=\"color: #000000;\">() {\r\n    alert(<\/span>\"\u4e00\u4e2a\u9519\u8bef\u53d1\u751f\u4e86\uff01\"<span style=\"color: #000000;\">);\r\n};\r\nxdr.open(<\/span>\"get\", \"http:\/\/127.0.0.1:1234\/\"<span style=\"color: #000000;\">);\r\nxdr.send(<\/span><span style=\"color: #0000ff;\">null<\/span>);<\/pre>\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a style=\"color: #4183c4;\" title=\"\u590d\u5236\u4ee3\u7801\"><figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u590d\u5236\u4ee3\u7801\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\"><\/figure><\/a><\/span><\/div>\n<\/div>\n<p>\u7531\u4e8eXDR\u5b9e\u5728\u592a\u8fc7\u65f6\uff0c\u8fd9\u91cc\u4e0d\u505a\u592a\u591a\u4ecb\u7ecd\uff0c\u4e86\u89e3\u4e0b\u5373\u53ef\uff0c\u66f4\u591a\u7ec6\u8282\u8bf7\u67e5\u9605<a style=\"color: #4183c4;\" href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/cc288060(v=vs.85).aspx\" target=\"_blank\">msdn<\/a>\u3002<\/p>\n<figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u6d45\u8c08WEB\u8de8\u57df\u7684\u5b9e\u73b0\uff08\u524d\u7aef\u5411\uff09\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/images.cnblogs.com\/cnblogs_com\/vajoy\/558869\/o_div.jpg\" alt=\"http:\/\/images.cnblogs.com\/cnblogs_com\/vajoy\/558869\/o_div.jpg\"><\/figure>\n<p id=\"it3\"><strong>HTML5\u89e3\u51b3\u65b9\u6848<\/strong><\/p>\n<p><strong>1.\u00a0Cross-document messaging<\/strong><\/p>\n<p>\u5728 Cross-document messaging \u4e2d\uff0c\u6211\u4eec\u53ef\u4ee5\u4f7f\u7528\u00a0<strong>postMessage<\/strong>\u00a0\u65b9\u6cd5\u548c\u00a0<strong>onmessage<\/strong>\u00a0\u4e8b\u4ef6\u6765\u5b9e\u73b0\u4e0d\u540c\u57df\u4e4b\u95f4\u7684\u901a\u4fe1\uff0c\u5176\u4e2dpostMessage\u7528\u4e8e\u5b9e\u65f6\u5411\u63a5\u6536\u4fe1\u606f\u7684\u9875\u9762\u53d1\u9001\u6d88\u606f\uff0c\u5176\u8bed\u6cd5\u4e3a\uff1a<\/p>\n<p class=\"VJ_note\" style=\"color: #444444;\">\u00a0\u00a0<span style=\"color: #056bf9;\">otherWindow.postMessage(<em>message, targetOrigin<\/em>);<\/span><\/p>\n<p class=\"VJ_note\" style=\"color: #444444;\"><span style=\"color: #808080;\"><em><strong>otherWindow<\/strong>: \u5bf9\u63a5\u6536\u4fe1\u606f\u9875\u9762\u7684window\u7684\u5f15\u7528\u3002\u53ef\u4ee5\u662f\u9875\u9762\u4e2diframe\u7684contentWindow\u5c5e\u6027\uff1bwindow.open\u7684\u8fd4\u56de\u503c\uff1b\u901a\u8fc7name\u6216\u4e0b\u6807\u4ecewindow.frames\u53d6\u5230\u7684\u503c\u3002<\/em><\/span><br \/>\n<span style=\"color: #808080;\"><em><strong>message<\/strong>: \u6240\u8981\u53d1\u9001\u7684\u6570\u636e\uff0cstring\u7c7b\u578b\u3002<\/em><\/span><br \/>\n<span style=\"color: #808080;\"><em><strong>targetOrigin<\/strong>: \u5141\u8bb8\u901a\u4fe1\u7684\u57df\u7684url\uff0c\u201c*\u201d\u8868\u793a\u4e0d\u4f5c\u9650\u5236\u3002<\/em><\/span><\/p>\n<p>\u6211\u4eec\u53ef\u4ee5\u5728\u7236\u9875\u9762\u4e2d\u5d4c\u5165\u4e0d\u540c\u57df\u7684\u5b50\u9875\u9762<em>\uff08iframe\u5b9e\u73b0\uff0c\u800c\u4e14\u5e38\u89c4\u4f1a\u628a\u5b83\u9690\u85cf\u6389\uff09<\/em>\uff0c\u5728\u5b50\u9875\u9762\u8c03\u7528 postMessage \u65b9\u6cd5\u5411\u7236\u9875\u9762\u53d1\u9001\u6570\u636e\uff1a<\/p>\n<p><em>\u7236\u9875\u9762\uff08http:\/\/localhost:10847\/sop\/a.html\uff09\uff1a<\/em><\/p>\n<div class=\"cnblogs_code\" style=\"color: #000000;\">\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a style=\"color: #4183c4;\" title=\"\u590d\u5236\u4ee3\u7801\"><figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u590d\u5236\u4ee3\u7801\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\"><\/figure><\/a><\/span><\/div>\n<pre><span style=\"color: #0000ff;\">&lt;!<\/span><span style=\"color: #ff00ff;\">DOCTYPE html<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">html<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">head <\/span><span style=\"color: #ff0000;\">lang<\/span><span style=\"color: #0000ff;\">=\"en\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n    <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">meta <\/span><span style=\"color: #ff0000;\">charset<\/span><span style=\"color: #0000ff;\">=\"UTF-8\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n    <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">title<\/span><span style=\"color: #0000ff;\">&gt;<\/span>postMessage<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">title<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">head<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">body<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">iframe <\/span><span style=\"color: #ff0000;\">style<\/span><span style=\"color: #0000ff;\">=\"display:none;\"<\/span><span style=\"color: #ff0000;\"> id<\/span><span style=\"color: #0000ff;\">=\"ifr\"<\/span><span style=\"color: #ff0000;\"> src<\/span><span style=\"color: #0000ff;\">=\"http:\/\/127.0.0.1:10847\/sop\/b.html\"<\/span><span style=\"color: #0000ff;\">&gt;&lt;\/<\/span><span style=\"color: #800000;\">iframe<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">script <\/span><span style=\"color: #ff0000;\">type<\/span><span style=\"color: #0000ff;\">=\"text\/javascript\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span><span style=\"color: #000000;\">\r\n    window.addEventListener(<\/span><span style=\"color: #000000;\">'<\/span><span style=\"color: #000000;\">message<\/span><span style=\"color: #000000;\">'<\/span><span style=\"color: #000000;\">, <\/span><span style=\"color: #0000ff;\">function<\/span><span style=\"color: #000000;\">(event){\r\n        <\/span><span style=\"color: #008000;\">\/\/<\/span><span style=\"color: #008000;\"> \u901a\u8fc7origin\u5c5e\u6027\u5224\u65ad\u6d88\u606f\u6765\u6e90\u5730\u5740<\/span>\r\n        <span style=\"color: #0000ff;\">if<\/span><span style=\"color: #000000;\"> (event.origin <\/span><span style=\"color: #000000;\">==<\/span> <span style=\"color: #000000;\">'<\/span><span style=\"color: #000000;\">http:\/\/127.0.0.1:10847<\/span><span style=\"color: #000000;\">'<\/span><span style=\"color: #000000;\">) {\r\n            alert(event.data);    <\/span><span style=\"color: #008000;\">\/\/<\/span><span style=\"color: #008000;\"> \u5f39\u51fa\u4ece\u5b50\u9875\u9762post\u8fc7\u6765\u7684\u4fe1\u606f<\/span>\r\n<span style=\"color: #000000;\">        }\r\n    }, <\/span><span style=\"color: #0000ff;\">false<\/span><span style=\"color: #000000;\">);\r\n<\/span><span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">script<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">body<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">html<\/span><span style=\"color: #0000ff;\">&gt;<\/span><\/pre>\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a style=\"color: #4183c4;\" title=\"\u590d\u5236\u4ee3\u7801\"><figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u590d\u5236\u4ee3\u7801\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\"><\/figure><\/a><\/span><\/div>\n<\/div>\n<p><em>\u5b50\u9875\u9762\uff08http:\/\/127.0.0.1:10847\/sop\/b.html\uff09\uff1a<\/em><\/p>\n<div class=\"cnblogs_code\" style=\"color: #000000;\">\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a style=\"color: #4183c4;\" title=\"\u590d\u5236\u4ee3\u7801\"><figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u590d\u5236\u4ee3\u7801\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\"><\/figure><\/a><\/span><\/div>\n<pre><span style=\"color: #0000ff;\">&lt;!<\/span><span style=\"color: #ff00ff;\">DOCTYPE html<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">html<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">head <\/span><span style=\"color: #ff0000;\">lang<\/span><span style=\"color: #0000ff;\">=\"en\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n    <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">meta <\/span><span style=\"color: #ff0000;\">charset<\/span><span style=\"color: #0000ff;\">=\"UTF-8\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n    <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">title<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\u5b50\u9875\u9762<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">title<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">head<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">body<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">script <\/span><span style=\"color: #ff0000;\">type<\/span><span style=\"color: #0000ff;\">=\"text\/javascript\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n    <span style=\"color: #0000ff;\">var<\/span><span style=\"color: #000000;\"> ifr <\/span><span style=\"color: #000000;\">=<\/span><span style=\"color: #000000;\"> window.parent;  <\/span><span style=\"color: #008000;\">\/\/<\/span><span style=\"color: #008000;\">\u83b7\u53d6\u7236\u7a97\u4f53<\/span>\r\n    <span style=\"color: #0000ff;\">var<\/span><span style=\"color: #000000;\"> targetOrigin <\/span><span style=\"color: #000000;\">=<\/span> <span style=\"color: #000000;\">'<\/span><span style=\"color: #000000;\">http:\/\/localhost:10847<\/span><span style=\"color: #000000;\">'<\/span><span style=\"color: #000000;\">;  <\/span><span style=\"color: #008000;\">\/\/<\/span><span style=\"color: #008000;\"> \u82e5\u5199\u6210 http:\/\/127.0.0.1:10847 \u5219\u5c06\u65e0\u6cd5\u6267\u884cpostMessage<\/span>\r\n<span style=\"color: #000000;\">    ifr.postMessage(<\/span><span style=\"color: #000000;\">'<\/span><span style=\"color: #000000;\">\u8fd9\u662f\u4f20\u9012\u7ed9a.html\u7684\u4fe1\u606f<\/span><span style=\"color: #000000;\">'<\/span><span style=\"color: #000000;\">, targetOrigin);\r\n<\/span><span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">script<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">body<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">html<\/span><span style=\"color: #0000ff;\">&gt;<\/span><\/pre>\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a style=\"color: #4183c4;\" title=\"\u590d\u5236\u4ee3\u7801\"><figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u590d\u5236\u4ee3\u7801\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\"><\/figure><\/a><\/span><\/div>\n<\/div>\n<p>\u6267\u884c\u5982\u4e0b\uff1a<\/p>\n<figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u6d45\u8c08WEB\u8de8\u57df\u7684\u5b9e\u73b0\uff08\u524d\u7aef\u5411\uff09\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/images.cnitblog.com\/blog\/561179\/201502\/182228302677222.png\" alt=\"http:\/\/images.cnitblog.com\/blog\/561179\/201502\/182228302677222.png\"><\/figure>\n<p>\u5173\u4e8e Cross-document messaging \u7684\u66f4\u591a\u7ec6\u8282\u53ef\u53c2\u8003<a style=\"color: #4183c4;\" href=\"https:\/\/html.spec.whatwg.org\/#crossDocumentMessages\" target=\"_blank\">\u8fd9\u7bc7\u6587\u6863<\/a>\u3002<\/p>\n<p>&nbsp;<\/p>\n<p><strong>2<\/strong><strong>. WebSocket<\/strong><\/p>\n<p>WebSocket protocol \u662fHTML5\u4e00\u79cd\u65b0\u7684\u534f\u8bae\u3002\u5b83\u5b9e\u73b0\u4e86\u6d4f\u89c8\u5668\u4e0e\u670d\u52a1\u5668\u5168\u53cc\u5de5\u901a\u4fe1\uff0c\u540c\u65f6\u5141\u8bb8\u8de8\u57df\u901a\u8baf\uff0c\u662fserver push\u6280\u672f\u7684\u4e00\u79cd\u5f88\u68d2\u7684\u5b9e\u73b0\u3002<\/p>\n<p>\u6211\u4eec\u5148\u7b80\u5355\u770b\u4e0bwebSocket\u5728\u5ba2\u6237\u7aef\u4e0a\u7684api\uff1a<\/p>\n<div class=\"cnblogs_code\" style=\"color: #000000;\">\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a style=\"color: #4183c4;\" title=\"\u590d\u5236\u4ee3\u7801\"><figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u590d\u5236\u4ee3\u7801\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\"><\/figure><\/a><\/span><\/div>\n<pre><span style=\"color: #0000ff;\">var<\/span> ws = <span style=\"color: #0000ff;\">new<\/span> WebSocket('ws:\/\/127.0.0.1:8080\/url'); <span style=\"color: #008000;\">\/\/<\/span><span style=\"color: #008000;\">\u65b0\u5efa\u4e00\u4e2aWebSocket\u5bf9\u8c61\uff0c\u6ce8\u610f\u670d\u52a1\u5668\u7aef\u7684\u534f\u8bae\u5fc5\u987b\u4e3a\u201cws:\/\/\u201d\u6216\u201cwss:\/\/\u201d\uff0c\u5176\u4e2dws\u5f00\u5934\u662f\u666e\u901a\u7684websocket\u8fde\u63a5\uff0cwss\u662f\u5b89\u5168\u7684websocket\u8fde\u63a5\uff0c\u7c7b\u4f3c\u4e8ehttps\u3002<\/span>\r\nws.onopen = <span style=\"color: #0000ff;\">function<\/span><span style=\"color: #000000;\">() {\r\n    <\/span><span style=\"color: #008000;\">\/\/<\/span><span style=\"color: #008000;\"> \u8fde\u63a5\u88ab\u6253\u5f00\u65f6\u8c03\u7528<\/span>\r\n<span style=\"color: #000000;\">};\r\nws.onerror <\/span>= <span style=\"color: #0000ff;\">function<\/span><span style=\"color: #000000;\">(e) {\r\n    <\/span><span style=\"color: #008000;\">\/\/<\/span><span style=\"color: #008000;\"> \u5728\u51fa\u73b0\u9519\u8bef\u65f6\u8c03\u7528\uff0c\u4f8b\u5982\u5728\u8fde\u63a5\u65ad\u6389\u65f6<\/span>\r\n<span style=\"color: #000000;\">};\r\nws.onclose <\/span>= <span style=\"color: #0000ff;\">function<\/span><span style=\"color: #000000;\">() {\r\n    <\/span><span style=\"color: #008000;\">\/\/<\/span><span style=\"color: #008000;\"> \u5728\u8fde\u63a5\u88ab\u5173\u95ed\u65f6\u8c03\u7528<\/span>\r\n<span style=\"color: #000000;\">};\r\nws.onmessage <\/span>= <span style=\"color: #0000ff;\">function<\/span><span style=\"color: #000000;\">(msg) {\r\n    <\/span><span style=\"color: #008000;\">\/\/<\/span><span style=\"color: #008000;\"> \u5728\u670d\u52a1\u5668\u7aef\u5411\u5ba2\u6237\u7aef\u53d1\u9001\u6d88\u606f\u65f6\u8c03\u7528<\/span>\r\n    <span style=\"color: #008000;\">\/\/<\/span><span style=\"color: #008000;\"> msg.data\u5305\u542b\u4e86\u6d88\u606f<\/span>\r\n<span style=\"color: #000000;\">};\r\n<\/span><span style=\"color: #008000;\">\/\/<\/span><span style=\"color: #008000;\"> \u8fd9\u91cc\u662f\u5982\u4f55\u7ed9\u670d\u52a1\u5668\u7aef\u53d1\u9001\u4e00\u4e9b\u6570\u636e<\/span>\r\nws.send('some data'<span style=\"color: #000000;\">);\r\n<\/span><span style=\"color: #008000;\">\/\/<\/span><span style=\"color: #008000;\"> \u5173\u95ed\u5957\u63a5\u53e3<\/span>\r\nws.close();<\/pre>\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a style=\"color: #4183c4;\" title=\"\u590d\u5236\u4ee3\u7801\"><figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u590d\u5236\u4ee3\u7801\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\"><\/figure><\/a><\/span><\/div>\n<\/div>\n<p>\u670d\u52a1\u7aef\u8fd9\u5757\u6211\u4eec\u7ee7\u7eed\u7528node\/iojs\u6765\u7f16\u5199\uff0c\u5e76\u4f7f\u7528<a style=\"color: #4183c4;\" href=\"http:\/\/socket.io\/\" target=\"_blank\"><strong>socket.io<\/strong><\/a>\u6a21\u5757\u8f85\u52a9\uff0csocket.io\u5f88\u597d\u5730\u5c01\u88c5\u4e86webSocket\u63a5\u53e3\uff0c\u63d0\u4f9b\u4e86\u66f4\u7b80\u5355\u3001\u7075\u6d3b\u7684\u63a5\u53e3\uff0c\u4e5f\u5bf9\u4e0d\u652f\u6301webSocket\u7684\u6d4f\u89c8\u5668\u63d0\u4f9b\u4e86\u5411\u4e0b\u517c\u5bb9\uff08\u4f8b\u5982\u66ff\u6362\u4e3aFlash Socket\/Comet\uff09\u3002<\/p>\n<p>\u6211\u4eec\u5148\u5199\u670d\u52a1\u7aef\uff0c\u9996\u5148\u6211\u4eec\u5f97\u5728\u9879\u76ee\u6839\u76ee\u5f55\u4e0b\u4f7f\u7528npm\u547d\u4ee4\u5b89\u88c5\u597dsocket.io\u6a21\u5757\uff1a<\/p>\n<p class=\"VJ_note\" style=\"color: #444444;\">\u00a0\u00a0<em><span style=\"color: #888888;\">npm install socket.io<\/span><\/em><\/p>\n<p>\u63a5\u7740\u65b0\u5efa\u670d\u52a1\u7aef\u811a\u672c<em>\uff08\u8bbf\u95ee\u5730\u5740\u662fhttp:\/\/127.0.0.1:1234\/\uff09<\/em>\uff1a<\/p>\n<div class=\"cnblogs_code\" style=\"color: #000000;\">\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a style=\"color: #4183c4;\" title=\"\u590d\u5236\u4ee3\u7801\"><figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u590d\u5236\u4ee3\u7801\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\"><\/figure><\/a><\/span><\/div>\n<pre><span style=\"color: #0000ff;\">var<\/span> io = require('socket.io'<span style=\"color: #000000;\">);\r\n<\/span><span style=\"color: #0000ff;\">var<\/span> server = require(\"http\").createServer(<span style=\"color: #0000ff;\">function<\/span><span style=\"color: #000000;\">(req,res){\r\n    res.writeHead(<\/span>200, { 'Content-type': 'text\/html'<span style=\"color: #000000;\">});\r\n}).listen(<\/span>1234<span style=\"color: #000000;\">);\r\n\r\nio.listen(server).on(<\/span>'connection', <span style=\"color: #0000ff;\">function<\/span><span style=\"color: #000000;\"> (client) {\r\n    client.on(<\/span>'message', <span style=\"color: #0000ff;\">function<\/span> (msg) { <span style=\"color: #008000;\">\/\/<\/span><span style=\"color: #008000;\">\u76d1\u542c\u5230\u4fe1\u606f\u5904\u7406<\/span>\r\n        console.log('Message Received: '<span style=\"color: #000000;\">, msg);\r\n        client.send(<\/span>'\u670d\u52a1\u5668\u6536\u5230\u4e86\u4fe1\u606f\uff1a'+<span style=\"color: #000000;\"> msg);\r\n    });\r\n    client.on(<\/span>\"disconnect\", <span style=\"color: #0000ff;\">function<\/span>() { <span style=\"color: #008000;\">\/\/<\/span><span style=\"color: #008000;\">\u65ad\u5f00\u5904\u7406<\/span>\r\n        console.log(\"Server has disconnected\"<span style=\"color: #000000;\">);\r\n    })\r\n});<\/span><\/pre>\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a style=\"color: #4183c4;\" title=\"\u590d\u5236\u4ee3\u7801\"><figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u590d\u5236\u4ee3\u7801\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\"><\/figure><\/a><\/span><\/div>\n<\/div>\n<p>\u5ba2\u6237\u7aef\u9875\u9762<em>\uff08http:\/\/localhost:10847\/sop\/a.html\uff0c\u6ce8\u610f\u4f7f\u7528\u4e86socket.io\u4e4b\u540e\uff0c\u63a5\u53e3\u8ddf\u539f\u751f\u7684\u4e0d\u592a\u4e00\u6837\u4e86\uff09<\/em>\uff1a<\/p>\n<div class=\"cnblogs_code\" style=\"color: #000000;\">\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a style=\"color: #4183c4;\" title=\"\u590d\u5236\u4ee3\u7801\"><figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u590d\u5236\u4ee3\u7801\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\"><\/figure><\/a><\/span><\/div>\n<pre><span style=\"color: #0000ff;\">&lt;!<\/span><span style=\"color: #ff00ff;\">DOCTYPE html<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">html<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">head <\/span><span style=\"color: #ff0000;\">lang<\/span><span style=\"color: #0000ff;\">=\"en\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n    <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">meta <\/span><span style=\"color: #ff0000;\">charset<\/span><span style=\"color: #0000ff;\">=\"UTF-8\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n    <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">title<\/span><span style=\"color: #0000ff;\">&gt;<\/span>socket.io<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">title<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n    <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">script <\/span><span style=\"color: #ff0000;\">src<\/span><span style=\"color: #0000ff;\">=\"jq.js\"<\/span><span style=\"color: #0000ff;\">&gt;&lt;\/<\/span><span style=\"color: #800000;\">script<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n    <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">script <\/span><span style=\"color: #ff0000;\">src<\/span><span style=\"color: #0000ff;\">=\"https:\/\/cdn.socket.io\/socket.io-1.3.4.js\"<\/span><span style=\"color: #0000ff;\">&gt;&lt;\/<\/span><span style=\"color: #800000;\">script<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">head<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">body<\/span><span style=\"color: #0000ff;\">&gt;<\/span><span style=\"color: #000000;\">\r\nIncoming Chat:\r\n<\/span><span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">ul<\/span><span style=\"color: #0000ff;\">&gt;&lt;\/<\/span><span style=\"color: #800000;\">ul<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">br<\/span><span style=\"color: #0000ff;\">\/&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">input <\/span><span style=\"color: #ff0000;\">type<\/span><span style=\"color: #0000ff;\">=\"text\"<\/span> <span style=\"color: #0000ff;\">\/&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">script<\/span><span style=\"color: #0000ff;\">&gt;<\/span><span style=\"color: #000000;\">\r\n    $(<\/span><span style=\"color: #0000ff;\">function<\/span><span style=\"color: #000000;\"> () {\r\n        <\/span><span style=\"color: #0000ff;\">var<\/span><span style=\"color: #000000;\"> iosocket <\/span><span style=\"color: #000000;\">=<\/span><span style=\"color: #000000;\"> io.connect(<\/span><span style=\"color: #000000;\">'<\/span><span style=\"color: #000000;\">http:\/\/127.0.0.1:1234\/<\/span><span style=\"color: #000000;\">'<\/span><span style=\"color: #000000;\">),\r\n                $ul <\/span><span style=\"color: #000000;\">=<\/span><span style=\"color: #000000;\"> $(<\/span><span style=\"color: #000000;\">\"<\/span><span style=\"color: #000000;\">ul<\/span><span style=\"color: #000000;\">\"<\/span><span style=\"color: #000000;\">),\r\n                $input <\/span><span style=\"color: #000000;\">=<\/span><span style=\"color: #000000;\"> $(<\/span><span style=\"color: #000000;\">\"<\/span><span style=\"color: #000000;\">input<\/span><span style=\"color: #000000;\">\"<\/span><span style=\"color: #000000;\">);\r\n        iosocket.on(<\/span><span style=\"color: #000000;\">'<\/span><span style=\"color: #000000;\">connect<\/span><span style=\"color: #000000;\">'<\/span><span style=\"color: #000000;\">, <\/span><span style=\"color: #0000ff;\">function<\/span><span style=\"color: #000000;\">() {  <\/span><span style=\"color: #008000;\">\/\/<\/span><span style=\"color: #008000;\">\u63a5\u901a\u5904\u7406<\/span>\r\n<span style=\"color: #000000;\">            $ul.append($(<\/span><span style=\"color: #000000;\">'<\/span><span style=\"color: #000000;\">&lt;li&gt;\u8fde\u4e0a\u5566&lt;\/li&gt;<\/span><span style=\"color: #000000;\">'<\/span><span style=\"color: #000000;\">));\r\n\r\n            iosocket.on(<\/span><span style=\"color: #000000;\">'<\/span><span style=\"color: #000000;\">message<\/span><span style=\"color: #000000;\">'<\/span><span style=\"color: #000000;\">, <\/span><span style=\"color: #0000ff;\">function<\/span><span style=\"color: #000000;\">(message) {  <\/span><span style=\"color: #008000;\">\/\/<\/span><span style=\"color: #008000;\">\u6536\u5230\u4fe1\u606f\u5904\u7406<\/span>\r\n<span style=\"color: #000000;\">                $ul.append($(<\/span><span style=\"color: #000000;\">'<\/span><span style=\"color: #000000;\">&lt;li&gt;&lt;\/li&gt;<\/span><span style=\"color: #000000;\">'<\/span><span style=\"color: #000000;\">).text(message));\r\n            });\r\n            iosocket.on(<\/span><span style=\"color: #000000;\">'<\/span><span style=\"color: #000000;\">disconnect<\/span><span style=\"color: #000000;\">'<\/span><span style=\"color: #000000;\">, <\/span><span style=\"color: #0000ff;\">function<\/span><span style=\"color: #000000;\">() { <\/span><span style=\"color: #008000;\">\/\/<\/span><span style=\"color: #008000;\">\u65ad\u5f00\u5904\u7406<\/span>\r\n<span style=\"color: #000000;\">                $ul.append(<\/span><span style=\"color: #000000;\">'<\/span><span style=\"color: #000000;\">&lt;li&gt;Disconnected&lt;\/li&gt;<\/span><span style=\"color: #000000;\">'<\/span><span style=\"color: #000000;\">);\r\n            });\r\n        });\r\n\r\n        $input.keypress(<\/span><span style=\"color: #0000ff;\">function<\/span><span style=\"color: #000000;\"> (event) {\r\n            <\/span><span style=\"color: #0000ff;\">if<\/span><span style=\"color: #000000;\"> (event.which <\/span><span style=\"color: #000000;\">==<\/span> <span style=\"color: #000000;\">13<\/span><span style=\"color: #000000;\">) { <\/span><span style=\"color: #008000;\">\/\/<\/span><span style=\"color: #008000;\">\u56de\u8f66<\/span>\r\n<span style=\"color: #000000;\">                event.preventDefault();\r\n                iosocket.send($input.val());\r\n                $input.val(<\/span><span style=\"color: #000000;\">''<\/span><span style=\"color: #000000;\">);\r\n            }\r\n        });\r\n    });\r\n<\/span><span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">script<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">body<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">html<\/span><span style=\"color: #0000ff;\">&gt;<\/span><\/pre>\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a style=\"color: #4183c4;\" title=\"\u590d\u5236\u4ee3\u7801\"><figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u590d\u5236\u4ee3\u7801\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\"><\/figure><\/a><\/span><\/div>\n<\/div>\n<p>\u5ba2\u6237\u7aef\u9875\u9762\u6267\u884c\u6548\u679c\u5982\u4e0b\uff1a<\/p>\n<figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u6d45\u8c08WEB\u8de8\u57df\u7684\u5b9e\u73b0\uff08\u524d\u7aef\u5411\uff09\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/images.cnitblog.com\/blog\/561179\/201502\/190114329397670.gif\" alt=\"http:\/\/images.cnitblog.com\/blog\/561179\/201502\/190114329397670.gif\"><\/figure>\n<p>WebSocket\u53ef\u4ee5\u5f88\u597d\u5730\u6446\u8131\u65e0\u72b6\u6001\u7684http\u8fde\u63a5\uff0c\u4ece\u800c\u5f88\u597d\u5730\u5904\u7406\u8fde\u63a5\u65ad\u5f00\u3001\u6570\u636e\u9519\u8bef\u7684\u60c5\u51b5\uff0c\u4e0d\u8fc7\u7f3a\u70b9\u662f\u517c\u5bb9\u6027\u8fd8\u4e0d\u591f\u597d\uff0c\u4f46\u54b1\u53ef\u4f7f\u7528\u4e0a\u8ff0\u7684socket.io\u6765\u5411\u4e0b\u517c\u5bb9\u3002<\/p>\n<figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u6d45\u8c08WEB\u8de8\u57df\u7684\u5b9e\u73b0\uff08\u524d\u7aef\u5411\uff09\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/images.cnblogs.com\/cnblogs_com\/vajoy\/558869\/o_div.jpg\" alt=\"http:\/\/images.cnblogs.com\/cnblogs_com\/vajoy\/558869\/o_div.jpg\"><\/figure>\n<p id=\"it4\"><strong>JSONP<\/strong><\/p>\n<p>\u8fd9\u4e2a\u5b9e\u5728\u7528\u5230\u70c2\u5927\u8857\u4e86\uff0c\u63d0\u8d77\u8de8\u57df\u5b9e\u73b0\uff0c\u5176\u5b9e\u6700\u5bb9\u6613\u60f3\u5230\u7684\u5c31\u662f\u5b83\u3002JSONP(JSON with Padding)\u662fJSON\u7684\u4e00\u79cd\u201c\u4f7f\u7528\u6a21\u5f0f\u201d\uff0c\u4e3b\u8981\u662f\u5229\u7528script\u6807\u7b7e\u4e0d\u53d7\u540c\u6e90\u7b56\u7565\u9650\u5236\u7684\u7279\u6027\uff0c\u5411\u8de8\u57df\u7684\u670d\u52a1\u5668\u8bf7\u6c42\u5e76\u8fd4\u56de\u4e00\u6bb5JSON\u6570\u636e\u3002<\/p>\n<p>\u5e38\u89c4\u524d\u540e\u7aef\u4f1a\u7ea6\u5b9a\u597d\u67d0\u4e2aJSONP\u8bf7\u6c42\u7684callback\u540d\uff08\u6bd4\u5982\u968f\u4fbf\u8d77\u4e2a\u540d\u5b57\u201cabc\u201d\uff09\uff0c\u670d\u52a1\u7aef\u8fd4\u56de\u7684JSON\u6570\u636e\u4f1a\u88ab\u8fd9\u4e2acallback\u540d\u5305\u88f9\u8d77\u6765\uff0c\u8fdb\u800c\u65b9\u4fbf\u670d\u52a1\u5668\u533a\u5206\u6536\u5230\u7684\u8bf7\u6c42\uff0c\u4e5f\u65b9\u4fbf\u5ba2\u6237\u7aef\u533a\u5206\u5176\u6536\u5230\u7684\u54cd\u5e94\u6570\u636e\u3002\u6211\u4eec\u53ef\u4ee5\u5229\u7528jQuery\u8f7b\u677e\u5b9e\u73b0JSONP\uff1a<\/p>\n<p><em>\u5ba2\u6237\u7aef\uff08\u8bbf\u95ee\u5730\u5740http:\/\/localhost:10847\/sop\/a.html\uff09\uff1a<\/em><\/p>\n<div class=\"cnblogs_code\" style=\"color: #000000;\">\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a style=\"color: #4183c4;\" title=\"\u590d\u5236\u4ee3\u7801\"><figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u590d\u5236\u4ee3\u7801\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\"><\/figure><\/a><\/span><\/div>\n<pre><span style=\"color: #0000ff;\">&lt;!<\/span><span style=\"color: #ff00ff;\">DOCTYPE html<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">html<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">head <\/span><span style=\"color: #ff0000;\">lang<\/span><span style=\"color: #0000ff;\">=\"en\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n    <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">meta <\/span><span style=\"color: #ff0000;\">charset<\/span><span style=\"color: #0000ff;\">=\"UTF-8\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n    <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">title<\/span><span style=\"color: #0000ff;\">&gt;<\/span>JSONP<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">title<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n    <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">script <\/span><span style=\"color: #ff0000;\">src<\/span><span style=\"color: #0000ff;\">=\"jq.js\"<\/span><span style=\"color: #0000ff;\">&gt;&lt;\/<\/span><span style=\"color: #800000;\">script<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">head<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">body<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">div<\/span><span style=\"color: #0000ff;\">&gt;&lt;\/<\/span><span style=\"color: #800000;\">div<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">script<\/span><span style=\"color: #0000ff;\">&gt;<\/span><span style=\"color: #000000;\">\r\n    $.ajax({\r\n        url:<\/span><span style=\"color: #000000;\">'<\/span><span style=\"color: #000000;\">http:\/\/127.0.0.1:1234\/<\/span><span style=\"color: #000000;\">'<\/span><span style=\"color: #000000;\">,\r\n        dataType:<\/span><span style=\"color: #000000;\">\"<\/span><span style=\"color: #000000;\">jsonp<\/span><span style=\"color: #000000;\">\"<\/span><span style=\"color: #000000;\">, <\/span><span style=\"color: #008000;\">\/\/<\/span><span style=\"color: #008000;\">\u544a\u77e5jQ\u6211\u4eec\u8d70\u7684JSONP\u5f62\u5f0f<\/span>\r\n<span style=\"color: #000000;\">        jsonpCallback:<\/span><span style=\"color: #000000;\">\"<\/span><span style=\"color: #000000;\">abc<\/span><span style=\"color: #000000;\">\"<\/span><span style=\"color: #000000;\">, <\/span><span style=\"color: #008000;\">\/\/<\/span><span style=\"color: #008000;\">callback\u540d<\/span>\r\n<span style=\"color: #000000;\">        success:<\/span><span style=\"color: #0000ff;\">function<\/span><span style=\"color: #000000;\">(data){\r\n            console.log(data)\r\n        }\r\n    });\r\n<\/span><span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">script<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">body<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">html<\/span><span style=\"color: #0000ff;\">&gt;<\/span><\/pre>\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a style=\"color: #4183c4;\" title=\"\u590d\u5236\u4ee3\u7801\"><figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u590d\u5236\u4ee3\u7801\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\"><\/figure><\/a><\/span><\/div>\n<\/div>\n<p><em>\u670d\u52a1\u7aef\uff08<em>\u8bbf\u95ee\u5730\u5740http:\/\/127.0.0.1:1234\/\u00a0<\/em>\uff09\uff1a<\/em><\/p>\n<div class=\"cnblogs_code\" style=\"color: #000000;\">\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a style=\"color: #4183c4;\" title=\"\u590d\u5236\u4ee3\u7801\"><figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u590d\u5236\u4ee3\u7801\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\"><\/figure><\/a><\/span><\/div>\n<pre><span style=\"color: #0000ff;\">var<\/span> http = require('http'<span style=\"color: #000000;\">);\r\n<\/span><span style=\"color: #0000ff;\">var<\/span> urllib = require('url'<span style=\"color: #000000;\">);\r\n\r\n<\/span><span style=\"color: #0000ff;\">var<\/span> data = {'name': 'vajoy', 'addr': 'shenzhen'<span style=\"color: #000000;\">}; \r\n\r\nhttp.createServer(<\/span><span style=\"color: #0000ff;\">function<\/span><span style=\"color: #000000;\">(req, res){\r\n  res.writeHead(<\/span>200, { 'Content-type': 'text\/plain'<span style=\"color: #000000;\">});\r\n  <\/span><span style=\"color: #0000ff;\">var<\/span> params = urllib.parse(req.url, <span style=\"color: #0000ff;\">true<\/span><span style=\"color: #000000;\">);\r\n  <\/span><span style=\"color: #008000;\">\/\/<\/span><span style=\"color: #008000;\">console.log(params);<\/span>\r\n  <span style=\"color: #0000ff;\">if<\/span> (params.query &amp;&amp;<span style=\"color: #000000;\"> params.query.callback) {\r\n    <\/span><span style=\"color: #008000;\">\/\/<\/span><span style=\"color: #008000;\">console.log(params.query.callback);<\/span>\r\n    <span style=\"color: #0000ff;\">var<\/span> str =  params.query.callback + '(' + JSON.stringify(data) + ')';<span style=\"color: #008000;\">\/\/<\/span><span style=\"color: #008000;\">jsonp<\/span>\r\n<span style=\"color: #000000;\">    res.end(str);\r\n  } <\/span><span style=\"color: #0000ff;\">else<\/span><span style=\"color: #000000;\"> {\r\n    res.end(JSON.stringify(data));<\/span><span style=\"color: #008000;\">\/\/<\/span><span style=\"color: #008000;\">\u666e\u901a\u7684json<\/span>\r\n<span style=\"color: #000000;\">  }     \r\n}).listen(<\/span>1234)<\/pre>\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a style=\"color: #4183c4;\" title=\"\u590d\u5236\u4ee3\u7801\"><figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u590d\u5236\u4ee3\u7801\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\"><\/figure><\/a><\/span><\/div>\n<\/div>\n<p>\u5ba2\u6237\u7aef\u6267\u884c\u7ed3\u679c\uff1a<\/p>\n<figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u6d45\u8c08WEB\u8de8\u57df\u7684\u5b9e\u73b0\uff08\u524d\u7aef\u5411\uff09\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/images.cnitblog.com\/blog\/561179\/201502\/190200294867063.png\" alt=\"http:\/\/images.cnitblog.com\/blog\/561179\/201502\/190200294867063.png\"><\/figure>\n<p>\u4e0d\u8fc7JSONP\u59cb\u7ec8\u662f\u65e0\u72b6\u6001\u8fde\u63a5\uff0c\u4e0d\u80fd\u83b7\u6089\u8fde\u63a5\u72b6\u6001\u548c\u9519\u8bef\u4e8b\u4ef6\uff0c\u800c\u4e14\u53ea\u80fd\u8d70GET\u7684\u5f62\u5f0f\u3002<\/p>\n<figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u6d45\u8c08WEB\u8de8\u57df\u7684\u5b9e\u73b0\uff08\u524d\u7aef\u5411\uff09\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/images.cnblogs.com\/cnblogs_com\/vajoy\/558869\/o_div.jpg\" alt=\"http:\/\/images.cnblogs.com\/cnblogs_com\/vajoy\/558869\/o_div.jpg\"><\/figure>\n<p id=\"it5\"><strong>iframe\u5f62\u5f0f<\/strong><\/p>\n<p>\u5728\u5f88\u4e45\u4ee5\u524d\u7684\u77f3\u5668\u65f6\u4ee3\uff0c\u5bf9\u4e8e\u4e0d\u652f\u6301 XMLHttpRequest \u7684\u6d4f\u89c8\u5668\u7684\u6700\u4f73\u56de\u6eaf\u65b9\u6cd5\u4e4b\u4e00\u5c31\u662f\u4f7f\u7528IFRAME\u5bf9\u8c61\uff0c\u5f53\u7136\u5e38\u89c4\u53ea\u662f\u7528\u5b83\u6765\u5b9e\u73b0\u6d41\u6a21\u5f0f\u7684Comet\uff0c\u800c\u4e0d\u662f\u89e3\u51b3\u8de8\u57df\u901a\u4fe1\u7684\u95ee\u9898\u3002<\/p>\n<p>\u4f7f\u7528iframe\u8de8\u57df\u5176\u5b9e\u6709\u70b9\u5251\u8d70\u504f\u950b\u7684\u65e2\u89c6\u611f\uff0c\u4e5f\u5b58\u5728\u4e00\u4e9b\u9650\u5236\u6027\u3002\u4e0b\u9762\u5747\u6765\u4ecb\u7ecd\u4e0b\u3002<\/p>\n<p><strong>1.\u00a0document.domain<\/strong><\/p>\n<p>\u8be5\u65b9\u6cd5\u53ea\u9002\u5408\u4e3b\u57df\u76f8\u540c\u4f46\u5b50\u57df\u4e0d\u540c\u7684\u60c5\u51b5\uff0c\u6bd4\u5982 a.com \u548c www.a.com\uff0c\u6211\u4eec\u53ea\u9700\u8981\u7ed9\u8fd9\u4e24\u4e2a\u9875\u9762\u90fd\u52a0\u4e0a\u4e00\u53e5\u00a0<span style=\"color: #0689f8;\"><em>document.domain = &#8216;a.com&#8217;<\/em><\/span>\u00a0\uff0c\u5c31\u53ef\u4ee5\u5728\u5176\u4e2d\u4e00\u4e2a\u9875\u9762\u5d4c\u5957\u53e6\u4e00\u4e2a\u9875\u9762\uff0c\u7136\u540e\u8fdb\u884c\u7a97\u4f53\u95f4\u7684\u4ea4\u4e92\u3002<\/p>\n<p>\u4e3a\u4e86\u65b9\u4fbf\u6a21\u62df\u73af\u5883\uff0c\u6211\u4eec\u4fee\u6539\u4e0bhosts\u6587\u4ef6\uff1a<\/p>\n<p class=\"VJ_note\" style=\"color: #444444;\">127.0.0.1 \u00a0 \u00a0 a.com<br \/>\n127.0.0.1 \u00a0 \u00a0 www.a.com<\/p>\n<p>\u8fd9\u6837\u6211\u4eec\u8bbf\u95ee a.com \u7684\u65f6\u5019\u4fbf\u80fd\u6620\u5c04\u5230\u672c\u5730\u4e86\u3002<\/p>\n<p><em>\u9875\u9762a.html\uff08\u8bbf\u95ee\u5730\u5740http:\/\/a.com:8080\/sop\/a.html\uff09\uff1a<\/em><\/p>\n<div class=\"cnblogs_code\" style=\"color: #000000;\">\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a style=\"color: #4183c4;\" title=\"\u590d\u5236\u4ee3\u7801\"><figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u590d\u5236\u4ee3\u7801\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\"><\/figure><\/a><\/span><\/div>\n<pre><span style=\"color: #0000ff;\">&lt;!<\/span><span style=\"color: #ff00ff;\">DOCTYPE html<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">html<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">head <\/span><span style=\"color: #ff0000;\">lang<\/span><span style=\"color: #0000ff;\">=\"en\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n    <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">meta <\/span><span style=\"color: #ff0000;\">charset<\/span><span style=\"color: #0000ff;\">=\"UTF-8\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n    <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">title<\/span><span style=\"color: #0000ff;\">&gt;<\/span>iframe<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">title<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n    <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">script <\/span><span style=\"color: #ff0000;\">src<\/span><span style=\"color: #0000ff;\">=\"jq.js\"<\/span><span style=\"color: #0000ff;\">&gt;&lt;\/<\/span><span style=\"color: #800000;\">script<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">head<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">body<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">iframe <\/span><span style=\"color: #ff0000;\">src<\/span><span style=\"color: #0000ff;\">=\"http:\/\/www.a.com:8080\/sop\/b.html\"<\/span><span style=\"color: #0000ff;\">&gt;&lt;\/<\/span><span style=\"color: #800000;\">iframe<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">script<\/span><span style=\"color: #0000ff;\">&gt;<\/span><span style=\"color: #000000;\">\r\n    document.domain <\/span><span style=\"color: #000000;\">=<\/span> <span style=\"color: #000000;\">'<\/span><span style=\"color: #000000;\">a.com<\/span><span style=\"color: #000000;\">'<\/span><span style=\"color: #000000;\">;\r\n    $(<\/span><span style=\"color: #000000;\">\"<\/span><span style=\"color: #000000;\">iframe<\/span><span style=\"color: #000000;\">\"<\/span><span style=\"color: #000000;\">).load(<\/span><span style=\"color: #0000ff;\">function<\/span><span style=\"color: #000000;\">(){\r\n        $(<\/span><span style=\"color: #0000ff;\">this<\/span><span style=\"color: #000000;\">).contents().find(<\/span><span style=\"color: #000000;\">\"<\/span><span style=\"color: #000000;\">div<\/span><span style=\"color: #000000;\">\"<\/span><span style=\"color: #000000;\">).text(<\/span><span style=\"color: #000000;\">\"<\/span><span style=\"color: #000000;\">OK<\/span><span style=\"color: #000000;\">\"<\/span><span style=\"color: #000000;\">)\r\n    })\r\n<\/span><span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">script<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">body<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">html<\/span><span style=\"color: #0000ff;\">&gt;<\/span><\/pre>\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a style=\"color: #4183c4;\" title=\"\u590d\u5236\u4ee3\u7801\"><figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u590d\u5236\u4ee3\u7801\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\"><\/figure><\/a><\/span><\/div>\n<\/div>\n<p><em>\u9875\u9762b.html\uff08\u8bbf\u95ee\u5730\u5740http:\/\/www.a.com:8080\/sop\/b.html\uff09\uff1a<\/em><\/p>\n<div class=\"cnblogs_code\" style=\"color: #000000;\">\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a style=\"color: #4183c4;\" title=\"\u590d\u5236\u4ee3\u7801\"><figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u590d\u5236\u4ee3\u7801\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\"><\/figure><\/a><\/span><\/div>\n<pre><span style=\"color: #0000ff;\">&lt;!<\/span><span style=\"color: #ff00ff;\">DOCTYPE html<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">html<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">head <\/span><span style=\"color: #ff0000;\">lang<\/span><span style=\"color: #0000ff;\">=\"en\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n    <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">meta <\/span><span style=\"color: #ff0000;\">charset<\/span><span style=\"color: #0000ff;\">=\"UTF-8\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n    <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">title<\/span><span style=\"color: #0000ff;\">&gt;<\/span>b.html<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">title<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n    <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">script <\/span><span style=\"color: #ff0000;\">src<\/span><span style=\"color: #0000ff;\">=\"jq.js\"<\/span><span style=\"color: #0000ff;\">&gt;&lt;\/<\/span><span style=\"color: #800000;\">script<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">head<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">body<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">div<\/span><span style=\"color: #0000ff;\">&gt;&lt;\/<\/span><span style=\"color: #800000;\">div<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">script<\/span><span style=\"color: #0000ff;\">&gt;<\/span><span style=\"color: #000000;\">\r\n    document.domain <\/span><span style=\"color: #000000;\">=<\/span> <span style=\"color: #000000;\">'<\/span><span style=\"color: #000000;\">a.com<\/span><span style=\"color: #000000;\">'<\/span><span style=\"color: #000000;\">;\r\n<\/span><span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">script<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">body<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">html<\/span><span style=\"color: #0000ff;\">&gt;<\/span><\/pre>\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a style=\"color: #4183c4;\" title=\"\u590d\u5236\u4ee3\u7801\"><figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u590d\u5236\u4ee3\u7801\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\"><\/figure><\/a><\/span><\/div>\n<\/div>\n<p>\u8fd9\u65f6\u5019\u6211\u4eec\u8bbf\u95eea.html\u4f1a\u53d1\u73b0b.html\u91cc\u7684\u5185\u5bb9\u88ab\u6210\u529f\u4fee\u6539\uff1a<\/p>\n<figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u6d45\u8c08WEB\u8de8\u57df\u7684\u5b9e\u73b0\uff08\u524d\u7aef\u5411\uff09\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/images.cnitblog.com\/blog\/561179\/201502\/191041489719370.png\" alt=\"http:\/\/images.cnitblog.com\/blog\/561179\/201502\/191041489719370.png\"><\/figure>\n<p>&nbsp;<\/p>\n<p><strong>2.\u00a0location.hash<\/strong><\/p>\n<p>location.hash\/url hash \u662f\u4e2a\u597d\u4e1c\u897f\uff0c\u5728\u4e4b\u524d\u6211\u4eec\u66fe\u5229\u7528avalon\u524d\u7aef\u8def\u7531\u6765\u5b9e\u73b0\u7b80\u5355\u7684SPA\u9875\u9762\uff08<a style=\"color: #4183c4;\" href=\"http:\/\/www.cnblogs.com\/vajoy\/p\/4217149.html\" target=\"_blank\">\u8fd9\u7bc7\u6587\u7ae0<\/a>\uff09\uff0c\u4fbf\u662f\u52a9\u529b\u4e8elocation.hash\u3002<\/p>\n<p>\u5229\u7528url\u5730\u5740\u6539\u53d8\u4f46\u4e0d\u5237\u65b0\u9875\u9762\u7684\u7279\u6027<em>\uff08\u5728url\uff1a http:\/\/a.com#hello \u4e2d\u7684 &#8216;#hello&#8217; \u5c31\u662flocation.hash\uff0c\u6539\u53d8hash\u5e76\u4e0d\u4f1a\u5bfc\u81f4\u9875\u9762\u5237\u65b0\uff0c\u6240\u4ee5\u53ef\u4ee5\u5229\u7528hash\u503c\u6765\u8fdb\u884c\u6570\u636e\u4f20\u9012\uff09<\/em>\u548ciframe\uff0c\u6211\u4eec\u53ef\u4ee5\u5b9e\u73b0\u8de8\u57df\u4f20\u9012\u7b80\u5355\u4fe1\u606f\u3002<\/p>\n<p>\u4e0d\u8fc7\u8fd9\u4e2a\u5b9e\u73b0\u7565\u9ebb\u70e6\uff0c\u5e38\u89c4\u6211\u4eec\u4f1a\u60f3\uff0c\u5728a.html\u4e0b\u5d4c\u5957\u4e00\u4e2a\u4e0d\u540c\u57df\u7684b.html\uff0c\u7136\u540e a \u548c b \u4e92\u76f8\u4fee\u6539\u5f7c\u6b64\u7684hash\u503c\uff0c\u4e5f\u4e0d\u65ad\u76d1\u542c\u81ea\u5df1\u7684hash\u503c\uff0c\u4ece\u800c\u5b9e\u73b0\u6211\u4eec\u7684\u9700\u6c42\u3002\u53ef\u60dc\u7684\u662f\uff0c\u5927\u90e8\u5206\u6d4f\u89c8\u5668\u4e0d\u5141\u8bb8\u4fee\u6539\u4e0d\u540c\u57df\u7684\u7236\u7a97\u4f53\u7684hash\u503c\uff08parent.location.hash\uff09\uff0c\u4e5f\u5c31\u662f\u8bf4a\u867d\u80fd\u4fee\u6539b\u7684hash\u503c\uff0c\u4f46\u53cd\u8fc7\u6765\u7531b\u4fee\u6539a\u7684hash\u503c\u5374\u4e0d\u6210\u7acb\u3002<\/p>\n<p>\u4e3a\u4e86\u89e3\u9664\u8be5\u9650\u5236\uff0c\u6211\u4eec\u53ef\u4ee5\u5728b\u9875\u9762\u4e2d\u589e\u52a0\u4e00\u4e2a\u548ca\u540c\u57df\u7684iframe\uff08c.html\uff09\u6765\u505a\u4ee3\u7406\uff0c\u8fd9\u6837b\u53ef\u4ee5\u4fee\u6539c\uff0c\u800cc\u53ef\u4ee5\u4fee\u6539a\uff08\u5373\u4fee\u6539parent.parent.location.hash\uff0c\u522b\u5fd8\u4e86a\u548cc\u540c\u57df\u54e6\uff09\u3002\u4e0b\u9762\u76f4\u63a5\u6a21\u62df\u8fd9\u4e09\u4e2a\u9875\u9762\uff0c\u505a\u5230\u8ba9b\u5411a\u4f20\u8f93\u4fe1\u606f\uff08\u5f53\u7136\u672c\u8d28\u4e0a\u662fb\u5411c\uff0cc\u518d\u5411a\u4f20\u8f93\uff09\uff1a<\/p>\n<p><em>a.html\uff08\u8bbf\u95ee\u5730\u5740http:\/\/a.com:8080\/sop\/a.html\uff09\uff1a<\/em><\/p>\n<div class=\"cnblogs_code\" style=\"color: #000000;\">\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a style=\"color: #4183c4;\" title=\"\u590d\u5236\u4ee3\u7801\"><figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u590d\u5236\u4ee3\u7801\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\"><\/figure><\/a><\/span><\/div>\n<pre><span style=\"color: #0000ff;\">&lt;!<\/span><span style=\"color: #ff00ff;\">DOCTYPE html<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">html<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">head <\/span><span style=\"color: #ff0000;\">lang<\/span><span style=\"color: #0000ff;\">=\"en\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n    <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">meta <\/span><span style=\"color: #ff0000;\">charset<\/span><span style=\"color: #0000ff;\">=\"UTF-8\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n    <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">title<\/span><span style=\"color: #0000ff;\">&gt;<\/span>iframe<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">title<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n    <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">script <\/span><span style=\"color: #ff0000;\">src<\/span><span style=\"color: #0000ff;\">=\"jq.js\"<\/span><span style=\"color: #0000ff;\">&gt;&lt;\/<\/span><span style=\"color: #800000;\">script<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">head<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">body<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">div<\/span><span style=\"color: #0000ff;\">&gt;&lt;\/<\/span><span style=\"color: #800000;\">div<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">iframe <\/span><span style=\"color: #ff0000;\">src<\/span><span style=\"color: #0000ff;\">=\"http:\/\/www.a.com:8080\/sop\/b.html\"<\/span><span style=\"color: #ff0000;\"> style<\/span><span style=\"color: #0000ff;\">=\"display: none;\"<\/span><span style=\"color: #0000ff;\">&gt;&lt;\/<\/span><span style=\"color: #800000;\">iframe<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">script<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n    <span style=\"color: #0000ff;\">var<\/span><span style=\"color: #000000;\"> hash <\/span><span style=\"color: #000000;\">=<\/span> <span style=\"color: #000000;\">\"\"<\/span><span style=\"color: #000000;\">;\r\n    <\/span><span style=\"color: #0000ff;\">function<\/span><span style=\"color: #000000;\"> checkHash() {\r\n        <\/span><span style=\"color: #0000ff;\">var<\/span><span style=\"color: #000000;\"> data <\/span><span style=\"color: #000000;\">=<\/span><span style=\"color: #000000;\"> location.hash <\/span><span style=\"color: #000000;\">?<\/span><span style=\"color: #000000;\"> location.hash.substring(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">) : hash;\r\n        <\/span><span style=\"color: #0000ff;\">if<\/span><span style=\"color: #000000;\"> (hash <\/span><span style=\"color: #000000;\">!==<\/span><span style=\"color: #000000;\"> data) {\r\n            $(<\/span><span style=\"color: #000000;\">\"<\/span><span style=\"color: #000000;\">div<\/span><span style=\"color: #000000;\">\"<\/span><span style=\"color: #000000;\">).text(<\/span><span style=\"color: #000000;\">'<\/span><span style=\"color: #000000;\">hash\u53d8\u5316\u4e3a\uff1a<\/span><span style=\"color: #000000;\">'<\/span> <span style=\"color: #000000;\">+<\/span><span style=\"color: #000000;\"> data);\r\n            hash <\/span><span style=\"color: #000000;\">=<\/span><span style=\"color: #000000;\"> data;\r\n        }\r\n    }\r\n    setInterval(checkHash, <\/span><span style=\"color: #000000;\">2000<\/span><span style=\"color: #000000;\">);\r\n<\/span><span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">script<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">body<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">html<\/span><span style=\"color: #0000ff;\">&gt;<\/span><\/pre>\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a style=\"color: #4183c4;\" title=\"\u590d\u5236\u4ee3\u7801\"><figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u590d\u5236\u4ee3\u7801\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\"><\/figure><\/a><\/span><\/div>\n<\/div>\n<p><em>b.html\uff08\u8bbf\u95ee\u5730\u5740http:\/\/www.a.com:8080\/sop\/b.html\uff09\uff1a<\/em><\/p>\n<div class=\"cnblogs_code\" style=\"color: #000000;\">\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a style=\"color: #4183c4;\" title=\"\u590d\u5236\u4ee3\u7801\"><figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u590d\u5236\u4ee3\u7801\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\"><\/figure><\/a><\/span><\/div>\n<pre><span style=\"color: #0000ff;\">&lt;!<\/span><span style=\"color: #ff00ff;\">DOCTYPE html<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">html<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">head <\/span><span style=\"color: #ff0000;\">lang<\/span><span style=\"color: #0000ff;\">=\"en\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n    <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">meta <\/span><span style=\"color: #ff0000;\">charset<\/span><span style=\"color: #0000ff;\">=\"UTF-8\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n    <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">title<\/span><span style=\"color: #0000ff;\">&gt;<\/span>b.html<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">title<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">head<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">body<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">script<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n    <span style=\"color: #0000ff;\">try<\/span><span style=\"color: #000000;\"> {  <\/span><span style=\"color: #008000;\">\/\/<\/span><span style=\"color: #008000;\">\u6709\u7684\u6d4f\u89c8\u5668\uff08Firefox\uff09\u8fd8\u662f\u53ef\u4ee5\u76f4\u63a5\u64cd\u4f5cparent.location.hash\u7684<\/span>\r\n<span style=\"color: #000000;\">        parent.location.hash <\/span><span style=\"color: #000000;\">=<\/span> <span style=\"color: #000000;\">'<\/span><span style=\"color: #000000;\">a=1&amp;b=2<\/span><span style=\"color: #000000;\">'<\/span><span style=\"color: #000000;\">;\r\n    } <\/span><span style=\"color: #0000ff;\">catch<\/span><span style=\"color: #000000;\"> (e) {\r\n        <\/span><span style=\"color: #008000;\">\/\/<\/span><span style=\"color: #008000;\"> ie\u3001chrome\u7684\u5b89\u5168\u673a\u5236\u65e0\u6cd5\u4fee\u6539parent.location.hash<\/span>\r\n        <span style=\"color: #008000;\">\/\/<\/span><span style=\"color: #008000;\"> \u6240\u4ee5\u8981\u5229\u7528\u4e00\u4e2a\u4ee3\u7406iframe<\/span>\r\n        <span style=\"color: #0000ff;\">var<\/span><span style=\"color: #000000;\"> ifrproxy <\/span><span style=\"color: #000000;\">=<\/span><span style=\"color: #000000;\"> document.createElement(<\/span><span style=\"color: #000000;\">'<\/span><span style=\"color: #000000;\">iframe<\/span><span style=\"color: #000000;\">'<\/span><span style=\"color: #000000;\">);\r\n        ifrproxy.style.display <\/span><span style=\"color: #000000;\">=<\/span> <span style=\"color: #000000;\">'<\/span><span style=\"color: #000000;\">none<\/span><span style=\"color: #000000;\">'<\/span><span style=\"color: #000000;\">;\r\n        ifrproxy.src <\/span><span style=\"color: #000000;\">=<\/span> <span style=\"color: #000000;\">'<\/span><span style=\"color: #000000;\">http:\/\/a.com:8080\/sop\/c.html#a=1&amp;b=2<\/span><span style=\"color: #000000;\">'<\/span><span style=\"color: #000000;\">; <\/span><span style=\"color: #008000;\">\/\/<\/span><span style=\"color: #008000;\">\u5fc5\u987b\u8ddfa.html\u540c\u57df<\/span>\r\n<span style=\"color: #000000;\">        document.body.appendChild(ifrproxy);\r\n    }\r\n<\/span><span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">script<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">body<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">html<\/span><span style=\"color: #0000ff;\">&gt;<\/span><\/pre>\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a style=\"color: #4183c4;\" title=\"\u590d\u5236\u4ee3\u7801\"><figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u590d\u5236\u4ee3\u7801\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\"><\/figure><\/a><\/span><\/div>\n<\/div>\n<p><em>c.html\uff08\u8bbf\u95ee\u5730\u5740http:\/\/a.com:8080\/sop\/c.html\uff09\uff1a<\/em><\/p>\n<div class=\"cnblogs_code\" style=\"color: #000000;\">\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a style=\"color: #4183c4;\" title=\"\u590d\u5236\u4ee3\u7801\"><figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u590d\u5236\u4ee3\u7801\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\"><\/figure><\/a><\/span><\/div>\n<pre><span style=\"color: #0000ff;\">&lt;!<\/span><span style=\"color: #ff00ff;\">DOCTYPE html<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">html<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">head <\/span><span style=\"color: #ff0000;\">lang<\/span><span style=\"color: #0000ff;\">=\"en\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n    <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">meta <\/span><span style=\"color: #ff0000;\">charset<\/span><span style=\"color: #0000ff;\">=\"UTF-8\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n    <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">title<\/span><span style=\"color: #0000ff;\">&gt;<\/span>c.html<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">title<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n    <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">script <\/span><span style=\"color: #ff0000;\">src<\/span><span style=\"color: #0000ff;\">=\"jq.js\"<\/span><span style=\"color: #0000ff;\">&gt;&lt;\/<\/span><span style=\"color: #800000;\">script<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">head<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">body<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">script<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n    <span style=\"color: #008000;\">\/\/<\/span><span style=\"color: #008000;\">\u56e0\u4e3aparent.parent\u548c\u81ea\u8eab\u5c5e\u4e8e\u540c\u4e00\u4e2a\u57df\uff0c\u6240\u4ee5\u53ef\u4ee5\u6539\u53d8\u5176location.hash\u7684\u503c<\/span>\r\n<span style=\"color: #000000;\">    parent.parent.location.hash <\/span><span style=\"color: #000000;\">=<\/span><span style=\"color: #000000;\"> self.location.hash.substring(<\/span><span style=\"color: #000000;\">1<\/span><span style=\"color: #000000;\">);\r\n<\/span><span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">script<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">body<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">html<\/span><span style=\"color: #0000ff;\">&gt;<\/span><\/pre>\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a style=\"color: #4183c4;\" title=\"\u590d\u5236\u4ee3\u7801\"><figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u590d\u5236\u4ee3\u7801\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\"><\/figure><\/a><\/span><\/div>\n<\/div>\n<p>\u8bbf\u95eea.html\u540e\uff0c\u6548\u679c\u5982\u4e0b\uff1a<\/p>\n<figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u6d45\u8c08WEB\u8de8\u57df\u7684\u5b9e\u73b0\uff08\u524d\u7aef\u5411\uff09\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/images.cnitblog.com\/blog\/561179\/201502\/191135488145047.png\" alt=\"http:\/\/images.cnitblog.com\/blog\/561179\/201502\/191135488145047.png\"><\/figure>\n<p>\u6210\u529f\u4f20\u9012\u4e86\u6570\u636e\u201ca=1&amp;b=2\u201d\u3002\u8be5\u65b9\u6cd5\u4f18\u70b9\u662f\u517c\u5bb9\u8f83\u597d\uff0c\u7f3a\u70b9\u5374\u663e\u800c\u6613\u89c1\u2014\u2014\u53ef\u4f20\u9012\u7684\u6570\u636e\u7c7b\u578b\u3001\u957f\u5ea6\u5747\u53d7\u9650\uff0c\u6570\u636e\u8fd8\u662f\u76f4\u63a5\u663e\u793a\u5728url\u4e0a\u7684\uff0c\u4e0d\u591f\u5b89\u5168\u3002\u53e6\u5916\u5176\u5b9e\u73b0\u4e5f\u8f83\u9ebb\u70e6\uff0c\u8fd8\u8981\u641esetInterval\u4e0d\u65ad\u76d1\u542c\uff0c\u8ddf\u8f6e\u8be2\u6ca1\u533a\u522b\u4e86\u3002<\/p>\n<p>&nbsp;<\/p>\n<p><strong>3.\u00a0window.name<\/strong><\/p>\n<p>window.name \u7684\u7f8e\u5999\u4e4b\u5904\u5728\u4e8e\uff0c\u7a97\u4f53\u7684name\u503c\u5728\u9875\u9762\u8df3\u8f6c\u540e\u4f9d\u65e7\u5b58\u5728\u3001\u4fdd\u6301\u539f\u503c\uff08\u5373\u4f7f\u8df3\u8f6c\u7684\u9875\u9762\u4e0d\u540c\u57df\uff09\uff0c\u5e76\u4e14\u53ef\u4ee5\u652f\u6301\u975e\u5e38\u957f\u7684 name \u503c\uff082MB\uff09\u3002<\/p>\n<p>\u5982\u679c\u6211\u4eec\u5728a\u9875\u9762\u9700\u8981\u548c\u4e0d\u540c\u57df\u7684b\u9875\u9762\u901a\u4fe1\uff0c\u6211\u4eec\u53ef\u4ee5\u73b0\u5728a\u9875\u9762\u5d4c\u5165b\u9875\u9762\uff0c\u5f85b\u9875\u9762\u6709\u6570\u636e\u8981\u4f20\u9012\u65f6\uff0c\u628a\u6570\u636e\u9644\u52a0\u5230b\u9875\u9762\u7a97\u53e3\u7684window.name\u4e0a\uff0c\u7136\u540e\u628a\u7a97\u53e3\u8df3\u8f6c\u5230\u4e00\u4e2a\u548ca\u9875\u9762\u540c\u57df\u7684c\u9875\u9762\uff0c\u8fd9\u6837a\u5c31\u80fd\u8f7b\u677e\u83b7\u53d6\u5230\u5185\u5d4c\u7a97\u4f53\uff08\u5730\u5740\u5df2\u7531\u8de8\u57df\u7684b\u53d8\u4e3a\u540c\u57df\u7684c\uff09\u7684window.name\u4e86\uff08\u5982\u679c\u9700\u8981\uff0c\u83b7\u53d6\u5230\u6570\u636e\u540e\u518d\u628ac\u8df3\u8f6c\u5230b\uff0c\u5e76\u91cd\u590d\u5faa\u73af\u524d\u9762\u7684\u6b65\u9aa4\uff0c\u540c\u65f6a\u9875\u9762\u4ee5setInterval\u7684\u5f62\u5f0f\u6765\u8fbe\u5230\u8f6e\u8be2\u7684\u6548\u679c\uff09\u3002\u6211\u4eec\u7ee7\u7eed\u6a21\u62df\u8fd9\u4e09\u4e2a\u9875\u9762\uff1a<\/p>\n<p><em>a.html\uff08\u8bbf\u95ee\u5730\u5740http:\/\/a.com:8080\/sop\/a.html\uff09\uff1a<\/em><\/p>\n<div class=\"cnblogs_code\" style=\"color: #000000;\">\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a style=\"color: #4183c4;\" title=\"\u590d\u5236\u4ee3\u7801\"><figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u590d\u5236\u4ee3\u7801\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\"><\/figure><\/a><\/span><\/div>\n<pre><span style=\"color: #0000ff;\">&lt;!<\/span><span style=\"color: #ff00ff;\">DOCTYPE html<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">html<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">head <\/span><span style=\"color: #ff0000;\">lang<\/span><span style=\"color: #0000ff;\">=\"en\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n    <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">meta <\/span><span style=\"color: #ff0000;\">charset<\/span><span style=\"color: #0000ff;\">=\"UTF-8\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n    <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">title<\/span><span style=\"color: #0000ff;\">&gt;<\/span>window.name<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">title<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n    <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">script <\/span><span style=\"color: #ff0000;\">src<\/span><span style=\"color: #0000ff;\">=\"jq.js\"<\/span><span style=\"color: #0000ff;\">&gt;&lt;\/<\/span><span style=\"color: #800000;\">script<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">head<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">body<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">div<\/span><span style=\"color: #0000ff;\">&gt;&lt;\/<\/span><span style=\"color: #800000;\">div<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">iframe <\/span><span style=\"color: #ff0000;\">src<\/span><span style=\"color: #0000ff;\">=\"http:\/\/www.a.com:8080\/sop\/b.html\"<\/span><span style=\"color: #ff0000;\"> style<\/span><span style=\"color: #0000ff;\">=\"display: none;\"<\/span><span style=\"color: #0000ff;\">&gt;&lt;\/<\/span><span style=\"color: #800000;\">iframe<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">script<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n    <span style=\"color: #0000ff;\">var<\/span><span style=\"color: #000000;\">ifr <\/span><span style=\"color: #000000;\">=<\/span><span style=\"color: #000000;\"> window.frames[<\/span><span style=\"color: #000000;\">0<\/span><span style=\"color: #000000;\">],\r\n        loc <\/span><span style=\"color: #000000;\">=<\/span> <span style=\"color: #000000;\">\"\"<\/span><span style=\"color: #000000;\">,\r\n        data <\/span><span style=\"color: #000000;\">=<\/span> <span style=\"color: #000000;\">\"\"<\/span><span style=\"color: #000000;\">;\r\n    <\/span><span style=\"color: #0000ff;\">function<\/span><span style=\"color: #000000;\"> checkData(){\r\n        loc <\/span><span style=\"color: #000000;\">=<\/span><span style=\"color: #000000;\"> ifr.location;\r\n        <\/span><span style=\"color: #0000ff;\">if<\/span><span style=\"color: #000000;\">(loc.host){ <\/span><span style=\"color: #008000;\">\/\/<\/span><span style=\"color: #008000;\">\u83b7\u53d6\u5230\u4e86\uff0c\u8bf4\u660eiframe\u5df2\u8f6c\u5230\u540c\u57df\u7684c\u9875\u9762<\/span>\r\n            <span style=\"color: #0000ff;\">if<\/span><span style=\"color: #000000;\">(ifr.name <\/span><span style=\"color: #000000;\">!==<\/span><span style=\"color: #000000;\"> data){ <\/span><span style=\"color: #008000;\">\/\/<\/span><span style=\"color: #008000;\">\u8bf4\u660e\u6709\u65b0\u6570\u636e<\/span>\r\n<span style=\"color: #000000;\">                data <\/span><span style=\"color: #000000;\">=<\/span><span style=\"color: #000000;\"> ifr.name;\r\n                $(<\/span><span style=\"color: #000000;\">\"<\/span><span style=\"color: #000000;\">div<\/span><span style=\"color: #000000;\">\"<\/span><span style=\"color: #000000;\">).text(JSON.parse(data).name);\r\n                ifr.location <\/span><span style=\"color: #000000;\">=<\/span> <span style=\"color: #000000;\">\"<\/span><span style=\"color: #000000;\">http:\/\/www.a.com:8080\/sop\/b.html<\/span><span style=\"color: #000000;\">\"<\/span><span style=\"color: #000000;\">; <\/span><span style=\"color: #008000;\">\/\/<\/span><span style=\"color: #008000;\">\u6570\u636e\u6536\u5230\u540e\u91cd\u56deb\u9875\u9762\u63a5\u6536\u65b0\u6570\u636e<\/span>\r\n<span style=\"color: #000000;\">            }\r\n        }<\/span><span style=\"color: #0000ff;\">else<\/span> <span style=\"color: #0000ff;\">return<\/span><span style=\"color: #000000;\">;\r\n    }\r\n\r\n    setInterval(checkData,<\/span><span style=\"color: #000000;\">2000<\/span><span style=\"color: #000000;\">); <\/span><span style=\"color: #008000;\">\/\/<\/span><span style=\"color: #008000;\">\u6bcf2\u79d2\u8f6e\u8be2\u4e00\u6b21<\/span>\r\n\r\n<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">script<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">body<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">html<\/span><span style=\"color: #0000ff;\">&gt;<\/span><\/pre>\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a style=\"color: #4183c4;\" title=\"\u590d\u5236\u4ee3\u7801\"><figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u590d\u5236\u4ee3\u7801\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\"><\/figure><\/a><\/span><\/div>\n<\/div>\n<p><em>b.html\uff08\u8bbf\u95ee\u5730\u5740http:\/\/www.a.com:8080\/sop\/b.html\uff09\uff1a<\/em><\/p>\n<div class=\"cnblogs_code\" style=\"color: #000000;\">\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a style=\"color: #4183c4;\" title=\"\u590d\u5236\u4ee3\u7801\"><figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u590d\u5236\u4ee3\u7801\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\"><\/figure><\/a><\/span><\/div>\n<pre><span style=\"color: #0000ff;\">&lt;!<\/span><span style=\"color: #ff00ff;\">DOCTYPE html<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">html<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">head <\/span><span style=\"color: #ff0000;\">lang<\/span><span style=\"color: #0000ff;\">=\"en\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n    <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">meta <\/span><span style=\"color: #ff0000;\">charset<\/span><span style=\"color: #0000ff;\">=\"UTF-8\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n    <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">title<\/span><span style=\"color: #0000ff;\">&gt;<\/span>b.html<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">title<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">head<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">body<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">script<\/span><span style=\"color: #0000ff;\">&gt;<\/span><span style=\"color: #000000;\">\r\n    window.name <\/span><span style=\"color: #000000;\">=<\/span> <span style=\"color: #000000;\">'<\/span><span style=\"color: #000000;\">{\"name\":\"vajoy\",\"addr\":\"shenzhen\"}<\/span><span style=\"color: #000000;\">'<\/span><span style=\"color: #000000;\">;\r\n    location <\/span><span style=\"color: #000000;\">=<\/span> <span style=\"color: #000000;\">\"<\/span><span style=\"color: #000000;\">http:\/\/a.com:8080\/sop\/c.html<\/span><span style=\"color: #000000;\">\"<\/span><span style=\"color: #000000;\">; <\/span><span style=\"color: #008000;\">\/\/<\/span><span style=\"color: #008000;\">\u8df3\u8f6c\u5230\u548ca\u540c\u57df\u7684c\u9875\u9762<\/span>\r\n<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">script<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">body<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">html<\/span><span style=\"color: #0000ff;\">&gt;<\/span><\/pre>\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a style=\"color: #4183c4;\" title=\"\u590d\u5236\u4ee3\u7801\"><figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u590d\u5236\u4ee3\u7801\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\"><\/figure><\/a><\/span><\/div>\n<\/div>\n<p>c.html\u9875\u9762\u5565\u90fd\u4e0d\u7528\u5199\uff0c\u7eaf\u7cb9\u4e00\u4e2a\u7a7a\u7684html\u5373\u53ef\uff0c\u6bd5\u7adf\u53ea\u662f\u4e00\u4e2a\u4ee3\u7406\u9875\u9762\u7f62\u4e86\u3002<\/p>\n<p>\u6211\u4eec\u8bbf\u95eea\u9875\u9762\uff0c\u4f1a\u6210\u529f\u6536\u5230\u6765\u81ea\u4e0d\u540c\u57dfb\u7684\u6570\u636e\uff1a<\/p>\n<figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u6d45\u8c08WEB\u8de8\u57df\u7684\u5b9e\u73b0\uff08\u524d\u7aef\u5411\uff09\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/images.cnitblog.com\/blog\/561179\/201502\/191305425338136.png\" alt=\"http:\/\/images.cnitblog.com\/blog\/561179\/201502\/191305425338136.png\"><\/figure>\n<figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u6d45\u8c08WEB\u8de8\u57df\u7684\u5b9e\u73b0\uff08\u524d\u7aef\u5411\uff09\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/images.cnblogs.com\/cnblogs_com\/vajoy\/558869\/o_div.jpg\" alt=\"http:\/\/images.cnblogs.com\/cnblogs_com\/vajoy\/558869\/o_div.jpg\"><\/figure>\n<p id=\"it6\"><strong>\u5176\u5b83\u5f62\u5f0f<\/strong><\/p>\n<p><strong>1. \u670d\u52a1\u5668\u4ee3\u7406<\/strong><\/p>\n<p>\u9875\u9762\u76f4\u63a5\u5411\u540c\u57df\u7684\u670d\u52a1\u7aef\u53d1\u8bf7\u6c42\uff0c\u670d\u52a1\u7aef\u8fdb\u884c\u8de8\u57df\u5904\u7406\u6216\u722c\u866b\u540e\uff0c\u518d\u628a\u6570\u636e\u8fd4\u56de\u7ed9\u5ba2\u6237\u7aef\u9875\u9762\u3002\u4f9d\u65e7\u7528node\/iojs\u6765\u6a21\u62df\u670d\u52a1\u7aef\uff0c\u4e0b\u9762\u7684\u4ee3\u7801\u6765\u81ea<a style=\"color: #4183c4;\" href=\"http:\/\/www.cnblogs.com\/dojo-lzz\/p\/4265637.html\" target=\"_blank\">\u6728\u7684\u6811\u7684\u6587\u7ae0<\/a>\uff1a<\/p>\n<p><em>\u5ba2\u6237\u7aef\uff1a<\/em><\/p>\n<div class=\"cnblogs_code\" style=\"color: #000000;\"><figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"code_img_opened lazyload\" title=\"\u6d45\u8c08WEB\u8de8\u57df\u7684\u5b9e\u73b0\uff08\u524d\u7aef\u5411\uff09\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/images.cnblogs.com\/OutliningIndicators\/ExpandedBlockStart.gif\" alt=\"http:\/\/images.cnblogs.com\/OutliningIndicators\/ExpandedBlockStart.gif\"><\/figure><\/p>\n<div id=\"cnblogs_code_open_e1b2009d-76d9-4ef4-bfde-6af628a36018\" class=\"cnblogs_code_hide\">\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a style=\"color: #4183c4;\" title=\"\u590d\u5236\u4ee3\u7801\"><figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u590d\u5236\u4ee3\u7801\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\"><\/figure><\/a><\/span><\/div>\n<pre><span style=\"color: #0000ff;\">&lt;!<\/span><span style=\"color: #ff00ff;\">doctype html<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n<span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">html<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">head<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n    <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">meta <\/span><span style=\"color: #ff0000;\">charset<\/span><span style=\"color: #0000ff;\">=\"utf-8\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n    <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">meta <\/span><span style=\"color: #ff0000;\">name<\/span><span style=\"color: #0000ff;\">=\"viewport\"<\/span><span style=\"color: #ff0000;\"> content<\/span><span style=\"color: #0000ff;\">=\"initial-scale=1, maximum-scale=1,user-scalable=no\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n    <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">title<\/span><span style=\"color: #0000ff;\">&gt;<\/span>proxy_test<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">title<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n\r\n    <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">script<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n      <span style=\"color: #0000ff;\">var<\/span><span style=\"color: #000000;\"> f <\/span><span style=\"color: #000000;\">=<\/span> <span style=\"color: #0000ff;\">function<\/span><span style=\"color: #000000;\">(data){\r\n        alert(data.name);\r\n      }\r\n      <\/span><span style=\"color: #0000ff;\">var<\/span><span style=\"color: #000000;\"> xhr <\/span><span style=\"color: #000000;\">=<\/span> <span style=\"color: #0000ff;\">new<\/span><span style=\"color: #000000;\"> XMLHttpRequest();\r\n      xhr.onload <\/span><span style=\"color: #000000;\">=<\/span> <span style=\"color: #0000ff;\">function<\/span><span style=\"color: #000000;\">(){\r\n        alert(xhr.responseText);\r\n      };\r\n      xhr.open(<\/span><span style=\"color: #000000;\">'<\/span><span style=\"color: #000000;\">POST<\/span><span style=\"color: #000000;\">'<\/span><span style=\"color: #000000;\">, <\/span><span style=\"color: #000000;\">'<\/span><span style=\"color: #000000;\">http:\/\/localhost:8888\/proxy?http:\/\/geocode.arcgis.com\/arcgis\/rest\/services\/World\/GeocodeServer<\/span><span style=\"color: #000000;\">'<\/span><span style=\"color: #000000;\">, <\/span><span style=\"color: #0000ff;\">true<\/span><span style=\"color: #000000;\">);\r\n      xhr.send(<\/span><span style=\"color: #000000;\">\"<\/span><span style=\"color: #000000;\">f=json<\/span><span style=\"color: #000000;\">\"<\/span><span style=\"color: #000000;\">);\r\n    <\/span><span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">script<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n  <span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">head<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n  \r\n  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">body<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\r\n  <span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">body<\/span><span style=\"color: #0000ff;\">&gt;<\/span><\/pre>\n<\/div>\n<\/div>\n<p><em>\u670d\u52a1\u7aef\uff1a<\/em><\/p>\n<div class=\"cnblogs_code\" style=\"color: #000000;\"><figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"code_img_opened lazyload\" title=\"\u6d45\u8c08WEB\u8de8\u57df\u7684\u5b9e\u73b0\uff08\u524d\u7aef\u5411\uff09\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/images.cnblogs.com\/OutliningIndicators\/ExpandedBlockStart.gif\" alt=\"http:\/\/images.cnblogs.com\/OutliningIndicators\/ExpandedBlockStart.gif\"><\/figure><\/p>\n<div id=\"cnblogs_code_open_6a4b458a-c9d9-47e1-9628-91f18059eb82\" class=\"cnblogs_code_hide\">\n<div class=\"cnblogs_code_toolbar\"><span class=\"cnblogs_code_copy\"><a style=\"color: #4183c4;\" title=\"\u590d\u5236\u4ee3\u7801\"><figure class=\"mdx-lazyload-container\" style=\"\"><div style=\"padding-top:50%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img class=\"lazyload\" title=\"\u590d\u5236\u4ee3\u7801\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"http:\/\/common.cnblogs.com\/images\/copycode.gif\" alt=\"\u590d\u5236\u4ee3\u7801\"><\/figure><\/a><\/span><\/div>\n<pre><span style=\"color: #0000ff;\">var<\/span> proxyUrl = \"\"<span style=\"color: #000000;\">;\r\n      <\/span><span style=\"color: #0000ff;\">if<\/span> (req.url.indexOf('?') &gt; -1<span style=\"color: #000000;\">) {\r\n          proxyUrl <\/span>= req.url.substr(req.url.indexOf('?') + 1<span style=\"color: #000000;\">);\r\n          console.log(proxyUrl);\r\n      }\r\n      <\/span><span style=\"color: #0000ff;\">if<\/span> (req.method === 'GET'<span style=\"color: #000000;\">) {\r\n          request.get(proxyUrl).pipe(res);\r\n      } <\/span><span style=\"color: #0000ff;\">else<\/span> <span style=\"color: #0000ff;\">if<\/span> (req.method === 'POST'<span style=\"color: #000000;\">) {\r\n          <\/span><span style=\"color: #0000ff;\">var<\/span> post = '';     <span style=\"color: #008000;\">\/\/<\/span><span style=\"color: #008000;\">\u5b9a\u4e49\u4e86\u4e00\u4e2apost\u53d8\u91cf\uff0c\u7528\u4e8e\u6682\u5b58\u8bf7\u6c42\u4f53\u7684\u4fe1\u606f<\/span>\r\n<span style=\"color: #000000;\">\r\n        req.on(<\/span>'data', <span style=\"color: #0000ff;\">function<\/span>(chunk){    <span style=\"color: #008000;\">\/\/<\/span><span style=\"color: #008000;\">\u901a\u8fc7req\u7684data\u4e8b\u4ef6\u76d1\u542c\u51fd\u6570\uff0c\u6bcf\u5f53\u63a5\u53d7\u5230\u8bf7\u6c42\u4f53\u7684\u6570\u636e\uff0c\u5c31\u7d2f\u52a0\u5230post\u53d8\u91cf\u4e2d<\/span>\r\n            post +=<span style=\"color: #000000;\"> chunk;\r\n        });\r\n    \r\n        req.on(<\/span>'end', <span style=\"color: #0000ff;\">function<\/span>(){    <span style=\"color: #008000;\">\/\/<\/span><span style=\"color: #008000;\">\u5728end\u4e8b\u4ef6\u89e6\u53d1\u540e\uff0c\u901a\u8fc7querystring.parse\u5c06post\u89e3\u6790\u4e3a\u771f\u6b63\u7684POST\u8bf7\u6c42\u683c\u5f0f\uff0c\u7136\u540e\u5411\u5ba2\u6237\u7aef\u8fd4\u56de\u3002<\/span>\r\n            post =<span style=\"color: #000000;\"> qs.parse(post);\r\n            request({\r\n                      method: <\/span>'POST'<span style=\"color: #000000;\">,\r\n                      url: proxyUrl,\r\n                      form: post\r\n                  }).pipe(res);\r\n        });\r\n      }<\/span><\/pre>\n<\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<p><strong>2. flash socket<\/strong><\/p>\n<p>\u5176\u5b9e\u5728\u524d\u9762\u4ecb\u7ecdsocket.io\u7684\u65f6\u5019\u5c31\u6709\u63d0\u5230\uff0c\u5728\u4e0d\u517c\u5bb9WebSocket\u7684\u6d4f\u89c8\u5668\u4e0b\uff0csocket.io\u4f1a\u4ee5flash socket\u6216Comet\u7684\u5f62\u5f0f\u6765\u517c\u5bb9\uff0c\u800cflash socket\u662f\u652f\u6301\u8de8\u57df\u901a\u4fe1\u7684\u5f62\u5f0f\uff0c\u8ddfWebSocket\u4e00\u6837\u8d70\u7684TCP\/IP\u5957\u63a5\u5b57\u534f\u8bae\u3002\u5177\u4f53\u7684\u5b9e\u73b0\u53ef\u53c2\u8003<a style=\"color: #4183c4;\" href=\"http:\/\/help.adobe.com\/en_US\/as3\/dev\/WSb2ba3b1aad8a27b0-181c51321220efd9d1c-8000.html\" target=\"_blank\">Adobe\u5b98\u65b9\u6587\u6863<\/a>\uff0c\u672c\u6587\u4e0d\u8d58\u8ff0\u3002<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"http:\/\/www.cnblogs.com\/vajoy\/p\/4295825.html\" target=\"_blank\">http:\/\/www.cnblogs.com\/vajoy\/p\/4295825.html<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u540c\u6e90\u7b56\u7565\/SOP\uff08Same origin policy\uff09\u662f\u4e00\u79cd\u7ea6\u5b9a\uff0c\u5b83\u662f\u6d4f\u89c8\u5668\u6700\u6838\u5fc3\u4e5f\u6700\u57fa\u672c\u7684\u5b89\u5168\u529f\u80fd\uff0c\u5982\u679c\u7f3a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[],"class_list":["post-4814","post","type-post","status-publish","format-standard","hentry","category-11"],"_links":{"self":[{"href":"https:\/\/sdeno.com\/index.php?rest_route=\/wp\/v2\/posts\/4814","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sdeno.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sdeno.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sdeno.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sdeno.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4814"}],"version-history":[{"count":0,"href":"https:\/\/sdeno.com\/index.php?rest_route=\/wp\/v2\/posts\/4814\/revisions"}],"wp:attachment":[{"href":"https:\/\/sdeno.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4814"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sdeno.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4814"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sdeno.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4814"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}