I'm本地做一個實驗,試圖瞭解十字架的起源策略藉助iframe是如何工作的:加載內容本地
- 我有一個簡單的頁面與一個iframe指向http://edition.cnn.com/ 本地提供
- 我修改了主機在我的電腦文件到本地主機指向mytest.cnn.com
按照Cross Origin policy的定義,如果我嘗試從IFRAME從頁面(從現在擔任訪問一個元素mytest.c nn.com),它應該可以工作,但是我仍然會遇到同樣的錯誤「阻止一個源幀」http://mytest.cnn.com「訪問一個跨源幀」。
我也嘗試將網頁的域名更改爲「cnn.com」,但我得到了相同的結果。是否應用了特殊情況,因爲我正在從本地服務器提供頁面?
啊,完全正確,我錯過了那部分。另一方面,我也嘗試了一個子域(my.edition.cnn.com),它也沒有工作... – jasalguero
據我所知,描述域(包括所有子域)必須完全匹配。所以子域不會工作。但是,如果您使用域my.edition.cnn.com,則可能會更改包含iframe的頁面的來源。試試命令「document.domain ='edition.cnn.com';」。這在「更改原始地址」一節中有所描述 – Florian
甚至在將主機頁面中的域更改爲edition.cnn.com之後,我仍然在嘗試訪問iframe時遇到同樣的錯誤:「SecurityError:阻止了具有原點的框架」 http://my.edition.cnn.com「從訪問跨源框架」 – jasalguero