Internet Explorer 11 だけで実行する JavaScript サンプルコード
- 2020 5/14
IE6 にて、href に javascript:void(0); を指定して、 onclick を使う場合は、onclick 内の最後に return false; を記述しないと動かない。
■ IE6 で動かないコード
<a href="javascript:void(0);" onclick="document.form.submit();"> |
■ IE6 で動くコード(onclick 内の最後に return false; を記述)
<a href="javascript:void(0);" onclick="document.form.submit(); return false;"> |
また、IE6 に苦しめられるとは…。
【参考】
FacebookアプリをIEことInternet Explorerへ対応する方法を調べたのでメモ。
Facebookページ内に埋め込むタイプのFacebookアプリは、iframe内で別ドメインのコンテンツを読み込んで動作しています。
iframeで別ドメインのコンテンツを読み込むと、そのCookieはサードパーティーのCookieとなります。IEのデフォルトでは、ポリシーが定義されていないサードパーティーのCookieは受け入れないようになっていて、P3P (www.w3.org)でポリシーを宣言すれば受け入れられるようになります。
IEの場合、デフォルトの設定で「P3Pコンパクトポリシーが定義されていないサードパーティーcookieは受け入れない」動作となっている為、Facebookアプリでも、FirefoxやChromeだとちゃんと動くのにIEだとなぜか動かない…という現象に遭遇したりします。
解決方法は、レスポンスのHTTP headerに具体的なポリシーの内容を出力するだけでOKです。
■ Ruby on Rails
1 2 3 4 5 6 | # application_controller.rb before_filter :ie_p3p_fix def ie_p3p_fix response.headers["P3P"] = 'CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"' end |
■ PHP
1 | header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"'); |
以上です。
【参考】
・FacebookアプリのCookieがIEで無効になってしまう現象を回避する方法 – でぶぬる日記
・Facebookアプリ作ってて困った事というか、IEでiframe内の別ドメインのページでもクッキーを有効にする方法とか、セキュリティレベルを下げずにCookieを有効にする方法とか – kissrobberの日記
・IE/SafariでFacebookアプリの無限reload対策
・php – Facebook iframe not working in IE; session/login issue? – Stack Overflow
・session – Facebook app works on all browsers but not IE8 – Stack Overflow