3

我有一个在 rtl 中的 HTML 页面,其中包含以下代码,而 Google 加一个按钮在页面中看起来不太好。在加载 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

我刚刚为我的网站修复了这个问题

我的问题是我网站中的每个文章页面都有一个水平滚动条。经过长时间的调查,我发现谷歌加一个按钮有一个错误 ,这个错误只有在页面使用 Direction=rtl 样式时才可见。

只要错误相关,如何修复(希望谷歌会尽快修复它)只需将其添加到您的 css 文件中

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

这将为任何名为“oauth2relay”(谷歌加一个脚本)的 iframe 恢复页面的正确位置

我在我的网站的每个文章页面中都使用它 - 你可以查看它 - 只需使用 firebug 在任何文章中搜索“oauth2relay”

我的网站是www.mentallica.co.il 文章例如:example

于 2013-08-25T20:03:31.473 回答
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 回答
1

将此 css 添加到您的 css 文件中,此代码对我有用

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

此错误现已在 Google+ Javascript 中修复。您应该不再需要进行任何更改以使事情正常工作。

于 2013-09-13T23:24:07.270 回答