我的外部js文件有以下脚本:
try {
callback({x: 'abc', y: 'cde' });
}
catch(e) {
}
我已使用以下方法动态注入此脚本:
const script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'http://example.com/external.js';
document.getElementsByTagName('head')[0].appendChild(script);
我能够注入脚本,但是我无法访问外部js的callback()中传递的值。
我也有一些限制:
提前致谢
答案 0 :(得分:0)
我能够使用以下代码块实现此目的
const src = function callback(data) {
console.log(data);
};
const injectFunc = () => {
window.callback = src;
};
const injectScript = () => {
const script = document.createElement('script');
script.type = 'text/javascript';
script.async = true;
script.src = 'http://example.com/external.js';
document.getElementsByTagName('head')[0].appendChild(script);
};
以下列方式在app.js初始化后调用该函数:
init () {
injectFunc();
injectScript();
}
通过这种方式,您将获得回调数据变量中的值,如果需要,可以在应用程序中进一步使用。