js如何判断是否在iframe中及防止网页被别站用iframe嵌套


Posted in Javascript onJanuary 11, 2017

1. js如何判断是否在iframe中

Js代码

//方式一 
if (self.frameElement && self.frameElement.tagName == "IFRAME") { 
  alert('在iframe中'); 
} 
//方式二 
if (window.frames.length != parent.frames.length) { 
  alert('在iframe中'); 
} 
//方式三 
if (self != top) { 
 alert('在iframe中'); 
}

2. 防止网页被别站用 iframe嵌套

将下面的代码加到您的页面 <head></head> 位置即可:

Js代码

<script language="javascript"> 
<!-- 
if (top.location != location) 
{ 
top.location.href = location.href; 
} 
//--> 
</script> 
//或 
<script language="javascript"> 
if(self!=top){top.location.href=self.location.href;} 
</script>

这个就能让别人无法用iframe嵌套你网站的任何页面,实现的效果是:输入盗链你网站的那个地址后会自动跳到你的网站。

不可靠的原因:

当别人用如下类似代码做IFRAME嵌套调用时,就可能躲过你的页面的javascript代码。

Js代码

<iframe src="你的页面地址" name="tv" marginwidth="0" marginheight="0" scrolling="No" noResize frameborder="0" id="tv" framespacing="0" width="580" height="550" VSPACE=-145 HSPACE=-385></iframe> 
<script language="javascript"> 
var location=""; 
var navigate=""; 
frames[0].location.href=""; 
</script>

2.最可靠的方法:

为了彻底防止别人用IFRAME框架嵌套调用自己的网页,如下方法是最可靠的.

这里赋值为空页面,也可赋值为你的页面的URL地址.

Js代码

<script language="javascript"> 
if(top != self){ 
 location.href = "about:blank"; 
} 
</script>

还有一个完全屏蔽被iframe的方法就是添加:

Html代码

header("X-Frame-Options: deny"); 
header("X-XSS-Protection: 0");

这个也是加载iframe是产生错误“Load denied by X-Frame-Options: http://localhost/××××.php does not permit framing.”的原因!

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
用 javascript 实现的点击复制代码
Mar 24 Javascript
js兼容标准的表格变色效果
Jun 28 Javascript
jQuery 浮动广告实现代码
Dec 25 Javascript
jQuery实现的类flash菜单效果代码
May 17 Javascript
jquery获取复选框被选中的值
Apr 10 Javascript
在父页面得到zTree已选中的节点的方法
Feb 12 Javascript
AngularJS入门教程之AngularJS表达式
Apr 18 Javascript
jQuery each函数源码分析
May 25 Javascript
微信小程序 Template详解及简单实例
Jan 05 Javascript
如何获取元素的最终background-color
Feb 06 Javascript
tangram.js库实现js类的方式实例分析
Jan 06 Javascript
jQuery实现定时隐藏对话框的方法分析
Feb 12 jQuery
JavaScript中的call和apply的用途以及区别
Jan 11 #Javascript
Vue数据驱动模拟实现2
Jan 11 #Javascript
jQuery实现对象转为url参数的方法
Jan 11 #Javascript
将鼠标焦点定位到文本框最后(代码分享)
Jan 11 #Javascript
移动端界面的适配
Jan 11 #Javascript
bootstrapValidator bootstrap-select验证不可用的解决办法
Jan 11 #Javascript
HTML5 js实现拖拉上传文件功能
Nov 20 #Javascript
You might like
PHP与javascript对多项选择的处理
2006/10/09 PHP
鸡肋的PHP单例模式应用详解
2013/06/03 PHP
Laravel Memcached缓存驱动的配置与应用方法分析
2016/10/08 PHP
javascript十个最常用的自定义函数(中文版)
2009/09/07 Javascript
基于jquery的lazy loader插件实现图片的延迟加载[简单使用]
2011/05/07 Javascript
Jquery+asp.net后台数据传到前台js进行解析的方法
2014/05/11 Javascript
jQuery实现tag便签去重效果的方法
2015/01/20 Javascript
自定义百度分享的分享按钮
2015/03/18 Javascript
JavaScript获得页面base标签中url的方法
2015/04/03 Javascript
JavaScript实现简单图片翻转的方法
2015/04/17 Javascript
基于jQuery实现点击列表加载更多效果
2016/05/31 Javascript
Vue axios 中提交表单数据(含上传文件)
2017/07/06 Javascript
JavaScript中Hoisting详解 (变量提升与函数声明提升)
2017/08/18 Javascript
vuex提交state&amp;&amp;实时监听state数据的改变方法
2018/09/16 Javascript
新版小程序登录授权的方法
2018/12/12 Javascript
vue悬浮可拖拽悬浮按钮的实例代码
2019/08/20 Javascript
[03:49]辉夜杯现场龙骑士COSER秀情商“我喜欢芬队!”
2015/12/27 DOTA
[01:00:25]2018DOTA2亚洲邀请赛3月30日 小组赛A组 VG VS Liquid
2018/03/31 DOTA
python中使用百度音乐搜索的api下载指定歌曲的lrc歌词
2014/07/18 Python
python单例模式实例分析
2015/04/08 Python
python使用Queue在多个子进程间交换数据的方法
2015/04/18 Python
pymongo实现多结果进行多列排序的方法
2015/05/16 Python
Python 专题二 条件语句和循环语句的基础知识
2017/03/19 Python
解决python文件字符串转列表时遇到空行的问题
2017/07/09 Python
python实现分页效果
2017/10/25 Python
python爬虫系列Selenium定向爬取虎扑篮球图片详解
2017/11/15 Python
PyQt5 QTable插入图片并动态更新的实例
2019/06/18 Python
pyqt5使用按钮进行界面的跳转方法
2019/06/19 Python
Scrapy框架基本命令与settings.py设置
2020/02/06 Python
会计电算化专业应届大学生求职信
2013/10/22 职场文书
小学班主任评语大全
2014/04/23 职场文书
2014最新房贷收入证明范本
2014/09/12 职场文书
门卫岗位职责
2015/02/09 职场文书
2016年教师新年寄语
2015/08/18 职场文书
VUE中的v-if与v-show区别介绍
2022/03/13 Vue.js
使用Django框架创建项目
2022/06/10 Python