动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   Asp → 阅读文章

 脚本控制Frame  (转)

作者来源: 
阅读 3888 人次 , 2000-8-29 

在网页布局和排版的时候,Frame(框架)是我们常用的一种技术。但是,它常常不能尽如人意,下面我们就用脚本来控制Frame,使之更加完美。  

  一、保护Frame的脚本

  我们在浏览网页的时候,常常看到一些网页的外观与正常的页面一样,其实它是含有帧的。这些帧作得非常隐蔽,它们没有Border。即使“保存”了该页面,离线后浏览也不会发现什么。其实你仅仅保存了一个“框架”。这个时候你只要随便点几个链接,看看“地址栏”内的地址是否改变就可以知道是否包含了帧。如果没有改变,你肯定是在别人的Frame页面中浏览,并非在一个单独的页面中。

  下面给出一种方法用来保护你的Frame。

  <body OnLoad=″if(parent.frames.length=0)top.location=′gotframe.htm′;″>

  只要用上面的语句代替Html中原有的即可,同时将gotframe.htm指向你的FrameSet文件(框架文件)。这个脚本有如下的用途:如果你的页面有Frame(以一个LeftPage和一个Right Page为例)。将上述脚本分别加入Left Page和Rigft Page中,即使有人使用IEPowerToy之类的浏览器增强工具,也别想在一个单独的窗口打开Left Page和RigftPage。只能通过整个Frame浏览你的页面。

  二、避免Frame被破坏

  首先将如下的代码加入Html的<head>区:

  <Script Language=″JavaScript″>
  <!--   setTimeout (″changePage()″, 0);
  function changePage()
  {   
   if (self.parent.frames.length != 0)
  self.parent.location= ″index.htm″;   }
  // -->
  </script>

  在网上,你可能会遇到这样的情况:别人是通过带有Frame帧的页面在浏览,而刚好你的页面是在他们的某个Frame页面中打开的,那么该页面并非全屏幕在被别人浏览,这不是你所希望看到的。上面的脚本可以避免一个页面在其它的Frame中打开。只需将index.htm换成该页面的文件名。

  除此之外,还有一种脚本也送给大家。将如下的脚本加入Html的<head>区即可:

  <script language=″JavaScript″>
  <!--   if (self.parent.frames.length != 0)
  self.parent.location=document.location.href;
  // -->
  </script>

  浏览加入该代码的页面时,可以确保永远是在一个完整的窗口中打开。

  三、消除Frame的脚本

  你有没有见过一个包含帧的页面只需要点击一个页面上的按钮就可以将帧消除掉?来看看下面的代码:

  <form>
  <input type=″button″ value=″点击这里消除Frame″ onClick=″parent.location.href=′noframe.htm′″>
  </form>
  noframe.htm 为该页面页的文件名。点击一下这个按钮,怎么样?是不是很奇特。  
 
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:负载平衡环境下的ASP会话管理(转)
· 下一篇:ASP中检查没有数据提交的页面Ⅱ
· 获得上一个月几月
· 安全脚本程序的编写 V1.0(2)
· FileSystemobject组件
· 存储过程对页面访问速度的影响
· ASP+ FORM handler例子


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077