Через 6 лет у меня есть решение для этого!
Ответ вдохновлен другими ответами здесь.
Ответ Эдуба мне не помог, он перезагружал страницу снова и снова и не соблюдал параметр длительности setInterval
. Я не понимаю, почему ответ Эдуба не работает, как ожидалось.
Это работает для меня в Chrome 67:
javascript:document.getElementsByTagName("body")[0].innerHTML = "<iframe id=\"testFrame\" src=\""+window.location.toString()+"\" style=\"position: absolute; top:0; left:0; right:0; bottom:0; width:100%; height:100%;\"><\/iframe>";reloadTimer = setInterval(function(){ document.getElementById("testFrame").src=document.getElementById("testFrame").src },10000)
Отформатированная версия:
document.getElementsByTagName("body")[0].innerHTML =
"<iframe id=\"testFrame\"
src=\"" + window.location.toString() + "\"
style=\"position: absolute; top:0; left:0; right:0; bottom:0; width:100%; height:100%;\">
<\/iframe>";
reloadTimer = setInterval(
function(){
document.getElementById("testFrame").src=document.getElementById("testFrame").src
},
10000
)
Это работает, заменяя текущее тело документа на iframe, указывающий на текущее местоположение окна.
Затем выполняется вызов setInterval, который заставляет страницу перезагрузиться по таймеру.
Это хорошо работает в качестве закладки. Дополнительная функция setInterval также может вызываться закладкой: javascript:clearTimer(reloadTimer)
Заметки:
Некоторые сайты обнаруживают, что к ним обращаются через iframe, и пытаются заблокировать доступ (например, сайты Stack!)
Браузеры удаляют префикс javascript:
при вставке в адресную строку его необходимо вводить вручную. Однако javascript:
не удаляется, если вводится через закладку.