Перекрывающее окно = onload - PullRequest
       2

Перекрывающее окно = onload

4 голосов
/ 31 октября 2011

У меня есть страница в WordPress, которую я хочу защитить паролем через плагин роли пользователя.На прямых страницах все работает нормально, но у меня есть страница с window.onload = function() {, которая полностью переопределяет функцию пароля.

Я хочу, чтобы страница загружалась сразу после проверки, чтобы увидеть, вошел ли пользователь в систему или нет.

Обновление:

Я использую этот плагин и у меня просто есть функция:

<script type="text/javascript"> 
(function() { 

window.onload = function() { 
 var map = new google.maps.Map(document.getElementById('map'), options);
...
} } )
</script>

, которая затем загружается в этот div:

<div id="map" style="width:100%; height:100%"></div>

Ответы [ 2 ]

2 голосов
/ 31 октября 2011

Вы должны использовать addEventListener или attachEvent для загрузки нескольких функций.Если вы хотите использовать window.onload = .., используйте код в последнем блоке else в функции ниже:

function addEvent(name, func) {
    if (window.addEventListener) {
        window.addEventListener(name, func, true);
    } else if(window.attachEvent) {
        window.attachEvent('on' + name, func);
    } else {
        var other_func = typeof window['on'+name] == "function" ? window['on'+name] : function(){};
        window['on' + name] = function(ev){
            func(ev);
            other_func(ev);
        }
    }
}

addEvent('load', function(){
   //Load function 
});
1 голос
/ 31 октября 2011

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

https://developer.mozilla.org/en/DOM/element.addEventListener

Вам потребуется использовать attachEvent для версий IE <9.</p>

http://msdn.microsoft.com/en-us/library/ms536343(v=vs.85).aspx

Если вы используете фреймворк, такой как jQuery или Prototype, его можно абстрагировать, поэтому вам не нужно беспокоиться о различных браузерах.

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