精华内容
下载资源
问答
  • 防止网页被嵌入框架

    2016-11-26 23:22:56
    此段代码来自阮一峰老师的博客可以防止自己的网页被嵌入别人的框架中 <script type="text/javascript"> if (window!=top) // 判断当前的window对象是否是top对象 top.location.href =window.location.href; // 如果...

    此段代码来自阮一峰老师的博客

    可以防止自己的网页被嵌入别人的框架中

        <script type="text/javascript">
    
        if (window!=top) // 判断当前的window对象是否是top对象
    
        top.location.href =window.location.href; // 如果不是,将top对象的网址自动导向被嵌入网页的网址
    
        </script>

    top表示最顶级的窗口,也就是最外层的窗口。如果一个大窗口中嵌套了几个小窗口,那么在小窗口中使用top就表示最外面的大窗口

    top可以用来判断是否被别的网站嵌入框架了
    使用top不管嵌没嵌点击后会跳回你网站的页面

    top指的是最顶层框架,如果页面由多个框架页组成,点击某个子页面,如果用location.href,就是刷新当前子页面,加上top,就是刷新最顶级页面,类似的还有self,parent,

    展开全文
  • JS防止页面被嵌入框架

    千次阅读 2016-12-03 09:39:10
    JS防止页面被嵌入框架 Window 对象表示浏览器中打开的窗口。 如果文档包含框架(frame 或 iframe 标签),浏览器会为 HTML 文档创建一个 window 对象,并为每个框架创建一个额外的 window 对象。 注释:没有

    先看下面关于浏览器window对象的解释

    http://www.w3school.com.cn/jsref/dom_obj_window.asp

    Window 对象表示浏览器中打开的窗口。

    如果文档包含框架(frame 或 iframe 标签),浏览器会为 HTML 文档创建一个 window 对象,并为每个框架创建一个额外的 window 对象。

    注释:没有应用于 window 对象的公开标准,不过所有浏览器都支持该对象。


    下面是几个常见的windwo对象属性:

    1.top
    该变更永远指分割窗口最高层次的浏览器窗口。如果计划从分割窗口的最高层次开始执行命令,就可以用top变量。 


    2.opener
    opener用于在window.open的页面引用执行该window.open方法的的页面的对象。例如:A页面通过window.open()方
    法弹出了B页面,在B页面中就可以通过opener来引用A页面,这样就可以通过这个对象来对A页面进行操作。 


    3.parent
    parent用于在iframe,frame中生成的子页面中访问父页面的对象。例如:A页面中有一个iframe或frame,那么iframe
    或frame中的页面就可以通过parent对象来引用A页面中的对象。这样就可以获取或返回值到A页面中。


    4.self

    另外self 指的是当前窗口

    注意parent与opener的区别:

    parent指父窗口,在FRAMESET中,FRAME的PARENT就是FRAMESET窗口。 
    opener指用WINDOW.OPEN等方式创建的新窗口对应的原窗口。 
    parent是相对于框架来说父窗口对象 
    opener是针对于用window.open打开的窗口来说的父窗口,前提是window.open打开的才有

    document.parentWindow.menthod()調用父頁面的方法

    附:Window对象、Parent对象、Frame对象、Document对象和Form对象的阶层关系 
    Window对象→Parent对象→Frame对象→Document对象→Form对象,
    如下: parent.frame1.document.forms[0].elements[0].value;


    接下来看看关于防止登陆页面被嵌入到frame中的js脚本(实际项目代码),原来的业务系统是被嵌入到一个frameset的frame中,因此当session过期问题,很可能就退出回到登陆页面,此时发现登陆页面嵌入到原来的frame中去了,解决办法如下:

    <script type="text/javascript">
    	$(document).ready(function(){
    		//让login.jsp页面始终在最上层,不嵌入到别的frame中
    		if(parent.document != this){
    			top.location.href="<%=request.getContextPath()%>/login.jsp";
    		}};
    </script>

    这样在页面加载的时候就会先判断当前父窗口对象的document对象是不是等于当前文档document对象,如果不是,则将top对象链向登陆页面。


    另一种方式可以的,只要判断出当前的顶层top对象不是当前的window对象即可

    <script type="text/javascript">
    	if (window!=top){ // 判断当前的window对象是否是top对象
    		top.location.href =window.location.href; // 如果不是,将top对象的网址自动导向被嵌入网页的网址
    	}
    </script>



    参考博客:

    http://www.ruanyifeng.com/blog/2008/10/anti-frameset_javascript_codes.html

    http://www.ruanyifeng.com/blog/2010/08/anti-frameset_javascript_codes_continued.html






    展开全文
  • 两年前,我写过一段代码,防止网页被嵌入框架(Frame)。 <script type="text/javascript">  if (window!=top) // 判断当前的window对象是否是top对象  top.location.href = window.location.href; // ...

    作者: 阮一峰

    日期: 2010年8月15日

    两年前,我写过一段代码,防止网页被嵌入框架(Frame)。

    <script type="text/javascript">

      if (window!=top) // 判断当前的window对象是否是top对象

      top.location.href = window.location.href; // 如果不是,将top对象的网址自动导向被嵌入网页的网址

    </script>

    这段代码是有效的。但是,有一个问题:使用后,任何人都无法再把你的网页嵌入框架了,包括你自己在内。

    于是,我今天就在考虑,有没有一种方法,使得我的网页只能被嵌入我自己的框架,而不是别人的框架?

    表面上看,这个问题很简单。只要做一个判断:当前框架和顶层框架的域名是否相同,如果答案是否,就做了一个URL重定向。

    if (top.location.hostname != window.location.hostname) {

      top.location.href = window.location.href;

    }

    但是,出乎意料的是,这样写是错误的,根本无法运行。你能看出,错在哪里吗?

    假定 top.location.hostname 是 www.111.com,而 window.location.hostname 是 www.222.com。也就是说,111.com把222.com嵌入了它的网页中。这时,比较 top.location.hostname != window.location.hostname 会有什么结果?

    浏览器会提示代码出错!

    因为它们跨域(cross-domain)了,浏览器的安全政策不允许222.com的网页操作111.com的网页,反之亦然。IE把这种错误叫做"没有权限"。进一步说,浏览器甚至不允许你查看top.location.hostname,跨域情况下,一看到这个对象,就直接报错。

    那么,代码应该如何修改?

    事实上,这提示我们,只要查看top.location.hostname是否报错就可以了。如果报错了,表明存在跨域,就对top对象进行URL重导向;如果不报错,表明不存在跨域(或者未使用框架),就不采取操作。

    try{

      top.location.hostname;

    }

    catch(e){

      top.location.href = window.location.href;

    }

    这样写已经正确了,在IE和Firefox中可以正确运行。但是,Chrome浏览器会出现错误,不知为何,在跨域情况下,Chrome对top.location.hostname不报错!

    没办法,只能为了Chrome,再加一段补充代码。

    try{

      top.location.hostname;

      if (top.location.hostname != window.location.hostname) {

        top.location.href =window.location.href;

      }

    }

    catch(e){

      top.location.href = window.location.href;

    }

    好了,升级版代码完成。除了本地域名以外,其他域名一律无法将你的网页嵌入框架。我的Blog现在就使用这段代码。

    展开全文
  • 防止网页被嵌入框架(Frame) <script type="text/javascript">  try{   top.location.hostname;   if (top.location.hostname != window.location.hostname) {   top.location.href =window.location....

    防止网页被嵌入框架(Frame)

    <script type="text/javascript">
      try{
      	top.location.hostname;
      	if (top.location.hostname != window.location.hostname) {
        		top.location.href =window.location.href;
      	}
    	} catch(e){
      	top.location.href = window.location.href;
    	}
    </script>
    

    链接: http://www.ruanyifeng.com/blog/2010/08/anti-frameset_javascript_codes_continued.html.

    展开全文
  • 防止网页被嵌入框架的JS代码

    千次阅读 2014-03-31 15:33:59
    两年前,我写过一段代码,防止网页被嵌入框架(Frame)。  if (window!=top) // 判断当前的window对象是否是top对象  top.location.href = window.location.href; // 如果不是,将top对象的网址自动导向被嵌入...
  • SCRIPT LANGUAGE=javascript> if (top.location != self.location)top.location=self.location; </SCRIPT> 说明:top.location 是指当前页面所属的父页面的urlself.location 指的是当前页面的urlif ...
  • 例如: &lt;script type="text/javascript"&... // 如果不是,将top对象的网址自动导向被嵌入网页的网址 &lt;/script&gt;   这段代码是有效的。但是,有一个问...
  • 最近接到一个给某私立贵族(小,初,高 12年只是学费近200W)学校做一个网站,时间紧迫,本来打算用wordpress,但是要求页面要重新设计,而...再加上本菜鸡喜欢用CI框架,所以需要把富文本编辑器和框架相结合,以下内容以
  • 判断页面是否被嵌入框架

    千次阅读 2006-04-27 16:40:00
    很多时候你不希望你的页面被嵌入框架或小窗体,例如,你的一个管理界面中有一个错误页面,当用户操作发生错误的时候,你希望整个页面转到错误页面而不是在框架中的某一块显示,这时候你就可以用下面的客户端方法...
  • 相信大家网上也见过很多类似的js代码<script type="text/javascript"> if (window!=top) // 判断当前的window对象是否是top对象 ... // 如果不是,将top对象的网址自动导向被嵌入网页的网址</script>...
  • 某些情况下要求页面不被嵌入框架页中,如登录页面,下面的代码可以实现该功能:script language"savascript"> if(self!=top)...{ // 被嵌在框架里的情况 top.location=self.location; } if(opener)...{ // ...
  • Vue中嵌入LayUI框架

    千次阅读 2019-12-31 01:29:06
    Vue.js是一套构建用户界面的渐进式框架。Vue采用自底向上增量开发的设计。Vue的核心库只是关注图层。容易学习和整合其他项目。 LayUI是开源的模块化前端UI框架,其中提供了丰富的内置模块,都可以通过模块化的方式按...
  • SCRIPT LANGUAGE=javascript> if (top.location != self.location)top.location=self.location; </SCRIPT> 说明:top.location 是指当前页面所属的父页面的urlself.location 指的是当前页面的urlif ...
  • <script type="text/javascript">  if (top.location != self.location)  top.location = self.location; </script>
  • //防止登录页面嵌入iframe框架 if (top.location != self.location){ top.location=self.location; } 其实这么做也不是很完美,因为要加载两次页面,屏幕会有些卡顿; 还有一种方法: 直接在过滤器...
  • 用JavaScript 防止页面被嵌入框架里if (window != top) top.location.href = window.location.href; 永远都会带着框架if (window == top)top.location.href = "frames.htm"; //frames.htm为框架网页// --> 防止被...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 21,665
精华内容 8,666
关键字:

script嵌入框架