Web ページが iframe フレームと複数の location.href 間の違いによってネストされるのを防ぐための js

高洛峰
リリース: 2017-01-12 10:58:34
オリジナル
1552 人が閲覧しました

まず第一に、window.location.href、location.href、self.location.href、parent.location.href、top.location.href の違いと関係を理解し​​ましょう。簡単に言うと、いくつかの場所の違いです。 hrefs.jsはiframeでフレーム化されたWebページの機能を実現します
「window.location.href」「location.href」「self.location.href」はこのページへのジャンプです
「parent.location.href」は前のページへのジャンプ
"top.location.href" は最も外側のページ ジャンプです

例 (上に示したように):
A、B、C、および D がすべて通常のページの場合、D は C の iframe です, そして、CはBのiframe、BはAのiframe、
Dのjsが次のように書かれているとします:
"window.location.href", "location.href": D page Jump
"parent. location.href": C ページジャンプ
" top.location.href": ページ A ジャンプ

ページ D にフォームがある場合:

: フォーム送信後にページ D にジャンプ
<フォームターゲット="_blank">: フォームの送信後にポップアップします 新しいページ
: フォームの送信後にページ C にジャンプします
フォームが送信された後にジャンプします

ページの更新について、ページ D は次のようになります:
"parent.location.reload();": C ページの更新 (もちろん、子ウィンドウのオープナー オブジェクトを使用して親ウィンドウのオブジェクトを取得します: window.opener.document.location.reload(); )
" top.location.reload();": ページの更新

今振り返ると、js の実装は非常に簡単です。 Web ページが iframe によってフレーム化されるのを防ぐ機能。 content.html ファイルが Frame.html ファイル内でフレーム化されていると仮定すると、考え方は次のようになります。content.html に js を追加して、独自の top.location.href アドレスと、それが top.location.href アドレスであるかどうかを検出します。入れ子になっている場合は、入れ子になっていません。ヒントを提供します。

<script language="javascript"> 
if(top.location!==self.location){ 
WarningTxt1 = "content页面被iframe了!"; 
WarningTxt2 = "我们跳出iframe,直接访问content页面吧!"; 
alert(WarningTxt1); 
alert(WarningTxt2); 
top.location.href=self.location.href; 
} 
</script>
ログイン後にコピー

Web ページが iframe フレームによってネストされるのを防ぐための js 実装と、いくつかの location.href 関連記事の違いについては、PHP 中国語 Web サイトに注目してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート