0

以下に私の特定のケースについて説明しますが、これは多くのWebマッシュアップに役立つ可能性があります。

私のWebアプリケーションは、フォームに入力してから(javascriptを介して)送信することにより、TwitterにPOSTします。targetフォームのは、iframeトリガーのあるにonload設定されます。onloadトリガーが呼び出されると、アプリケーションはPOSTが完了したことを認識します。

これは、Chromeバージョン11までは正常に機能していX-Frame-Options=SAMEORIGINましたが、POST応答でTwitterから送信されたものを尊重するようになりました。POSTは実行されますが、iframe's onloadは呼び出されなくなります。

Firefox 4でも動作しますが、これは最終的に修正されるバグだと思います。

POSTのステータスを知る他の方法はありますか?POST応答の内容を知ることはセキュリティポリシーに違反することを理解していますが、内容には興味がありません。POSTが完了したときにアプリに通知してほしいのですが。

4

2 に答える 2

1

POST がいつ送信されたかを知る必要があり、必ずしも成功したかどうかを知る必要がない場合は、間隔を置いて iframecontentWindowをポーリングできます。contentWindow.documentこれらのオブジェクトのいずれかにアクセスできなくなった場合、またはドキュメントの本文が空の場合は、iframe がX-Frame-Options制限付きのページを読み込んだことを意味し、送信が完了したことを意味する可能性があります。ハックですが、この目的には機能するようです。(制限された iframe のコンテンツがターゲット ブラウザーでどのように表示されるかを把握するには、おそらくいくつかの組み合わせを行う必要があります。)

于 2011-09-06T13:39:52.850 に答える
0

ページのヘッダーを取得することでそれを行うことができます。PHPでは、次のようになります。

$url = 'http://www.google.com';
print_r(get_headers($url));

于 2011-12-13T11:50:44.257 に答える