是否可以单独重新加载JavaScript或Jquery函数,或者是否可以每30秒重新加载外部Javascript文件,而不是重新加载页面。
答案 0 :(得分:7)
getScript
正常工作30秒后触发重新加载。您可能希望将其保留或添加.done()
/ .fail()
回调(看看here)。
另外,我添加了一个随机查询值,以确保加载的脚本不会被缓存:
<script id="myscript" src="src/to/file-with-your-custom-scripts.js"></script>
<script>
$(function() {
var salt = Math.floor(Math.random() * 1000),
time;
function load_script() {
$('#myscript').remove();
$.getScript("src/to/file-with-your-custom-scripts.js?s=" + salt, function() {
$('script:last').attr('id', 'myscript');
salt = Math.floor(Math.random() * 1000);
time = setTimeout(function() {
load_script();
}, 30 * 1000);
});
}
load_script();
});
</script>
旧版本:
<script id="myscript" src="src/to/file-with-your-custom-scripts.js"></script>
<script>
$(function() {
setInterval(function() {
$('#myscript').remove();
$.getScript("src/to/file-with-your-custom-scripts.js", function() {
$('script:last').attr('id', 'myscript');
});
}, 30000); // every 30 seconds
});
</script>
答案 1 :(得分:0)
另外,为了在我们的网页中加载实时数据而不重新加载,我们可以使用名为 CodeIgniter 的PHP MVC和Jquery。请参阅以下链接以简化操作。还可以去官方website找到更多有趣的东西。
http://chrissilich.com/blog/make-your-own-live-data-feed-with-php-codeigniter-and-javascript-jquery/