我想允许iframe从服务器(通过ajax)请求新数据,但前提是iframe嵌入在特定页面中。 如何在iframe中获得顶级域名?
起初我认为安全性很容易,在我的服务器上,我只需检查http_referrer
这是每个HTTP请求发送的标准内容。
但后来我意识到这个http_referrer实际上是我的iframe的域,而不是包含iframe的域!因此,如果我在my_site.com中嵌入my_iframe.com,则http_referrer为my_iframe.com
,这并不能帮助我了解嵌入页面的人员。
所以现在我正在寻求这种选择。
答案 0 :(得分:1)
您可以使用window.top
访问最顶层的窗口并使用普通的location
对象,但是如果尝试从您的内部访问外部域,则会遇到有关相同原始策略的问题iframe,我建议您check this community post关于same-origin policy
。
window.top.location.href
window.top.location.host
答案 1 :(得分:0)
try {
alert(window.top.location.origin);
} catch(e) {
console.log(e.message);
}