Подтвердить что ты не робот

Chrome показывает пустую страницу на сайте языка RTL до тех пор, пока не изменится размер окна

Я только что создал веб-сайт на арабском языке и заметил, что Chrome иногда показывает абсолютно пустую страницу, пока окно не будет изменено, а затем все сразу станет видимым.

Арабский язык RTL, поэтому тег <html> имеет dir="rtl" lang="ar". Это единственное различие между ним и английским сайтом.

Это сайт. Возможно, вам придется щелкнуть по логотипу несколько раз, чтобы увидеть, что он отображается пустым.

4b9b3361

Ответ 1

Я тоже заметил эту проблему, и я обыскал интернет на английском и арабском языках, но не смог найти причину проблемы. Я нашел обходное решение, чтобы исправить это; используйте следующие jQuery script в ваших веб-страницах, ориентированных на rtl:

//Chrome RTL UI Issue Fix
$(document).ready(function(){
    $(window).load(function() {
        $( "body" ).animate({
            scrollTop: 1
        });
    });
});

Все, что он делает, - это прокрутка страницы только 1px сразу после того, как все элементы страницы были загружены. Вы можете добавить код, который прокручивает его назад, если вы хотите.

Ответ 2

Я исправил эту проблему, и я хочу поделиться ею с вами. Я думаю, эта проблема только для gc на mac os. Как это исправить? спрячьте свое тело в своем css, а затем покажите его, когда загрузится страница, и все будет работать.

/*Add this to your css to hide body */
body {
    display: none;
}

<!-- Add to your html to js file to show your body again -->
  $(window).load(function() {
  // When the page has loaded
  $("body").show()
});

Ответ 3

Ссылка на страницу не работает. Доступна ли эта страница на сайте футуризма?

Я загрузил страницу futurism.com и добавил dir="rtl" lang="ar" в тег html. Я перезагрузил страницу 50 раз. Я не могу воспроизвести проблему.

Моя копия страницы работает на Apache с Multiviews.

  • Я добавил языковую директиву для арабского языка.
  • У меня есть две копии файла, futurism.htm.en и futurism.htm.ar
  • Я установил язык в своем браузере на арабский [ar].
  • Арабские страницы обсуждаются Apache.

Загрузка страницы без проблем.

Я также создал другую страницу с арабскими буквами Unicode. Он загружает и отображает арабский справа налево без проблем.

Ответ 4

У меня была та же проблема.

Просто не применяйте направление к тегам body или html.

<html>
    <head>
        <style>
            .rtl {
                direction: rtl;
            }
        </style>
    </head>
    <body>
        <div class="rtl">
            <!-- Your Codes Here ... -->
        </div>
    </body>
</html>

Ответ 5

Wordpress стал действительно раздражать при работе с RTL, вам нужно изменить размер или прокрутить, чтобы показать контент. Я думаю, что это происходит только на MacOS.

Я заметил, что некоторые сайты не имеют этой проблемы, поэтому, сравнивая html, я заметил, что на рабочих веб-сайтах есть много классов в <html>, например: js flexbox flexboxlegacy canvas canvastext webgl no-touch geolocation...  который добавлен modernizr.js(v2.8.3)

Я добавил это в свой заголовок страницы, и проблема с пустой страницей исчезла:

<script src="/js/modernizr.js"></script>

Я не уверен, что происходит, но может быть, это даст некоторую отправную точку для выяснения реальной причины проблемы.

Ответ 6

У меня была схожая проблема с вашей, но мой сайт показал, что до тех пор, пока он не будет обновлен вручную на телефонах Android, после чего страница будет пуста. Это поведение можно также воспроизвести в инструментах разработчика в Chrome и Opera (оба используют механизм Blink).

Во-первых, я применил фиксированное правило позиционирования к телу,

body { position: fixed; }

Затем я вернул позиционирование при загрузке страницы с помощью jQuery,

jQuery(window).load(function() { jQuery('body').css('position','static'); });

Ответ 7

У меня есть эта проблема с моим Wordpress, и я исправил ее, добавив этот код javascript

window.scrollTo(0, 1);
window.scrollTo(0, 0);