2014-03-25 101 views
1

我有mynewwebsite.com的iframe展示内容从mywebsite.com获取URL从地址栏

alert(window.location.hostname); 

总是显示mywebsite.com,有没有什么办法,我可以得到用户的地址栏中的URL不会对mynewwebsite.com进行任何修改?

我想检查域并相应加载样式表。

+0

你是从iframe中调用的? – putvande

+0

@putvande是,从iframe中。 – 3zzy

+0

我觉得'window'对象是指当前窗口(iframe的窗口对象),因为你是从iframe调用的。试试'window.parent.location.hostname'。 –

回答

4

尝试是这样的

var url = (window.location != window.parent.location) ? document.referrer: document.location; 
+0

警报完全不显示。 – 3zzy

+0

更新的评论 –

+0

WOOT!有效!! – 3zzy

-1
var URL = window.location.href; 
0

我觉得window对象是指当前窗口 - iframe的window对象,因为你从iframe中调用它。

尝试

window.parent.location.hostname 

但因为它们是两个不同的域名,你会遇到一个跨站点脚本安全(又名XSS)的限制。您必须配置您的服务器以允许两个域之间的XSS。

+0

'未捕获的安全性错误:通过访问源自“http://mynewwebsite.com”的框架阻止了具有原始“http://mywebsite.com”的框架。协议,域和端口必须匹配.' – 3zzy

+0

更新我的答案。 –

-1

尝试

var myIframe = document.getElementById('yourIframeId'); 

alert(myIframe.contentWindow.location.hostname); 
0

也许这将帮助:

alert(window.parent.location.hostname); 
alert(window.top.location.hostname); 

它工作在Chrome就像一个魅力。