Попробуйте поместить document.getElementById
в setTimeout()
Например.
setTimeout(function(){
console.log(document.getElementById('whatever'));
}, 100);
Если это сработает, тогда это просто проблема синхронизации.
Я ничего не знаю лучше, чем Iframe
, Но мне действительно приходит в голову, что это могло быть добавлено в JS путем поиска нескольких переменных
Тогда сценарий, который ищет эти объекты, и просто добавьте, что iframe слой был бы аккуратным решением
Paul
Насколько я знаю, что существует только две опции, лучше, которых упомянутое использование iframe. Другой скрывается, все выбирает, когда наложение показывают, ведя к еще более странному пользовательскому опыту.
Я не думаю, что существует. Я попытался решить эту проблему в своем задании. Сокрытие избранного управления было лучшим, мы могли придумать (быть корпоративным магазином со зрителями поневоле, пользовательский опыт обычно не включает в решения премьер-министра).
Из того, что я мог собраться онлайн при поиске решения, нет только никакого хорошего решения этого. Мне нравится решение FogBugz (то же самое, сделанное большим количеством высококлассных сайтов, как Facebook), и это на самом деле, что я использую в своих собственных проектах.
Я делаю то же самое с избранными полями и Flash.
При использовании наложения, скройте основные объекты, которые протолкнули бы. Это не является большим, но это работает. Можно использовать JavaScript для сокрытия элементов прежде, чем отобразить наложение, затем показать им снова, как только Вы сделаны.
я пытаюсь не смешать с iframes, если это не абсолютно необходимо.
прием использования маркировок или текстовых полей вместо избранных полей во время оверлейных программ аккуратен. Я могу использовать это в будущем.
Thanks for the iframe hack solution. It's ugly and yet still elegant. :)
Just a comment. If you happen to be running your site via SSL, the dummy iframe tag needs to have a src specified, otherwise IE6 is going to complain with a security warning.
example:
<iframe src="javascript:false;"></iframe>
I've seen some people recommend setting src to blank.html ... but I like the javascript way more. Go figure.
Mootools имеет довольно неплохое решение, использующее iframe, называемый iframehim.
Не стоит включать lib только для этого, но если он есть в вашем проекте, то вы должны знать, что плагин 'iframehim' существует.
.Есть простой и понятный плагин jquery под названием bgiframe. Разработчик создал его с единственной целью решить эту проблему в ie6.
Я недавно использовал, и это работает как шарм.