3

次のコードを含む rtl の HTML ページがあり、Google プラス 1 ボタンがページに正しく表示されません。plusone.js ファイルが読み込まれるまで、html タグの dir="rtl" のために非常に大きな水平スクロールが発生します。plusone.js をロードすると、スクロールが消えます。この横スクロールの表示と非表示を回避するにはどうすればよいですか。 (タグから dir="rtl" を削除したくない)

<html xmlns="http://www.w3.org/1999/xhtml" dir="rtl">
<head>
<script type="text/javascript">
  (function() {
    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
    po.src = 'https://apis.google.com/js/plusone.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
  })();
</script>
</head>
<body>
<div id="content">
   <div class="g-plusone" data-size="small" data-annotation="none"></div>
</div>
</body>
</html> 
4

4 に答える 4

2

私は自分のサイトのためにこれを修正しました

私の問題は、サイトのすべての記事ページに水平スクロール バーがあることでした。長い調査の結果、Google プラス ワン ボタンにバグがあることがわかりました 。このバグは、ページが Direction=rtl スタイルを使用している場合にのみ表示されます。

バグが関連している限り修正する方法(Google がすぐに修正してくれることを願っています) は、これを css ファイルに追加するだけです

iframe[id^="oauth2relay"]
{
    right:100px;
}

これにより、「oauth2relay」(Google プラス 1 スクリプト) を呼び出した iframe のページの正しい位置が復元されます。

私は自分のサイトのすべての記事ページでそれを使用しています - あなたはそれをチェックすることができます - firebug を使用して任意の記事で「oauth2relay」を検索するだけです

私のサイトはwww.mentallica.co.il の記事です。例:

于 2013-08-25T20:03:31.473 に答える
1

このcssをcssファイルに追加してください。このコードは私にとってはうまくいきます

iframe[id^="oauth2relay"] { position: fixed !important; }
于 2013-12-07T17:15:21.547 に答える
1

スクリプトでは要素を変更することはできませんが、簡単な解決策があります代わりに、dir = "rtl"を html または body に設定して、メイン div に対してこの設定を行います

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript">
    (function () {
        var po = document.createElement('script'); po.type = 'text/javascript';    po.async = true;
            po.src = 'https://apis.google.com/js/plusone.js';
            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
    })();
</script>
</head>
<body>
<div id="content" style="direction: rtl;">
   <div class="g-plusone" data-size="small" data-annotation="none"></div>
</div>
</body>
</html> 
于 2013-01-19T10:30:05.407 に答える
0

このバグは、Google+ Javascript で修正されました。適切に機能させるために変更を加える必要はもうありません。

于 2013-09-13T23:24:07.270 に答える