强制由 js 生成目标链接

Forcing target link generated by a js

本文关键字:目标 链接 js      更新时间:2023-09-26

我的一个页面上有一个iframe,其中包含一个js小部件。此小部件包含一个带有 target="_self" 属性的动态链接。我不可能改变这一点。

因此,我正在寻找一种解决方案来强制在 target="_parent" 或 _blank 中打开链接。覆盖生成的链接中的 target="_self" 的解决方案。我尝试使用我在堆栈溢出上找到的几个 js,但这不起作用,因为链接是由 js 生成的。

是一个新手,并不真正了解所有这些事情,但我希望你能理解我的问题。

有什么线索吗?谢谢

为什么这是不可能的

首先,Iframe的设计是为了防止跨域脚本攻击。除非内容与访问它的页面位于同一域中,否则无法进行任何更改 - 即使是您建议的微小更改。这是一项安全功能,最好是全方位的。想象一下,如果您可以轻松地克隆和修改其他页面,将会发生大规模的网络钓鱼攻击!

编辑

如果内容在您自己的服务器上,则稍微容易一些。按照注释中的其他建议完成此操作。

为什么这可能是可能的

但是,综上所述,如果您愿意进入PHP世界,则可以使用cURL下载(某些)页面的全部内容。这将允许您显示一个完整的网页,所有 css 和脚本都在您自己的网站上的div 中工作,类似于 iframe。

这种方法的好处是,因为内容已经下载到你的服务器,并且你自己提供它,所以它可以通过javascript,css和任何其他语言进行编辑。下面可以看到一个例子;

$ch = curl_init("http://www.example-webpage.com/file.html");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
$content = curl_exec($ch); // This is the html - either display it on it's own page, or shove it in a div (if styling allows)
curl_close($ch);

希望这是有道理的。