我正在尝试在一个已经有jQuery的页面上添加一个小的自动刷新javascript。
我没有对站点的控制,所以我不能在每次刷新后向添加一个简单的脚本。
,我必须在控制台中运行脚本,否则页面将只刷新一次。
我想做的是:
var x = function(){
// reload the page
jQuery('html').load(window.location.href);
// recurse every 5 seconds
setTimeout(x, 5000);
};
// init
x();
这会产生一个appendChild
错误。我猜我只是搞错了。
发布于 2012-03-20 12:32:13
尽管人们不相信这是可能的,但这一解决方案虽然不完美,但确实效果很好。
(function x(){
jQuery('html').html('<iframe width="100%" height="' + $(window).height() + 'px" src="' + window.location.href + '"></iframe>');
setTimeout(x, 5000);
})();
发布于 2012-03-20 12:14:09
试试这个:
function x(){
setTimeout(function(){ location.reload(); }, 5000);
}();
编辑:你已经把你的问题说得更清楚了。这应该能起作用:
setInterval(function(){ location.reload(); }, 5000);
发布于 2012-03-20 12:30:40
也许你想用页面的内容来代替正文。它不会重新加载整个页面,所以您的脚本将停留在那里。但是,它可能与页面上的现有脚本发生冲突。
如何做到:
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
https://stackoverflow.com/questions/9794173
复制