iframe窗口中的链接在新选项卡中打开

时间:2013-06-15 23:31:55

标签: javascript jquery html html5

我已经多次看过这个问题了,很多答案似乎都提出了基础target="_blank"技巧。但是,我以前用过这个;但我目前的页面不起作用。即使它确实奏效,我也认为它不是最好的选择;因为我只希望iframe src=""中的链接在新窗口中打开。我正在跳过一个简单的解决方案,我可以在页面中添加内联。我还尝试添加如下ID,并使用JavaScript,仍然是虚无...。

<iframe src="mywordpressfeed.html" id="frame1" width="310" height="380"></iframe> 

JS

$(document).ready(function(){
    $("#frame1").attr("target","_blank");
});

基本上,目标是当用户在静态页面上的iframe中看到我的wordpress Feed时;一旦点击了帖子标题,它就会在新窗口中加载 - 因为它现在加载在同一个iframe中,因此没有提高可读性水平。

2 个答案:

答案 0 :(得分:2)

由于iFrame标签是针对相反的方向开发的,因此没有真正的解决方案。

答案 1 :(得分:1)

//pass the iframe to this iframe getting function 
    function iframeRef( frameRef ) {
        return frameRef.contentWindow ? frameRef.contentWindow.document : frameRef.contentDocument
    }
//Get Iframe
    var inside = iframeRef( document.getElementById('iframeID') );
//Get all links
    var links = inside.getElementsByTagName('a');
//Loop throught links and set their attributes
    for (var i = 0 ; i<links.length ; i++){
    links[i].setAttribute('target','_blank');
    }
//No jQuery needed!

感谢meder

修改 由于iframe相同的源限制,我不得不从同一来源找到一个内部iframe的网站,以便您可以粘贴此代码

//pass the iframe to this iframe getting function 
    function iframeRef( frameRef ) {
        return frameRef.contentWindow ? frameRef.contentWindow.document : frameRef.contentDocument
    }
//Get Iframe
    var inside = iframeRef( document.getElementById('IFwinEdit_Gadget_247730_3349') );
//Get all links
    var links = inside.getElementsByTagName('input');
//Loop throught links and set their attributes
    for (var i = 0 ; i<links.length ; i++){
        links[i].setAttribute('style','background:red');
    }
//No jQuery needed!

到此web site的控制台并查看输入更改颜色