カテゴリー : Internet Explorer

[IE6] javascript:void(0); と onclick で動かない問題の解決方法

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 に苦しめられるとは…。

【参考】

javascript: void(0); のIEでの挙動 – 雑想空間 はてなブックマーク - javascript: void(0); のIEでの挙動 - 雑想空間

javascript:void(0) のIE6での注意点/WEBサイト作成の注意点 »サイト構築日記 はてなブックマーク - javascript:void(0) のIE6での注意点/WEBサイト作成の注意点 »サイト構築日記

FacebookアプリのCookieをIEで有効にする方法

 

FacebookアプリをIEことInternet Explorerへ対応する方法を調べたのでメモ。
 

Facebookページ内に埋め込むタイプのFacebookアプリは、iframe内で別ドメインのコンテンツを読み込んで動作しています。
 

iframeで別ドメインのコンテンツを読み込むと、そのCookieはサードパーティーのCookieとなります。IEのデフォルトでは、ポリシーが定義されていないサードパーティーのCookieは受け入れないようになっていて、P3P (www.w3.org)でポリシーを宣言すれば受け入れられるようになります。

・引用元:P3Pコンパクトポリシーをコピペするのが流行らないことを祈る | 水無月ばけらのえび日記 はてなブックマーク - P3Pコンパクトポリシーをコピペするのが流行らないことを祈る | 水無月ばけらのえび日記

 

IEの場合、デフォルトの設定で「P3Pコンパクトポリシーが定義されていないサードパーティーcookieは受け入れない」動作となっている為、Facebookアプリでも、FirefoxやChromeだとちゃんと動くのにIEだとなぜか動かない…という現象に遭遇したりします。

・引用元:FacebookアプリのCookieがIEで無効になってしまう現象を回避する方法 – でぶぬる日記 はてなブックマーク - FacebookアプリのCookieが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アプリのCookieがIEで無効になってしまう現象を回避する方法 - でぶぬる日記

Facebookアプリ作ってて困った事というか、IEでiframe内の別ドメインのページでもクッキーを有効にする方法とか、セキュリティレベルを下げずにCookieを有効にする方法とか – kissrobberの日記 はてなブックマーク - Facebookアプリ作ってて困った事というか、IEでiframe内の別ドメインのページでもクッキーを有効にする方法とか、セキュリティレベルを下げずにCookieを有効にする方法とか - kissrobberの日記

IE/SafariでFacebookアプリの無限reload対策 はてなブックマーク - IE/SafariでFacebookアプリの無限reload対策

php – Facebook iframe not working in IE; session/login issue? – Stack Overflow はてなブックマーク - php - Facebook iframe not working in IE; session/login issue? - Stack Overflow

session – Facebook app works on all browsers but not IE8 – Stack Overflow はてなブックマーク - session - Facebook app works on all browsers but not IE8 - Stack Overflow