【问题标题】:How can I access a variable that is imported on another <script> tag in JS如何访问在 JS 中另一个 <script> 标记上导入的变量
【发布时间】:2017-09-25 20:45:37
【问题描述】:

我一直在搞乱socket.io,但遇到了一个我暂时无法解决的问题。我有一个 HTML 页面,其中导入了 2 个不同的脚本。其中之一是 socket.io 导入;

<script src="node_modules/socket.io-client/dist/socket.io.js">
    var socket;
    socket = io.connect('http://localhost:8080'); 
</script>

另一个是用于游戏的脚本。我想在这个脚本中调用在第一个导入脚本(即上面)中声明的变量“socket”。仅供参考,它就在这样的函数内部;

<script type="text/javascript">
    function myFunc(data) {
        socket.emit('key',data);
    }
</script>

现在,如果我尝试像这样运行它,它会说未定义“socket”变量。如果我尝试在 socket.io 脚本中使用游戏脚本,它也不起作用。而且我不知道有什么办法可以在游戏脚本中导入socket.io脚本,我该怎么办?

【问题讨论】:

标签: javascript html socket.io


【解决方案1】:

您不能让脚本标签既使用源代码又使用其中的内容。将您的 socket.io 源脚本放在它自己的脚本标签中,它应该可以工作。

编辑:像这样:

<script src="node_modules/socket.io-client/dist/socket.io.js"></script>
<script>
    var socket;
    socket = io.connect('http://localhost:8080'); 
</script>

【讨论】:

  • 它不在同一个脚本标签中。页面中包含 2 个不同的脚本标签。
  • 在第一个脚本中,标签内有src 属性和文本。那不行。您必须像我上面显示的那样将它们放在单独的脚本标签中
猜你喜欢
  • 2016-07-07
  • 2017-02-06
  • 1970-01-01
  • 2021-02-13
  • 2021-12-24
  • 2018-09-26
  • 1970-01-01
  • 1970-01-01
  • 2016-07-16
相关资源
最近更新 更多