我們有兩個網站一個是main.xxx.cn 一個是 preveiw.xxx.cn
main.xxx.cn 頁面需要加載preview.xxx.cn的內容。
項目里面出現了兩種的加載preview.xxx.cn內容的方式。一種是iframe另一個是ajax。
1.iframe加載的要求 兩個頁面都把 document.domain = 設置成根域名 就是xxx.cn。
(其它thickbox magnific popup 如果加載同一個域名下面的頁面也需要去設置 document.domain否者的話也會造成js無法訪問。因為域名被你改了)。
2.ajax 加載的時候 需要設置 orign
fResponse.AddHeader("Access-Control-Allow-Origin", origin);
origin的標簽可以通過firebug看到 大約是http(s)://main.xxx.cn 也可以用 *
但是只這樣設置的話會發現 preview.xxx.cn原來設置的cookie值無法傳遞。 需要設置一下 withCredentials 象下面這樣。 並且需要把 orgin的值強制設成完全一樣的,不能用 通配符 *.
還需要多加一個httpHeader
Response.AddHeader("Access-Control-Allow-Credentials", "true");
$.ajax({
url: 1.aspx
dataType: "Html",
xhrFields: {
withCredentials: true
},
}