2013-07-10 2 views
0

У меня есть страница, на этой странице У меня есть всплывающее окно, которое появляется, когда вы идете на эту страницу или перезагружаете страницу. Также моя страница перезагружается каждую минуту.Сделайте что-нибудь при перезагрузке страницы

Я использую этот код:

if(window.location.href == "http://local.mysite.com:8080/") 
{ 
    setInterval("location.reload(true)", 60000); 
}; 

То, что я хотел бы сделать это, когда страница перезагрузки всплывающее не показывает.

+0

Что вы пробовали себя? Подумайте, вам нужно взглянуть на использование файлов cookie или что-то еще, если я получу ваш вопрос правильно. (Что такое всплывающее окно? Где находится ваш HTML-код?) – putvande

+2

'Также моя страница перезагружается каждые минуты' ..EVERY MINUTE !!! ты серьезно ?? что, если я нахожусь в середине страницы, пытаясь что-то прочитать и взломать !!! перезагружает .. снова перезагружает !!!! .. :) – bipen

+0

Работает ли перезарядка? Вы передаете js строку – raam86

ответ

1

Добавить параметр в URL, чтобы обнаружить, если страница первый раз загружается или перезагружается, попробуйте это:

if (location.href.indexOf("http://local.mysite.com:8080/") === 0) { 
    var url = location.href; 
    if (url.indexOf('r=1') === -1) { 
     console.log('show popup'); 
     url += url.indexOf('?') === -1 ? '?r=1' : '&r=1'; 
    } 

    setTimeout(function() { 
     location.href = url; 
    }, 60000); 
} 
+0

Спасибо, что это работает :) – Tonani

0

Здесь location.reload(true) перезагружает вашу страницу каждую минуту. Этого не должно быть.
Вместо этого вы должны использовать setInterval для всплывающего окна или какого-либо другого элемента.

0

Прежде всего, вы не должны использовать setInterval для этого, так как страница будет перезагружена в любом случае. Достаточно простого setTimeout.

Кроме того, не используйте строку в качестве первого параметра для этих функций, так как это приведет к использованию JavaScript с использованием eval, что может привести к нехорошим вещам в отношении глобальных переменных. Попробуйте использовать замыкание: setTimeout(function() { location.reload(true); }, 60000);.

Теперь, чтобы решить проблему всплывающих окон на странице перезагрузки. Вы можете просто добавить параметр к своему URL-адресу: http://local.mysite.com:8080/?reloaded=true и прочитать это на JavaScript. Это потребует, чтобы вы поменять location.reload на что-то вроде location.href = 'http://local.mysite.com:8080/?reloaded=true';.

Смежные вопросы