JavaScript getScript()不起作用?

时间:2014-01-19 18:36:35

标签: javascript variables external

我正在尝试调用另一个文件中定义的变量。我的HTML文件中包含以下代码,正文中包含<script>个标记。

function getScript("./analysis_method.js", callback) {
  var script = document.createElement('script');
  script.type = 'text/javascript';
  script.src = "./analysis_method.js";

  script.onreadystatechange = callback;
  script.onload = callback;

  document.getElementsByTagName('head')[0].appendChild(script);
}

getScript('./analysis_method.js', function() {
  alert("Analysis Method: " + method);
});

analysis_method.js我已定义method,如下所示:var method = "thermometer";

我从另一个Stack Overflow问题中得到了这个代码,我改变了我对项目的理解。我相信我的问题是我没有改变callback,虽然我不知道该改变它。

1 个答案:

答案 0 :(得分:3)

您的getScript定义中存在语法错误。

function getScript(url, callback) {
  ...
  script.src = url;
  ...
}

重要的是要理解您不能将字符串或数字文字用作变量名,并且必须使用变量名定义所有函数参数。\

在实际加载脚本之前,您还应该期望onreadystatechange的回调失败。 onreadystatechange通常用于保存检查成功或失败的回调,并在满足其中一个条件时调用相应的回调。