4

domain に JavaScript プラグインを書いているページがあるとしますfirst.comsecond.comJavaScript プラグインは、(ドメインの)ログイン ページを指す iframe をfirst.comページに挿入し、それをポップアップとして表示して、ユーザーがログインできるようにします。

ユーザーがログインした後、iframeを非表示/閉じる方法はありますか? ページに必要な JavaScript を挿入first.comし、iframe 内のログイン ページでクライアント側とサーバー側の両方のコードを制御します。

主な問題は、iframe がその親ウィンドウにアクセスして非表示にすることができず、親ウィンドウが同じオリジン ポリシーのために iframe の内容に加えられた変更を認識できないことです。とにかくこれについてはありますか、それとも iframe のアイデアを失い、代わりに新しいウィンドウを開く必要がありますか?

4

2 に答える 2

2

first.com のページをロードするログイン ページに iframe をロードすることを second.com の開発者が確信できる場合、内側の iframe は外側の javascript を呼び出すことができます。この方法でも、内側の iframe の URL を介してパラメーターを渡すことができます。ここにがあります。

于 2009-06-01T17:11:12.270 に答える
1

あなたが直面している問題は、ブラウザーがクロスドメイン通信を停止していることだと思います。JavaScriptに署名する方法はありますが、ブラウザのセキュリティ モデルをかなり壊しているため、どうしても必要な場合を除き、お勧めしません。

ログインフォームが URL 送信に基づく方法はありますか? 簡単なサインイン フォームを作成し、AJAX を使用して応答を取得し、ログインを成功させることができます。この解決策は RESTful ログインに依存していますが、second.com の実装についてはよくわかりません。

ajax を使用してフォームを送信する方法について疑問に思っている場合は、これを確認してください (jQuery にありますが、ほぼすべてのフレームワークに適用されます)。状況。

于 2008-11-14T22:48:43.837 に答える