gpt4 book ai didi

javascript - jquery iframe 链接到新的 div/tab/window?

转载 作者:行者123 更新时间:2023-11-28 08:51:32 24 4
gpt4 key购买 nike

我有一个棘手的问题。

所有页面都在同一个服务器/门户中。

我有一个页面使用以下代码从其他页面嵌入 iframe:

$('#mydiv').append('<p id="loading">Loading ...</p>');
$('#mydiv').append('<iframe id="myframe" name="myframe" class="myframe" onload="myframe()" style="display:none;"></iframe>');
$('#myframe').attr('src', 'https://mywebsite.com/page2');

function myframe() {
var $myframesearch = $('#myframe').contents();
$myframesearch.find("a").attr('target','_parent');
}

$('#myframe').load(function(){
$('#loading').remove();
$('#myframe').fadeIn();
});

iframe 中的所有链接都没有 href(但 href="javascript:void(0)"),并使用 iframe 中的脚本来动态处理操作。

有些链接会在新窗口中打开,有些则不会。

我想强制所有链接在新选项卡、窗口中打开,或附加到新 Div,但这些方法都不起作用,例如 base/parent、onclick/new window、_top、_parent 等。

但是,我的想法是隐藏并等待 iframe 的内容在单击后加载,然后将加载的内容附加到新的隐藏 div 中,然后淡入。这样做时,加载的 iframe 内容重置为默认值并没有新内容。

有人知道怎么解决吗?

谢谢大家!

最佳答案

所以我检查了一下,似乎其他 JavaScript 仅针对链接中包含“Open:”的“a”标签,用标签中的一些“数据”字段覆盖了“a”标签操作。

我通过绕过 JavaScript 覆盖的另一个页面中这个“a”标签的链接找到了以下问题的解决方案:

$(function(){

$('#mydiv').append('<p id="loading">Loading ...</p>');
$('#mydiv').append('<iframe id="myframe" name="myframe" class="myframe" src="https://mywebsite.com/page2" onload="myframe()" style="display:none;"></iframe>');

$('#myframe').load(function(){
$('#loading').hide();
$('#myframe').fadeIn();
});

$('<div id="popup" style="display:none; width:1px; height:1px; position:absolute; top:0; left:0;"></div>').appendTo('html');

});

function myframe() {
var $myframesearch = $('#myframe').contents();
$myframesearch.find("a").attr('target','_parent');
$myframesearch.find('a:contains("Open:")').on('click',function(){
$(this).attr('data','');
var $texta = $(this).text();
var $text = $texta.replace(/Open: /,"");

$('#popup').load('https://mywebsite.com/page2' + ' a:contains("'+$text+'")', function(){
$('#popup a').each(function(){
this.href = this.href.replace(/https:\/\/mywebsite\.com\/page2\/a/, "https://mywebsite.com/page2");
this.click();
});
});

});
}

希望这有帮助:)

关于javascript - jquery iframe 链接到新的 div/tab/window?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27320563/

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