假设我们有 2 个框架的框架集,一个框架是一种很小的水平标题,第二个是一种“内容”框架,里面有 3rd-party html 页面。当用户单击“内容”框架内的某个链接时,应该使用该链接重新加载整个页面(框架集),如果“内容”框架具有“target=_top”属性,则行为相同。如何使用 JS 做到这一点?
这里的主要问题是 - 我无法编辑“内容”页面的 html。
假设我们有 2 个框架的框架集,一个框架是一种很小的水平标题,第二个是一种“内容”框架,里面有 3rd-party html 页面。当用户单击“内容”框架内的某个链接时,应该使用该链接重新加载整个页面(框架集),如果“内容”框架具有“target=_top”属性,则行为相同。如何使用 JS 做到这一点?
这里的主要问题是 - 我无法编辑“内容”页面的 html。
这是我的快速解决方案:
<html>
<head>
<script type="text/javascript">
function load(){
// set target="_top" to reload whole frame
var links = this.content.document.getElementsByTagName("a");
for(var i = 0; i < links.length; i++){
var link = links[i];
link.target="_top";
}
}
</script>
</head>
<frameset rows="50,*" frameborder="0" onload="load()">
<frame src="/header.html" scrolling="no">
<frame src="/content.html" name="content">
</frameset>
</html>
尝试设置window.location
为目标 URL。