如果我有一个最近的comments.js文件(来自另一台服务器),无论如何,我可以添加一个TARGET =“_ top”到file.js中的链接,因为正在读取和添加file.js到页面?
原因:它位于iFrame中,除非我可以添加目标顶部...当您点击链接时,它将在iFrame中打开新页面。我当然需要它去网站的顶部。
我无法更改代码或在原始file.js上添加链接目标来自其他服务器。
必须在下载时完成。
该网站当然是PHP
由于
答案 0 :(得分:2)
在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';
}
您需要将一个事件包装到一个事件中,该事件在外部文件的所有链接都已加载后触发。
答案 1 :(得分:1)
window.frames[x].document.getElementsByTagName('a').each(function(item){
item.setAttribute('target','_top');
})
答案 2 :(得分:1)
使用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>