Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.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_Cordova - Fatal编程技术网

动态加载JavaScript

动态加载JavaScript,javascript,jquery,cordova,Javascript,Jquery,Cordova,我正在编写一个移动应用程序(PhoneGap),希望能够运行本地JS文件或下载JS文件的新版本并使用此版本 在第一个实例中,我试图设置script对象的'src'属性,我可以看到它的工作(使用fiddler)。但是,尽管我已经加载了脚本,但我无法访问任何对象,不知道为什么 我的代码: function LoadApplicationJs() { var AppJs = localStorage.getItem("ApplicationJs"); if (

我正在编写一个移动应用程序(PhoneGap),希望能够运行本地JS文件或下载JS文件的新版本并使用此版本

在第一个实例中,我试图设置script对象的'src'属性,我可以看到它的工作(使用fiddler)。但是,尽管我已经加载了脚本,但我无法访问任何对象,不知道为什么

我的代码:

    function LoadApplicationJs() {
        var AppJs = localStorage.getItem("ApplicationJs");

        if (AppJs == null) {
            $("#Application").attr("src","Application.js");


        }
    }

 LoadApplicationJs();
 alert(app);
有什么想法吗

谢谢
保罗。

< P>您是否考虑使用jQuery GestScript从服务器加载JavaScript文件,脚本在全局上下文中执行?

来自Jquery示例:

$.getScript( "ajax/test.js", function( data, textStatus, jqxhr ) {
  console.log( data ); // Data returned
  console.log( textStatus ); // Success
  console.log( jqxhr.status ); // 200
  console.log( "Load was performed." );
});
最近发布了一个类似的问题,其中requirejs更适合该任务,以防它也有帮助:


您还可以使用RequireJS加载和评估javascript


不确定它是否有用,但有些设备需要strickter javascript。有一次,当我的客户在他的设备上测试一个应用程序时,它在我的设备上运行后崩溃了。问题是一个函数返回了另一个函数(return f()),该函数假定返回一个字符串。allas,在我编写return f()+“”之前,当我试图访问字符串属性(如长度)时,它崩溃了。

如果您可以指定您使用的phonegap和操作系统的版本以及使用的设备,这可能会有所帮助。如果你可以发布你设法加载但不起作用的代码,而不是你说没有问题的代码调用它,这将更有帮助。

谢谢你,但我认为这更多是一个时间问题,不确定,我已经加载了JS文件,我可以看到它已加载,但无法访问应用程序对象。只需将文件添加到html中,它就不会执行它。在$.getScript的情况下,它们使用文件的源代码,并使用jQuery.globalEval(text)执行它;如果您不想使用JQuery,您可以选择使用eval函数,但您需要获取源代码并重复JQuery所做的操作。如果您愿意,这里是源代码:谢谢,但是,我可以加载脚本,没有问题。发生的情况是,我加载脚本,然后尝试访问脚本中的对象,但返回未定义的对象。我现在知道在我尝试访问对象之后正在加载/评估JS。该脚本在设备上失败。Phonegap 3.1,但在我的浏览器上工作。无论哪种方式放弃,都没有时间。
require(["helper/util"], function(util) {
    //This function is called when scripts/helper/util.js is loaded.
});