1

我已经多次看到这个问题,很多答案似乎都暗示了基本target="_blank"技术。但是,我过去曾使用过它;但我当前的页面不起作用。我也不认为它可能是最好的选择,即使它确实有效。因为我只希望在iframe src=""新窗口中打开链接。我希望有一个简单的解决方案可以将内联添加到页面中。我也尝试过添加一个如下的 id,并使用 JavaScript,仍然是 nada。

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

JS

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

基本上,目标是当用户在静态页面上的 iframe 中看到我的 wordpress 提要时;单击帖子标题后,它将在新窗口中加载-现在它在同一 iframe 中加载,因此可读性没有提高。

4

2 回答 2

2

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

于 2013-06-16T18:08:14.730 回答
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!

到此网站的控制台并查看输入更改颜色

于 2013-06-15T23:49:36.433 回答