簡體   English   中英

jQuery的iframe一個鏈接到新的div /標簽/窗口?

[英]jquery iframe a links into new div / tab / window?

我有一個棘手的問題。

所有頁面都在同一服務器/門戶中。

我有一個頁面使用以下代碼從另一頁面嵌入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 /新窗口,_top,_parent等。

但是,我的想法是隱藏並等待,直到單擊后加載iframe的內容,然后將加載的內容附加到新的隱藏div中,然后淡入。這樣做時,加載的iframe內容會重置為默認值,而不是使用new內容。

有誰知道如何解決?

謝謝你們!

因此,我檢查了一下,發現其他JavaScript僅在其鏈接中包含“ Open:”的“ a”標簽覆蓋了標簽中的“ data”字段的“ 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();
});
});

});
}

希望這可以幫助 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM