【问题标题】:Preventing a page to be shown outside a iframe防止页面显示在 iframe 之外
【发布时间】:2008-12-02 04:55:34
【问题描述】:

我有一个像导航一样工作的页面,并且在这个页面中有一个 iframe 来显示内容。

现在有一些情况是内页直接显示在浏览器中。 eg:如果有人在浏览器地址栏中输入内页的url,页面就会显示在窗口中。

我想阻止这种情况。

更好的是,我想重定向到任何其他页面。

【问题讨论】:

    标签: asp.net javascript


    【解决方案1】:

    window.parent:包含框架的窗口对象。如果窗口是顶级窗口,则 window.parent 指的是窗口本身。 (它永远不会为空。)

    window.top:顶层窗口对象,即使当前窗口是顶层窗口对象。

    window.self:当前窗口对象。 (是窗口的同义词。)

    所以,我会这样写支票:

    if (window.top == window.self) {
      window.location = "index.html";
    }
    

    这与稍微模棱两可的情况相同:

    if (window.top == window) {
      window.location = "index.html";
    }
    

    【讨论】:

      【解决方案2】:
      <script language="Javascript"><!-- 
      if (top.location == self.location) { 
        top.location = "index.html" // must be viewed in main index
      }
      //--></script>
      

      从 iframe 决定成为主框架的情况修改它。

      【讨论】:

      • 除了忘记结尾卷曲,完美+1
      猜你喜欢
      • 1970-01-01
      • 2016-08-14
      • 1970-01-01
      • 2013-05-05
      • 2011-05-22
      • 2013-03-12
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      相关资源
      最近更新 更多