因此,我试图使用jquery的$ .getScript远程加载javascript,但是我对如何将数据传递到外部脚本感到困惑。
我已经尝试在调用之前设置变量,但是在加载的脚本中不可用,并且当我尝试使用查询字符串发送/检索它们时,远程脚本会尝试读取其基本文件的查询字符串从而不是本身被调用。还有其他方法吗?还是有可能让javascript文件读取自己的查询字符串,而不是从其调用的文件中读取查询字符串(已加载到浏览器中)?
// editor ini var editor_ini = { page: current_page, action: 'edit' }; var foo = 'bar'; // load the editor $.getScript('assets/desktop/desklets/'+launcher.config.editor+'/execute.js', function(){});
在execute.js文件中,editor_ini和foo都不可用,我得到的结果相同:
editor_ini
foo
// load the editor $.getScript('assets/desktop/desklets/'+launcher.config.editor+'/execute.js', { page: current_page, action: 'edit', foo: 'bar' }, function(){});
因为远程脚本似乎从原始文档获取查询字符串,而不是从调用文件时使用的查询字符串。
如果很重要,我正在尝试将查询对象插件用于jquery来读取查询字符串。
我敢打赌,您的var foo='bar'在函数内部,因此在全局范围内不可见。尝试:
foo='bar'
window.foo = 'bar'