首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何获得通过AJAX加载的JS文件识别的全局函数?

如何获得通过AJAX加载的JS文件识别的全局函数?
EN

Stack Overflow用户
提问于 2018-06-05 10:32:42
回答 1查看 0关注 0票数 0

在我的网页上

代码语言:javascript
复制
<script src="base64.js"></script>

定义。然后在另一个文件中,我有

代码语言:javascript
复制
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的顶部我尝试了一下

代码语言:javascript
复制
import {Base64} from 'base64';

但这会导致"Uncaught SyntaxError: Unexpected token {"错误。有正确的方式来包含通过AJAX加载的JS文件中来可以识别我的全局函数?

EN

回答 1

Stack Overflow用户

发布于 2018-06-05 20:18:27

为了清楚起见,这里有几个例子。基本上,你在花括号({ Base64})中放置的内容必须从导入的脚本中导出,而不是放在窗口中。

代码语言:javascript
复制
<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>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100008631

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档