在我的网页上
<script src="base64.js"></script>
定义。然后在另一个文件中,我有
var xhr = new XMLHttpRequest;
...
var full = location.protocol+'//'+location.hostname+(location.port ? ':'+location.port: '');
alert(Base64.decode("abc"));
xhr.open("get", full + "myotherfile.js", true);
xhr.send()
警报执行没有问题。但是在“mytoherfile.js”引用Base64类导致RerefernceError。所以在myotherfile.js的顶部我尝试了一下
import {Base64} from 'base64';
但这会导致"Uncaught SyntaxError: Unexpected token {"错误。有正确的方式来包含通过AJAX加载的JS文件中来可以识别我的全局函数?
发布于 2018-06-05 20:18:27
为了清楚起见,这里有几个例子。基本上,你在花括号({ Base64}
)中放置的内容必须从导入的脚本中导出,而不是放在窗口中。
<script src=".../base64.js"></script>
<script>
// both are accessible this way because this is NOT a module
// and global variables are assumed to be on the window.
console.log(Base64);
console.log(window.Base64);
</script>
<script type="module">
// Will not work:
// import { Base64 } from ".../base64.js
// import { window.Base64 } from ".../base64.js
// The same as importing view the script tag
// (not needed because the script tag already imported it)
// import ".../base64.js"
// the "global variable" is accessible on the window
console.log(window.Base64)
</script>
https://stackoverflow.com/questions/-100008631
复制相似问题