проблема на <html dir = "rtl"> страницах и Google плюс одна кнопка - PullRequest
3 голосов
/ 25 августа 2011

У меня есть HTML-страница, которая находится в rtl со следующим кодом, и Google плюс одна кнопка не выглядит хорошо на страницах.До загрузки файла plusone.js существует очень большая горизонтальная прокрутка из-за dir = "rtl" в теге html.После загрузки 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 ]

2 голосов
/ 26 августа 2013

Я только что исправил это для своего сайта

моя проблема заключалась в том, что каждая страница статьи на моем сайте имела горизонтальную полосу прокрутки.после долгого расследования я обнаружил, что Google плюс одна кнопка имеет ошибку эта ошибка видна только тогда, когда страница использует стиль Direction = RTL.

как исправить какПока ошибка актуальна (надеюсь, Google исправит ее в ближайшее время), просто добавьте это в ваш CSS-файл

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

, это восстановит правильную позицию страницы для любого iframe, который называется "oauth2relay" (гугл плюс один скрипт)

я использую его на своем сайте на каждой странице статьи - вы можете проверить это - просто поищите "oauth2relay" в любой статье, используя firebug

мой сайт www.mentallica.co.il статья например: пример

1 голос
/ 07 декабря 2013

Добавьте этот CSS в ваш файл CSS, этот код работает для меня

iframe[id^="oauth2relay"] { position: fixed !important; }
1 голос
/ 19 января 2013

Скрипт не позволяет менять элементы Но есть простое решение Вместо этого установите 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> 
0 голосов
/ 14 сентября 2013

Эта ошибка теперь исправлена ​​в JavaScript Javascript. Вам больше не нужно вносить какие-либо изменения, чтобы все работало правильно.

...