окно загрузки и окно фокусировки - PullRequest
1 голос
/ 19 июня 2011
window.onload = function() {
window.onfocus = alert('example');
}

Я сталкивался с этой проблемой, кто-нибудь может помочь?Я новичок в javascript и сделал это, ожидая, что будет работать должным образом, но это не так:)

Я хочу предупредить слово «пример», когда страница полностью загружена и активна, но не хочупредупредить слово «пример», если страница полностью загружена, но не активна (onblur).А когда пользователь возвращается (onfocus), тогда выдается предупреждение «Пример».

Ответы [ 4 ]

3 голосов
/ 19 июня 2011

Ваш код вызывает функцию alert немедленно и присваивает ее возвращаемое значение onfocus.

Вам необходимо установить onfocus на анонимную функцию, которая вызывает alert:

window.onload = function() { 
    window.onfocus = function() { alert('example'); };
};
2 голосов
/ 19 июня 2011

Попробуйте это:

var hasFocus=false;
var loaded = false;

window.onload = function() {
    if (hasFocus) alert('example');
    loaded = true;
};
window.onfocus = function() { 
    if (loaded) alert('example');
    hasFocus = true;
};
window.onblur = function() { hasFocus = false; };
0 голосов
/ 19 июня 2011

Вот необходимый вам javascript.

<html>
<head>
    <script type="text/javascript">
        window.onload = init;

        function init() { window.onfocus = whenInFocus; window.onblur = function() {window.onfocus = whenInFocus;};};
        function whenInFocus() {alert('example'); window.onfocus = null;};
    </script>

</head>
<body>
    hello
</body>
</html>
0 голосов
/ 19 июня 2011
window.onload = function() { 
    window.onfocus = function() {
        alert('example'); 
    }
}
...