TinyMCE делает страницу с флэш-приложением прокручивается вниз (только Chrome и Safari) - PullRequest
3 голосов
/ 11 марта 2012

У меня есть приложение Flash, которое занимает все окно браузера.Я должен отобразить TinyMCE поверх него, используя iframe.Этот iframe должен выглядеть так, как будто он был частью приложения Flash.

Все работает хорошо, кроме Chrome и Safari, как только появляется TinyMCE, страница прокручивается немного вниз.Это приводит к тому, что приложение Flash немного «поднимается», и TinyMCE выглядит так, как будто оно начиналось немного ниже, чем на самом деле.происходит то, что загадочное пустое пространство вставляется внизу страницы.Без переполнения: скрыто (когда я вижу полосу прокрутки) это пространство составляет за пределами документа, что означает, что проверка с помощью инструментов разработчика Chrome не находится внутри элемента html (самого пространства нет в DOM, я могу видеть толькоHTML-элемент заканчивается раньше).С переполнением: скрытый, он появляется внутри тела, но я думаю, это потому, что он каким-то образом «включен» позже или что-то в этом роде.

Edit2: Найдена некоторая информация об этой проблеме: http://www.google.com/support/forum/p/Chrome/thread?tid=6d78452432a4c4d7&hl=en

http://www.hotscripts.com/forums/javascript/53545-scripts-causing-white-space-bottom-chrome-safari.html

Но все еще нет решения ...

enter image description here

Использование

overflow:hidden

на странице не улучшаетсяэто только заставляет не появляться полосу прокрутки, но flashmovie по-прежнему «поднимается» на несколько пикселей.

CSS страницы:

html, body, #flashcontent {
    height: 100%;
    width: 100%;
    overflow: hidden;
}

Элемент HTML в приложении flash,который содержит iframe с TinyMCE:

<div id="htmlel" style="position: absolute; width: 583px; height: 386px; background-color: rgb(255, 255, 255); padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-image: initial; overflow-x: auto; overflow-y: auto; left: 854px; top: 117px; "></div>

Еще одна деталь: я знаю, что это связано с TinyMCE, потому что, когда я помещаю только div для flash-приложения с тем же механизмом (тот, который еще больше)этого не происходитИспользование FCKeditor внутри iframe также работает.Это происходит только при использовании TinyMCE (и только Chrome и Safari, другие браузеры хорошо это показывают).

Есть идеи?Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 04 марта 2013

У меня была такая же проблема, поэтому я добавил это в tinyMCE.init

    oninit:function () {
        setTimeout(function(){
            $('#flashcontent').scrollTop(0);
        },0);
        //dedanaxnavi 
    }

Я сделал это для моего div, и он исправил

0 голосов
/ 24 августа 2012

Что, если вы использовали отрицательное поле для флэш-видео?

Что-то вроде margin-bottom: -20px;. Если это не сработает, попробуйте противоположное (margin-top: -20px;) в окне TinyMCE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...