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 相关文章推荐
showModelessDialog()使用详解
Sep 21 Javascript
javascript编程起步(第二课)
Jan 10 Javascript
extjs 为某个事件设置拦截器
Jan 15 Javascript
JS Attribute属性操作详解
May 19 Javascript
AngularJs Forms详解及简单示例
Sep 01 Javascript
vue实现列表的添加点击
Dec 29 Javascript
jQuery实现标签页效果实战(4)
Feb 08 Javascript
Angular简单验证功能示例
Dec 22 Javascript
Vue 页面状态保持页面间数据传输的一种方法(推荐)
Nov 01 Javascript
vue响应式更新机制及不使用框架实现简单的数据双向绑定问题
Jun 27 Javascript
Vue-CLI与Vuex使用方法实例分析
Jan 06 Javascript
微信小程序连接服务器展示MQTT数据信息的实现
Jul 14 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
收音机另类DIY - 纸巾盒做外壳
2021/03/02 无线电
PHP中的类-什么叫类
2006/11/20 PHP
php下通过curl抓取yahoo boss 搜索结果的实现代码
2011/06/10 PHP
PHP+HTML+JavaScript+Css实现简单爬虫开发
2016/03/28 PHP
JQuery Dialog(JS 模态窗口,可拖拽的DIV)
2010/02/07 Javascript
jQuery的Ajax时无响应数据的解决方法
2010/05/25 Javascript
js仿百度贴吧验证码特效实例代码
2014/01/16 Javascript
深入理解javascript的执行顺序
2014/04/04 Javascript
jquery中使用循环下拉菜单示例代码
2014/09/24 Javascript
JavaScript中setUTCMilliseconds()方法的使用详解
2015/06/12 Javascript
原生javascript实现自动更新的时间日期
2016/02/12 Javascript
jQuery遍历json的方法分析
2016/04/16 Javascript
浅谈json取值(对象和数组)
2016/06/24 Javascript
Spring shiro + bootstrap + jquery.validate 实现登录、注册功能
2017/06/02 jQuery
Ionic3 UI组件之autocomplete详解
2017/06/08 Javascript
Angular2 http jsonp的实例详解
2017/08/31 Javascript
浅谈react-router HashRouter和BrowserRouter的使用
2017/12/29 Javascript
详解关于Angular4 ng-zorro使用过程中遇到的问题
2018/12/05 Javascript
Vue2(三)实现子菜单展开收缩,带动画效果实现方法
2019/04/28 Javascript
[14:19]2018年度COSER大赛-完美盛典
2018/12/16 DOTA
Python 基础知识之字符串处理
2017/01/06 Python
使用python3构建文件传输的方法
2019/02/13 Python
TensorFlow卷积神经网络之使用训练好的模型识别猫狗图片
2019/03/14 Python
python-numpy-指数分布实例详解
2019/12/07 Python
Python中使用socks5设置全局代理的方法示例
2020/04/15 Python
HTML+CSS+JavaScript实现图片3D展览的示例代码
2020/10/12 HTML / CSS
意大利制造的西装、衬衫和针对男士量身定制的服装:Lanieri
2018/04/08 全球购物
在线课程:Skillshare
2019/04/02 全球购物
《小白兔和小灰兔》教学反思
2014/02/18 职场文书
小学生秋游活动方案
2014/02/23 职场文书
2014两会学习心得:榜样精神伴我行
2014/03/17 职场文书
教师求职自荐书
2014/06/14 职场文书
机械工程及其自动化专业求职信
2014/08/08 职场文书
销售竞赛活动方案
2014/08/23 职场文书
世界无敌的ICOM IC-R9500宽频接收机
2022/03/25 无线电
Android 中的类文件和类加载器详情
2022/06/05 Java/Android