Facebookのようなボックスとボタンを 私のブログ に追加しました。最近、分析で?fb_xd_fragment=
で終わるページに多くのヒットが見られました。
Facebookフォーラムで 関連するスレッド を見つけましたが、心配なことに、何らかの奇妙な理由でIE8ユーザーが空白ページにリダイレクトされていることに言及しています!これはひどいです。私のブログにアクセスしようとすると空白のページが表示されるため、訪問者の大部分が失われますか? (チェックするIE8を備えたWindowsコンピューターは手元にありません)
また、 関連する質問 SOで、xmlns:fb="facebook.com/2008/fbml"
をメインhtml
タグに追加すること(今やったことです)、およびchannel.html
ファイル。しかし、私のブログはブロガーでホストされており、htmlファイルをアップロードできないため、後で行うことはできません。
だから私の質問は2つあります:
xmlns:fb
を追加した後でも、これはIE8の訪問者に影響する問題である可能性がありますFacebookプラットフォームのバグ (「WontFix」とマークされている)を見ると、回避策はページに次を追加することです。
コメント14 から:
<!-- Correct fb_xd_fragment Bug Start -->
<script>
document.getElementsByTagName('html')[0].style.display='block';
</script>
<!-- Correct fb_xd_fragment Bug End -->
あるいは、 comment 66 によって提案されたソリューションの実装を検討することもできますが、Blogspotでホストされているため、追加のファイルを作成する必要があるため、ソリューションは公開されていないと思いますサーバー上。
リンクしたページで( this one )リンクしたスレッドで:
ページ上でフレーム化されることを回避するためのこのJavaScriptは、問題の原因です。
0){parent.location.href = location.href; }->これを削除すると、Internet Explorerが動作します。
ページはFirefoxとChromeの両方で正常に機能し、そのコードはページに含まれています。
残念ながら問題を再現することもできませんが、それが役に立てば幸いです。
AddThisを使用しているサイトの1つでこの問題が発生しています。InternetExplorerだけでなく、すべてのブラウザに影響します。どのように、またはなぜそれが起こるのかを正確に把握していませんが、Facebookフレームは親の<html>
要素をdisplay: none
に設定しています。
ただし、簡単な回避策があります-スタイルシートにこれを追加するだけです:
html {
display: block !important;
}
これにより、インラインスタイルが上書きされ、ページの表示が停止します。
これを見てみてください fix
FB.initがある場合は、次のようにchannelUrlパラメーターを追加します。
FB.init({appId: appId, status: true, cookie: true, xfbml: true, channelUrl: 'http://example.com/channel.html'});
// ^ channel URL above used to workaround fb_xd_fragment bug
次に、特別な静的チャンネルページを実装します。そのページには、Facebook接続のjavascriptを次のように含めます。
<script src="http://connect.facebook.net/en_US/all.js"></script>