【问题标题】:target="_top" emulation using JavaScript使用 JavaScript 的 target="_top" 模拟
【发布时间】:2011-02-02 22:22:46
【问题描述】:

假设我们有 2 个框架的框架集,一个框架是一种微小的水平标题,第二个是一种“内容”框架,其中包含 3rd-party html 页面。当用户单击“内容”框架内的某个链接时,应该使用该链接重新加载整个页面(框架集),如果“内容”框架具有“target=_top”属性,则行为相同。如何使用 JS 做到这一点?

这里的主要问题是 - 我无法编辑“内容”页面的 html。

【问题讨论】:

    标签: javascript frame frames frameset


    【解决方案1】:

    这是我的快速解决方案:

    <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>
    

    【讨论】:

      【解决方案2】:

      尝试将window.location 设置为目标网址。

      【讨论】:

      • 我想你的意思是window.top.location
      • 我认为应该是window.top.open(url)
      猜你喜欢
      • 1970-01-01
      • 2014-05-27
      • 1970-01-01
      • 2019-07-30
      • 1970-01-01
      • 2016-09-05
      • 1970-01-01
      • 1970-01-01
      • 2017-01-19
      相关资源
      最近更新 更多