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 相关文章推荐
Jqgrid设置全选(选择)及获取选择行的值示例代码
Dec 28 Javascript
javascript的switch用法注意事项分析
Feb 02 Javascript
jsonp跨域请求数据实现手机号码查询实例分析
Dec 12 Javascript
使用jQuery制作浮动工具栏的实例分享
May 13 Javascript
Ionic默认的Tabs模板使用实例
Aug 29 Javascript
浅谈jQuery中事情的动态绑定
Feb 12 Javascript
es6学习笔记之Async函数基本教程
May 11 Javascript
JS闭包的几种常见形式实例详解
Sep 16 Javascript
微信小程序-getUserInfo回调的实例详解
Oct 27 Javascript
Bootstrap模态对话框中显示动态内容的方法
Aug 10 Javascript
Js 利用正则表达式和replace函数获取string中所有被匹配到的文本(推荐)
Oct 28 Javascript
jQuery编写QQ简易聊天框
Aug 27 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
phpMyAdmin 安装教程全攻略
2007/03/19 PHP
Zend Guard一些常见问题解答
2008/09/11 PHP
PHP简单实现模拟登陆功能示例
2017/09/15 PHP
无缝滚动js代码通俗易懂(自写)
2013/06/19 Javascript
JS获取农历日期具体实例
2013/11/14 Javascript
Jquery getJSON方法详细分析
2013/12/26 Javascript
JS计算网页停留时间代码
2014/04/28 Javascript
javascript中 try catch用法
2015/08/16 Javascript
jQuery简单实现中间浮窗效果
2016/09/04 Javascript
使用bootstrap实现多窗口和拖动效果
2016/09/22 Javascript
vue使用stompjs实现mqtt消息推送通知
2017/06/22 Javascript
关于webpack代码拆分的解析
2017/07/20 Javascript
vue.js默认路由不加载linkActiveClass问题的解决方法
2017/12/11 Javascript
详解vue 计算属性与方法跟侦听器区别(面试考点)
2018/04/23 Javascript
vue组件之间的数据传递方法详解
2019/04/19 Javascript
vue elementUI 表单校验功能之数组多层嵌套
2019/06/04 Javascript
封装微信小程序http拦截器过程解析
2019/08/13 Javascript
vantUI 获得piker选中值的自定义ID操作
2020/11/04 Javascript
Python装饰器的函数式编程详解
2015/02/27 Python
全面理解Python中self的用法
2016/06/04 Python
从请求到响应过程中django都做了哪些处理
2018/08/01 Python
通过python将大量文件按修改时间分类的方法
2018/10/17 Python
使用Python实现跳帧截取视频帧
2019/05/31 Python
Python 模拟动态产生字母验证码图片功能
2019/12/24 Python
基于css3的属性transition制作菜单导航效果
2015/09/01 HTML / CSS
全球速卖通:AliExpress(国际版淘宝)
2017/09/20 全球购物
美国隐形眼镜零售商:LensPure
2019/03/10 全球购物
大码女装:Ulla Popken
2019/08/06 全球购物
教育局长自荐信范文
2013/12/22 职场文书
初一家长会邀请函
2014/01/31 职场文书
公司投资建议书
2014/05/16 职场文书
企业领导班子四风对照检查材料
2014/09/27 职场文书
2014年服装销售工作总结
2014/11/27 职场文书
小学生安全保证书
2015/05/09 职场文书
python中的plt.cm.Paired用法说明
2021/05/31 Python
Python中可变和不可变对象的深入讲解
2021/08/02 Python