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 相关文章推荐
jQuery 研究心得 取得属性的值
Nov 30 Javascript
javascript 动态添加事件代码
Nov 30 Javascript
Jquery插件写法笔记整理
Sep 06 Javascript
jQuery基本选择器选择元素使用介绍
Apr 18 Javascript
jQuery中$(function() {});问题详解
Aug 10 Javascript
js获取图片宽高的方法
Nov 25 Javascript
图解Sublime Text3使用技巧
Dec 21 Javascript
JS图片左右无缝隙滚动的实现(兼容IE,Firefox 遵循W3C标准)
Sep 23 Javascript
WEB 前端开发中防治重复提交的实现方法
Oct 26 Javascript
bootstrap3 dialog 更强大、更灵活的模态框
Apr 20 Javascript
axios简单实现小程序延时loading指示
Jul 30 Javascript
Intellij IDEA搭建vue-cli项目的方法步骤
Oct 20 Javascript
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排序之二维数组的按照字母排序实现代码
2011/08/13 PHP
解析PHP留言本模块主要功能的函数说明(代码可实现)
2013/06/25 PHP
编写PHP程序检查字符串中的中文字符个数的实例分享
2016/03/17 PHP
PHP框架实现WebSocket在线聊天通讯系统
2019/11/21 PHP
JQuery入门——用映射方式绑定不同事件应用示例
2013/02/05 Javascript
JavaScript类属性的访问方式详解
2014/02/11 Javascript
button没写type=button会导致点击时提交
2014/03/06 Javascript
jQuery插件scroll实现无缝滚动效果
2015/04/27 Javascript
使用jQuery mobile库检测url绝对地址和相对地址的方法
2015/12/04 Javascript
JavaScript提高性能知识点汇总
2016/01/15 Javascript
javascript原生ajax写法分享
2016/04/10 Javascript
JavaScript判断微信浏览器实例代码
2016/06/13 Javascript
第四篇Bootstrap网格系统偏移列和嵌套列
2016/06/21 Javascript
AngularJS延迟加载html template
2016/07/27 Javascript
jQuery+json实现动态创建复杂表格table的方法
2016/10/25 Javascript
AngularJS 应用身份认证的技巧总结
2016/11/07 Javascript
jQuery实现鼠标经过显示动画边框特效
2017/03/24 jQuery
JavaScript 字符串数字左补位,右补位,取固定长度,截位扩展函数代码
2017/03/25 Javascript
详解react-native-fs插件的使用以及遇到的坑
2017/09/12 Javascript
详解Vue单元测试case写法
2018/05/24 Javascript
使用python装饰器计算函数运行时间的实例
2018/04/21 Python
pyqt5利用pyqtDesigner实现登录界面
2019/03/28 Python
Django组件content-type使用方法详解
2019/07/19 Python
python读取ini配置的类封装代码实例
2020/01/08 Python
Pycharm修改python路径过程图解
2020/05/22 Python
Keras:Unet网络实现多类语义分割方式
2020/06/11 Python
css3气泡 css3关键帧动画创建的动态通知气泡
2013/02/26 HTML / CSS
Canvas制作的下雨动画的示例
2018/03/06 HTML / CSS
英国在线自行车店:Merlin Cycles
2018/08/20 全球购物
Pottery Barn阿联酋:购买家具、家居装饰及更多
2019/12/08 全球购物
微博营销计划书
2014/01/10 职场文书
护士进修自我鉴定
2014/02/07 职场文书
励志演讲稿800字
2014/08/21 职场文书
2014年全国爱牙日宣传活动方案
2014/09/21 职场文书
幼儿园安全教育随笔
2015/08/14 职场文书
如何避免mysql启动时错误及sock文件作用分析
2022/01/22 MySQL