!! SOS !!
问题背景:我有一个包含一些页面标题和相应网址的文件。我正在动态读取此文件并生成一个表格,每行显示(可点击的)标题。页面上有一个iframe。我希望当用户点击其中一行时,相应的页面应该加载到iframe中。这些网址可能属于不同的域名。
主要问题:第一次点击会在iframe中完美打开相应的网址。但是,任何后续点击(在相同或不同的行上)都会在新窗口中打开网址,而不是替换iframe中的早期网址。
尝试用谷歌搜索它很长时间,但似乎这个问题仍然没有得到解决(很多没有回复的空帖: - ()
请回复此帖。如果需要,我很乐意为您提供更多信息/代码。
此致 P
PS:顺便说一句,这个简单的HTML代码也发生了同样的事情。只有两个链接和一个iframe。复制粘贴此html文件并尝试。一个链接将在iframe中加载内容,另一个链接将重定向到新标签:x:x<html>
<table>
<tr><td><a style="text-decoration:none; line-height: 150%; color:darkslategray;" href="http://www.usatoday.com/story/money/markets/2013/01/04/stocks-higher-bull-market-high/1810075/" target="main_frame">GM, Peugeot to Decide on Brazil Factory This Month, Veja Says <br>Bloomberg News 2012-05-19</a></td></tr>
<tr><td><a style="text-decoration:none; line-height: 150%; color:darkslategray;" href="http://www.reuters.com/article/2013/01/04/us-markets-stocks-idUSBRE8BG0D620130104" target="main_frame">GM, Peugeot no Decide on Brazil Factory This Month, Veja Says <br>Bloomberg News 2012-05-20</a></td></tr>
</table>
<iframe name="main_frame" frameborder="0" marginheight="0" marginwidth="0" scrolling="yes" height="100%" width="100%" src=""></iframe>
</html>
在chrome和firefox上测试过。
答案 0 :(得分:1)
解决了!!!
使用以下两个链接:https://developer.mozilla.org/en-US/docs/HTML/Element/iframe 和Firefox opens links targeted for iFrame in browser's new tab instead
以及以下代码:
<html>
<head>
<script type="text/javascript">
function navigate(url)
{
var iframe = document.getElementsByTagName( "iframe" )[0];
iframe.src = url;
}
</script>
</head>
<body>
<table>
<tr><td><a href="javascript:navigate('http://www.usatoday.com/story/money/markets/2013/01/04/stocks-higher-bull-market-high/1810075/')">Some title</a></td></tr>
<tr><td><a href="javascript:navigate('http://www.reuters.com/article/2013/01/04/us-markets-stocks-idUSBRE8BG0D620130104')">Some Other title</a></td></tr>
</table>
<iframe name="main_frame" frameborder="0" marginheight="0" marginwidth="0" scrolling="yes" height="100%" width="100%" src=""></iframe>
</body>
</html>
答案 1 :(得分:0)
其中一个网页更改了其窗口的window.name
,并通过窗口名称进行定位,而非框架名称...