Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
动态加载Javascript_Javascript_Jquery_Caching - Fatal编程技术网

动态加载Javascript

动态加载Javascript,javascript,jquery,caching,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",

有没有人有类似的经历?我希望在单击特定页面时动态加载外部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控制台中提示错误,脚本似乎无法成功加载。在我将其更改为false之后,它就工作了

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

提示错误:未捕获引用错误:未定义验证

致以最良好的祝愿


开尔文

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

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

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

跳过所有额外的编码。只需在正在加载的页面中创建所需的javascript文件的脚本标记和源代码

<script src="/validation.js"></script>


调用和/或定义的变量引用
验证
在哪里?如果我没有看错,浏览器会抱怨
validation.js
本身存在运行时错误,而您却没有提供该代码。那么,如果任何人都看不到问题所在,他们怎么能帮助解决这个问题呢?仅仅动态添加
脚本
元素有什么问题?@FelixKling我很确定
.getScript
就是这样做的。脚本可以调用,但不稳定。是的,我会学习。getScriptI我真的不明白为什么你在库中加载这样的内容,而不是像@Jasons回答提到的那样。如果这是为了表单验证,为什么不包括一个脚本标签来拉入js呢。你不必担心所有这些来提供它。动态加载脚本不起作用。但这正是我想要的。如果他只是在验证一个表单,为什么需要像这样进行动态验证并增加额外的开销呢。我知道动态加载不起作用。我只是想知道为什么它首先是动态完成的,而不仅仅是在一个脚本标记中。