使用带有$ .getScript()的var

时间:2015-10-30 10:11:49

标签: javascript jquery

我正在使用$.getScript()来调用外部文件。是否可以在调用变量值时传递?

示例:

var passVal = "ch967";
$.getScript(ext.js); //how can I use `passVal` within ext.js

ext.js

if(passVal=="ch967"){
   var a = "Relax Chairs"
} else {
   var a = "Table Chairs"
}

4 个答案:

答案 0 :(得分:1)

您只需在全局范围内声明变量,例如:

window.passVal = "ch967";

像这样,您可以在$.getScript调用的外部脚本中访问您的变量。

希望这有帮助。

答案 1 :(得分:1)

  

是否可以在调用变量值时传递?

不是直接,不,你必须把它放在全局,然后脚本从中访问它。那可能是

  • 全局变量

  • sessionStorage

...或者只是脚本可以检测到的任何其他全局状态。

答案 2 :(得分:1)

是的,有可能,内联javascript中声明的全局变量可以在使用$.getScript()加载的外部javascript页面中访问

如果

var passVal = "ch967";无法正常工作

window.passVal = "ch967";

大于

$.getScript("ext.js");

答案 3 :(得分:0)

您可以通过以下方式传递变量:

var passVal = "ch967";
$.getScript('ext.js?passVal='+passVal);

然后在ext.js文件中你需要两件事:一个新函数和它的用法来获得你的参数:

function getParameterByName(name) {
    name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
    var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
        results = regex.exec(location.search);
    return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}

getParameterByName('passVal');