zoukankan      html  css  js  c++  java
  • 判断页面是否被嵌入框架中

    很多时候你不希望你的页面被嵌入到框架或小窗体,例如,你的一个管理界面中有一个错误页面,当用户操作发生错误的时候,你希望整个页面转到错误页面而不是在框架中的某一块显示,这时候你就可以用下面的客户端方法进行判断,然后处理,在我写的这个例子中处理方法是直接将顶级窗体重定向到被镶嵌的这个页面。

    <html>
     <head>
      <title>HTMLPage1</title>
       <script>
     function TopLoad()
     {
      if(top.frames.length>0)
      {
       alert('The Page in one or more frames,so Redirect to the real Page');
       top.location.href="HTMLPage1.htm";
      }
      else
      {
       alert('This is Noframes Page');
      }
     }
     </script>
     </head>
     <body onload="TopLoad()">
      asfdasfdadfas
     </body>
    </html>

    不过,“‘我’做在的最上级窗体中包不包含框架”这个方法并不是最佳方案,当你的页面也有框架或窗体的时候,上面这个例子就会产生一个无限循环的转向。用最直接的思维:“‘我’是不是最上级的窗体”

    那么,判断的地方改为下面这样就行了:

    if(top!=self)      //当‘我’不是最上级
    {
       //do something
    }
    else                 //当‘我’是最上级
    {
       //do something
    }

    写得这么罗嗦 是因为我对JS欠熟悉的原因。

  • 相关阅读:
    HDU4366 Successor 线段树+预处理
    POJ2823 Sliding Window 单调队列
    HDU寻找最大值 递推求连续区间
    UVA846 Steps 二分查找
    HDU3415 Max Sum of MaxKsubsequence 单调队列
    HDU时间挑战 树状数组
    UVA10168 Summation of Four Primes 哥德巴赫猜想
    UESTC我要长高 DP优化
    HDUChess 递推
    HDU4362 Dragon Ball DP+优化
  • 原文地址:https://www.cnblogs.com/ZetaChow/p/2237443.html
Copyright © 2011-2022 走看看