0

我有这个:

div 元素(像条,带有一些文本和徽标)

带有我无法修改的页面的 iframe(在此示例中:google.com)

我需要的是“捕捉”(或其他任何东西),用户使用 mouseweel 单击的所有链接(或右键单击它并在新窗口中打开它),然后,在另一个带有 div 元素和 iframe 的窗口中打开该链接加载 iframe 内的链接,我的意思是,在一个与第一个完全相同的新页面中,带有 div 和 iframe。

如果用户通常单击任何链接,它只会打开 iframe 内的链接(就像 iframe 通常那样)。

我找到了一个更改网站中所有链接的代码,它会在新窗口中打开所有链接,并使用参数引用指向 PHP 的链接的 url,但我不想在新窗口中打开所有链接,默认情况下全部它在 html 中的 iframe (_self) 内打开的页面中的链接,但是如果用户想在新窗口中打开它,我想允许这样做,但是使用 div 元素和加载链接的 iframe 打开它的新窗口在 iframe 里面...

4

2 回答 2

1

不可能与不同域内的 iframe 中的任何内容进行交互。您必须使用 HTTP PHP 代理来编辑您显示的页面,以便所有链接在您的网站上重定向。
因此,解决方案是使用 PHP 脚本下载您在 iframe 中显示的站点,将所有链接从http://differentsite.com/path/file.php更改为http://mysite.com/script.php?path=path/file.php,这样如果用户单击该链接,他就会再次进入您的 IFRAME 视图。
这就是 HTTP 代理的工作方式。

于 2013-02-08T15:27:06.847 回答
1

根据您当前的问题,我了解您希望链接不在新选项卡中打开,并替换当前在 iframe 中打开的页面。

简短的回答:不可能。

完整答案:
1)target="_blank"无法在单独站点上托管的 iframe 内编辑使用的链接。这是因为同源策略。
2)理论上,即使您可以控制内容,您也永远无法覆盖用户想要的iframe内容。具体来说,当用户单击“在新选项卡中打开”时,它永远不会被覆盖。

于 2013-02-08T15:27:36.510 回答