gpt4 book ai didi

php - 如何在同一 iframe 中打开目标为 =“_blank” 的 iframe 中的链接?

转载 作者:行者123 更新时间:2023-11-30 13:24:07 25 4
gpt4 key购买 nike

我想在同一个 iframe 中打开带有 target=“_blank” 和 iframe 的链接。我尝试了下面的代码,但没有用。欢迎使用 PHP 解决方案!

<script src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js" type="text/javascript"></script>


<iframe src="http://www.htmlcodetutorial.com/linking/_A_TARGET_95y98y108y97y110y107y.html" height="100%" width="100%" ></iframe>

<script>
$('iframe a[target="_blank"]').live('click',function(e){
e.preventDefault(); //stops it opening in a new window
var url = $(this).attr('href');
$('iframe').load(url);
});

</script>

最佳答案

您是否尝试过简单地更改目标属性?

$('iframe a[target="_blank"]').each(function () {
$(this).attr('target', '_self');
});

此外,Zain Shaikh是很正确的。如果 iframe 的源是从不同的域加载的,您将无法通过 JavaScript 执行此操作。

您仍然可以在服务器端执行此操作,但这将取决于您使用的语言。

就原生 JavaScript 解决方案而言:

function replaceWithSelf () {
var iframes = document.getElementsByTagName('iframe');
var i = 0;
var j = 0;
var anchors;
for (i = 0; i < iframes.length; i += 1) {
anchors = iframes[i].getElementsByTagName('a');
for (j = 0; j < anchors.length; j += 1) {
if (anchors[j].getAttribute('target') === '_blank') {
anchors[j].setAttribute('target', '_self');
}
}
}
}

我在 http://www.htmlcodetutorial.com/linking/_A_TARGET_95y98y108y97y110y107y.html 测试了相关部分(如您的问题所述)。使用的测试代码是:

var anchors = document.getElementsByTagName('a');
for (var j = 0; j < anchors.length; j += 1) {
if (anchors[j].getAttribute('target') === '_blank') {
anchors[j].setAttribute('target', '_self');
}
}

我在控制台 (Google Chrome) 中运行的。代码按预期工作。

重申一下,如果 iframe 的源是从不同的域加载的,您将无法通过 JavaScript 执行此操作。

换句话说,除非您运行代码的域也是 http://www.htmlcodetutorial.com ,您将无法在 JavaScript 中执行此操作。

关于php - 如何在同一 iframe 中打开目标为 =“_blank” 的 iframe 中的链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9149613/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com