2014-09-05 83 views
1

我有这样的代码,因为他们在iframe改变它成功地跟踪网址:onclick v no onclick;如何得到的结果没有点击

<html> 
<body> 
<iframe src="start.php"></iframe> 
<a href="#" onclick="alert(frames[0].location);">Get Link.</a> 
</body> 
</html> 

当“获取链接”点击就可以显示正确的链接。当用户在iframe内导航到另一个页面时(在同一台服务器上),并且再次单击“获取链接”时,它将显示当前的iframe网址。

但我需要得到的iframe网址,而不必'点击'的东西。

当我这样做:

<html> 
<body> 
<iframe src="start.php"></iframe> 
<script>alert(frames[0].location)</script> 
</body> 
</html> 

警报消息称“有关:空白”

我怎样才能使用“框架[0] .location”传递到一个变量的iframe位置是可以通过父页面读取而无需使用onclick函数?

+0

可能的重复:http://stackoverflow.com/questions/938180/get-current-url-from-iframe – 2014-09-05 21:19:05

+0

你想要得到它,如果没有点击?你的意思是定期提醒URL吗? – LcSalazar 2014-09-05 21:30:13

+0

你好拉杜,我试过的代码,我得到的是“关于:空白”... LcSalazar,我想要的是将URL读入PHP变量$ url = iframe_url;然后在页面的另一部分,使各种图像的外观出现在iframe URL正在被查看的位置......最近我已经到了上面。它会得到正确的链接名称,但是如果我无法将结果读入变量,我不能将结果读入变量中。我可以基于条件事件...感谢回复 – user3697638 2014-09-05 21:38:58

回答

0

试试这个

alert(frames[0].contentWindow.location.href); 
0

你可以在你需要它的代码直接frames[0].location使用。或者将其封装在函数中。它不会直接在<script>标记中显示,因为iframe当时尚未加载。无论何时在代码中查询frames[0].location,它都应该在该确切时间提供iframe的位置对象

+0

“每当你在你的代码中查询帧[0] .location它应该给位置iframe的对象在那个确切的时间“...所以我会怎么做呢?frames ['frame name here。]位置?感谢回复 – user3697638 2014-09-05 21:53:56

+0

我不确定我是否理解这个问题。使用这个'location'?你必须在某处做某事?所以,只要你想使用iframe的位置,只需调用frames [0] .location。在你的例子中,它是空白的,因为当时你想使用它的iframe没有加载,所以它没有任何价值。假设在某一点你想传递的iframe位置的值,你只需要通过帧[0]。地址 – jonasnas 2014-09-05 22:36:27

+0

我的意思是点击作品为你,因为不同timing。脚本立即执行并且iframe尚未加载并单击事件需要一些时间,直到你指向你的鼠标,并在那个时候加载iframe。 – jonasnas 2014-09-05 22:40:48