javascript - 动态加载Javascript

标签 javascript jquery caching

有人有类似经历吗?我想在单击特定页面时动态加载外部 JavaScript。下面是我写的代码:

    $("#tab-4-content").load("/reg.php?id="+this.id+"&ads="+$(this).data('ads')+"&f="+$(this).data('file')+"&mid="+$(this).data('mid'));
$.ajax({
  url: "http://www.mydomain/validation.js",
  dataType: "script",
  cache: false,
    }).done(function() {
        console.log("success load livevalidation");
    });
    $.mobile.changePage("#tab-4");
}); // tab-4-content click

validation.js 是验证表单输入的脚本。 当缓存设置为 true 时,脚本似乎无法成功加载,因为 Chrome Javascript Console 中提示错误。我把它改成 false 后就可以了。

问题是如果我一天没有点击#tab-4-content就保持浏览器打开,一天后我尝试点击它,再次提示错误,然后我必须将缓存更改为true,执行1 然后再次 false,就恢复正常了。我不知道缓存是怎么做的,是否有时间过期问题,错误是由缓存设置引起的?

错误提示:Uncaught ReferenceError:验证未定义

最诚挚的问候,

开尔文

最佳答案

这是.getScript函数,你可以试试这个

$.getScript( "http://www.mydomain/validation.js" )
.fail(function() {
    // so something
}).done(function() {
    console.log("success load livevalidation");
});

但我确实认为错误出在validation.js本身,就像Sukima所说,如果这不起作用,请先检查该文件。

关于javascript - 动态加载Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24728795/

相关文章:

jquery - 当用户向下滚动页面结束时如何放下一个div?

caching - 带有 .htaccess 的 HTTP 缓存 header

javascript - 在指令中分配给 $watch 之外的隔离范围对象会产生不可预测的行为

javascript - 如何创建引用另一个类的 QUnit 测试?

javascript - 在 Meteor 模板中按类别对集合成员进行分组

jquery - 如何让div元素消失

javascript - 延迟 2 秒或网页 AJAX 调用后的后续点击

html - jQuery 手机 : Dynamically loaded content bloating the DOM

sql-server - Redis缓存及整体流程

javascript - Meteor:Autoform 未向 mongo 提交帖子