识别包含iframe的页面在iframe中导航到的链接

时间:2014-09-05 17:00:06

标签: javascript jquery html css iframe

我有一个网站,其中所有导航都发生在iframe内部。所有页面都本地存储在服务器上。

html代码的简化版本是:

>> index.php

<html>
<head>
</head>
<body>
<table><tr><td>
<iframe src="link.php" width=599 height=350 frameborder=0 scrolling=no name="vframe"></iframe>
<td>
<img src="pic.jpg">
</body>
</html>

注意img在主页面内。但是,我希望此图像根据导航到iframe内的链接进行更改。

现在我正在使用php GET来确定导航到哪个页面,但这不是一个很好的解决方案,因为所有用户必须做的就是修改链接并且所需的图像消失。

例如:

<?
   $locate = $_GET['locate'];
?>
<html>
<head>
</head>
<body>
<table><tr><td>
<? { if ($locate =="link") { 

  echo '<iframe src="link.php" width=599 height=350 frameborder=0 scrolling=no name="vframe"></iframe>
    <td>
    <img src="pic.jpg">';
}
?>

</body>
</html>

iframe页面内的链接是:

http://example.com/index.php?locate=link

我想做的是以某种方式让父页面持有iframe来识别iframe内部的页面,并使图像的显示取决于上面的hack而不是hack。我认为这将是一种更可靠的方式,并且不受用户操纵链接的影响。

顺便说一句,如果有办法可以找到&#39;在没有地址栏中显示的链接的链接中,这可能是一种妥协。但据我所知,这无法完成。

====

修改

我发现了这个:

document.getElementById("iframe_id").contentWindow.location.href

但我不确定如何实施它。

我试过

<script>document.write(document.getElementById("vframe").contentWindow.location.href );</script>

在身体和头部......

但不显示iframe链接

我试过这个:

<html>
<head>
<script>
function getLink()
  {
  var x=document.getElementById("vframe").contentWindow.location.href;
  }
</script>
</head>
<body>

<iframe src="start.php" width=599 height=350 frameborder=0 scrolling=no name="vframe"></iframe>

</body>
</html> 

但如果它应该起作用,我就无法弄清楚如何阅读&#39; var x ...

的结果

我试过这个:

<html>
<head>
</head>
<body>

<iframe src="start.php" width=599 height=350 frameborder=0 scrolling=no id="vframe"></iframe>
<script>document.write(document.getElementById("vframe").contentWindow.location.href);</script>

</body>
</html> 

但结果是&#34; about:blank&#34;。如果我将它放在头部或iframe上方,则没有结果......

0 个答案:

没有答案