我正在尝试将一个小的自动刷新javascript附加到已经有jQuery的页面。
我无法控制网站,因此无法在每次刷新后显示的HTML中添加简单脚本。
我必须在控制台中运行脚本,否则页面只会刷新一次。
以下是我正在尝试的内容:
var x = function(){
// reload the page
jQuery('html').load(window.location.href);
// recurse every 5 seconds
setTimeout(x, 5000);
};
// init
x();
这会产生appendChild
错误。我猜我只是有点不对劲。
答案 0 :(得分:1)
尽管不相信这是可能的,但这个解决方案虽然并不完美,但肯定能够很好地运作
(function x(){
jQuery('html').html('<iframe width="100%" height="' + $(window).height() + 'px" src="' + window.location.href + '"></iframe>');
setTimeout(x, 5000);
})();
答案 1 :(得分:0)
尝试使用下面的window.location.reload();
作为自动刷新脚本
<script>
setTimeout(function () {
window.location.reload();
}, 5000);
</script>
答案 2 :(得分:0)
试试这个:
function x(){
setTimeout(function(){ location.reload(); }, 5000);
}();
编辑:您的问题更清晰了。这应该可以解决问题:
setInterval(function(){ location.reload(); }, 5000);
答案 3 :(得分:0)
也许你想用页面内容替换正文。它不会重新加载整个页面,因此您的脚本将保留在那里。但是,它可能与页面上的现有脚本冲突。
怎么做:
var x = function () {
$('body').load(window.location.pathname);
setTimeout(x,5000);
}
x();
编辑:
现在更加“合成不那么糟糕”的方法:重写整个文档。
var x = function () {
$.get(window.location.pathname, function (data) {
document.open();
document.write(data);
document.close(); }
);
setTimeout(x,5000);
}
x();
这有效,不会在body标签下重新加载页面。
但我认为打字过多和担心注射黑客:P