<p>首先我们了解一下:window.location.href、location.href、self.location.href、parent.location.href、top.location.href他们的区别与联系,简单的说:几种location.href的区别 js实现网页被iframe框架功能</p><p>&quot;window.location.href&quot;、&quot;location.href&quot;、&quot;self.location.href&quot;是本页面跳转</p><p>&quot;parent.location.href&quot;是上一层页面跳转</p><p>&quot;top.location.href&quot;是最外层的页面跳转</p><p>举个例子说明(如上图):</p><p>如果A,B,C,D都是普通页面,D是C的iframe,C是B的iframe,B是A的iframe,</p><p>如果D中js这样写:</p><p>&quot;window.location.href&quot;、&quot;location.href&quot;:D页面跳转</p><p>&quot;parent.location.href&quot;:C页面跳转</p><p>&quot;top.location.href&quot;:A页面跳转</p><p>如果D页面中有form的话:</p><p>&lt;form&gt;: form提交后D页面跳转</p><p>&lt;form target=&quot;_blank&quot;&gt;: form提交后弹出新页面</p><p>&lt;form target=&quot;_parent&quot;&gt;: form提交后C页面跳转</p><p>&lt;form target=&quot;_top&quot;&gt; : form提交后A页面跳转</p><p>关于页面刷新,D 页面中这样写:</p><p>&quot;parent.location.reload();&quot;: C页面刷新 (当然,也可以使用子窗口的 opener 对象来获得父窗口的对象:window.opener.document.location.reload(); )</p><p>&quot;top.location.reload();&quot;: A页面刷新</p><p>现在回头看看,js实现网页防止被iframe框架功能就很简单了。假设frame.html文件中框架了content.html文件,那么思路是这样的:在content.html中加入js检测自己本身top.location.href地址,是否为top.location.href地址。如果是则没被嵌套,如果否的话即被嵌套了,这是我们可以提示一下。预览效果</p><p>网页防止被框架方法代码:</p><p>代码如下:</p><pre class="brush:js;toolbar:false">&lt;scriptlanguage=&quot;javascript&quot;&gt; if(top.location!==self.location){ WarningTxt1=&quot;content页面被iframe了!&quot;; WarningTxt2=&quot;我们跳出iframe,直接访问content页面吧!&quot;; alert(WarningTxt1); alert(WarningTxt2); top.location.href=self.location.href; } &lt;/script&gt;</pre>
T:0.006657s,M:246.59 KB
返回顶部 留言