繁体   English   中英

在读取file.js时将目标添加到链接

[英]Add target to links as file.js is being read

如果我最近有一个comment.js文件(来自另一台服务器),则可以将TARGET =“ _ top”添加到file.js中的链接,因为正在读取file.js并将其添加到页面中?

原因:它位于iFrame中,除非我可以添加目标顶部...当您单击链接时,它将在iFrame中打开新页面。 我当然需要它到网站顶部。

我无法更改代码或将链接目标添加到来自其他服务器的原始file.js中。

它必须在下载时完成。

该网站当然是PHP

谢谢

在iframe之外:

var linkArray = window.frames['frameName'].getElementsByTagName('a');
for (var i=0; i<linkArray.length; i++) {
  linkArray[i].target = '_top';
}

或在iframe中:

var linkArray = document.getElementsByTagName('a');
for (var i=0; i<linkArray.length; i++) {
  linkArray[i].target = '_top';
}

您需要将其中一个包装为一个事件,该事件会在加载来自外部文件的所有链接后触发。

window.frames[x].document.getElementsByTagName('a').each(function(item){
    item.setAttribute('target','_top');
})

使用JavaScript,您可以在加载完成后操纵iframe的DOM并添加目标属性:

<html>
    <head>
        <script type="text/javascript">
            function add_targets(iframe) {
                var links = iframe.contentWindow.document.getElementsByTagName('a');
                for(var i=0; i<links.length; i++) {
                    links[i].target = "_TOP";
                }
            }
        </script>
    </head>
    <body>
        <iframe src="links.html" onload="add_targets(this)"></iframe>
    </body>
</html>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM