ホームページ ウェブフロントエンド jsチュートリアル js は、クロスドメイン アテンション ポイント分析_JavaScript スキルを達成するために document.domain を設定します

js は、クロスドメイン アテンション ポイント分析_JavaScript スキルを達成するために document.domain を設定します

May 16, 2016 pm 03:58 PM
js 注意点 クロスドメイン

この記事の例では、クロスドメイン実装を実現するために js で document.domain を設定する際の注意点を分析します。皆さんの参考に共有してください。具体的な分析は次のとおりです。

ドキュメント.ドメイン
現在の Web ページのドメイン名を取得するために使用されます。
たとえば、アドレスバーに次のように入力します:

コードをコピー コードは次のとおりです。
javascript:alert(document.domain); //www.jb51.ネット

document.domain 属性に値を割り当てることもできますが、現在のドメイン名または基本ドメイン名にのみ割り当てることができるという制限があります。
例:

コードをコピーします コードは次のとおりです。
javascript:alert(document.domain = "jb51.net"); //jb51 .net
javascript:alert(document.domain = "www.jb51.net") //www.jb51.net

www.jb51.net が現在のドメイン名であり、jb51.net が基本ドメイン名であるため、上記の割り当てはすべて成功します。

しかし、次の代入では「無効なパラメータ」エラーが発生します:

コードをコピーします コードは次のとおりです。
javascript:alert(document.domain = "cctv.net"); //パラメータが無効です
javascript:alert(document.domain = "www.jb51.net"); //無効なパラメータ

cctv.net と www.jb51.net は現在のドメイン名でも、現在のドメイン名のベース ドメイン名でもないため、エラーが発生します。
これは、誰かが document.domain を悪意を持って変更して、ドメイン間でデータを盗むのを防ぐためです。

document.domain を使用してクロスドメインを実現します:

前提条件: これら 2 つのドメイン名は同じ基本ドメイン名に属している必要があり、使用されるプロトコルとポートは一貫している必要があります。そうでない場合、document.domain はクロスドメイン

に使用できません。

JavaScript では、セキュリティ上の理由から、異なるドメインの 2 つ以上のページの相互運用が禁止されています。
同じドメインのページは問題なく相互運用できます。

例えば、aaa.com の Web ページ (a.html) では、iframe を使用して bbb.com の Web ページ (b.html) が紹介されます。
このとき、b.htmlの内容はa.htmlでも見ることができますが、javascriptを使って操作することはできません。 2 つのページは異なるドメインに属しているため、js は操作する前に 2 つのページのドメインが等しいかどうかを確認し、等しい場合は操作を許可します。等しくない場合は操作が拒否されます。
JSを使用してa.htmlとb.htmlを同じドメインに変更することはできません。ベースドメイン名が等しくないためです。 (JS でそれらを等しいフィールドに強制的に変更すると、上記と同じ「無効なパラメーター エラー」が報告されます)

したがって、aaa.com の別の Web ページを a.html に導入しても、ドメインは等しいため問題はありません。

別の状況として、2 つのサブドメインがあります:

aaa.xxx.com
bbb.xxx.com

aaa の Web ページ (a.html) は bbb の Web ページ (b.html) を導入します。
現時点では、b.html のコンテンツを a.html で操作することはできません。
document.domain が異なるため、1 つは aaa.xxx.com、もう 1 つは bbb.xxx.com です。

現時点では、JavaScript を通じて 2 つのページのドメインを同じに変更できます。
a.html と b.html の両方を追加する必要があります:

コードをコピー コードは次のとおりです:
document.domain = "xxx.com";

このようにして、2 つのページを相互に操作できます。つまり、同じ基本ドメイン名間の「クロスドメイン」が実現されます。

この記事が皆様の JavaScript プログラミング設計に役立つことを願っています。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHP セッションのクロスドメイン問題の解決策 PHP セッションのクロスドメイン問題の解決策 Oct 12, 2023 pm 03:00 PM

PHP セッションのクロスドメイン問題の解決策

JS と Baidu Maps を使用してマップ パン機能を実装する方法 JS と Baidu Maps を使用してマップ パン機能を実装する方法 Nov 21, 2023 am 10:00 AM

JS と Baidu Maps を使用してマップ パン機能を実装する方法

推奨: 優れた JS オープンソースの顔検出および認識プロジェクト 推奨: 優れた JS オープンソースの顔検出および認識プロジェクト Apr 03, 2024 am 11:55 AM

推奨: 優れた JS オープンソースの顔検出および認識プロジェクト

株価分析に必須のツール: PHP と JS を使用してローソク足チャートを描画する手順を学びます 株価分析に必須のツール: PHP と JS を使用してローソク足チャートを描画する手順を学びます Dec 17, 2023 pm 06:55 PM

株価分析に必須のツール: PHP と JS を使用してローソク足チャートを描画する手順を学びます

PHP および JS 開発のヒント: 株価ローソク足チャートの描画方法をマスターする PHP および JS 開発のヒント: 株価ローソク足チャートの描画方法をマスターする Dec 18, 2023 pm 03:39 PM

PHP および JS 開発のヒント: 株価ローソク足チャートの描画方法をマスターする

PHP と JS を使用して株価ローソク足チャートを作成する方法 PHP と JS を使用して株価ローソク足チャートを作成する方法 Dec 17, 2023 am 08:08 AM

PHP と JS を使用して株価ローソク足チャートを作成する方法

JSとBaidu Mapsを使って地図ポリゴン描画機能を実装する方法 JSとBaidu Mapsを使って地図ポリゴン描画機能を実装する方法 Nov 21, 2023 am 10:53 AM

JSとBaidu Mapsを使って地図ポリゴン描画機能を実装する方法

JSと百度地図を使って地図クリックイベント処理機能を実装する方法 JSと百度地図を使って地図クリックイベント処理機能を実装する方法 Nov 21, 2023 am 11:11 AM

JSと百度地図を使って地図クリックイベント処理機能を実装する方法

See all articles