• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >JavaScript > js如何判断是否在iframe中及防止网页被别站用iframe嵌套

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

作者:天梯梦 字体:[增加 减小] 来源:互联网 时间:2017-05-11

天梯梦通过本文主要向大家介绍了js 判断iframe,js判断iframe是否存在,js获取iframe中的元素,js iframe,js刷新iframe等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

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中'); 
} 
</div>

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> 
</div>

这个就能让别人无法用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> 
</div>

2.最可靠的方法:

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

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

Js代码

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

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

Html代码

header("X-Frame-Options: deny"); 
header("X-XSS-Protection: 0"); 
</div>

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

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

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

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

相关文章

  • 2017-05-11AngularJS constant和value区别详解
  • 2017-05-11移动端基础事件总结与应用
  • 2017-05-11Angular-Ui-Router+ocLazyLoad动态加载脚本示例
  • 2017-05-11单击按钮发送验证码,出现倒计时的简单实例
  • 2017-05-11bootstrap——bootstrapTable实现隐藏列的示例
  • 2017-05-11详谈jQuery中使用attr(), prop(), val()获取value的异同
  • 2017-05-11jquery实现文字单行横移或翻转(上下、左右跳转)
  • 2017-05-11详解Vue 普通对象数据更新与 file 对象数据更新
  • 2017-05-11AngularJS中的缓存使用
  • 2017-05-11canvas绘制的直线动画

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Bootstrap组合上、下拉框简单实现代码
    • javascript验证香港身份证的格式或真实性
    • Bootstrap 3 按钮标签实例代码
    • js中字符型和数值型数字的互相转化方法(必看)
    • 微信小程序 出现错误:{"baseresponse":{"errcode":-80002,"errmsg":""}}解决办法
    • AngularJS实现使用路由切换视图的方法
    • JS实现中国公民身份证号码有效性验证
    • javascript 中null和undefined区分和比较
    • Javascript中return的使用与闭包详解
    • 纯JS实现弹性导航条效果

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有