gpt4 book ai didi

javascript:在我的代码尝试使用它之前,我的库未加载存在问题

转载 作者:行者123 更新时间:2023-11-28 21:18:19 25 4
gpt4 key购买 nike

http://dl.dropbox.com/u/331982/Sandbox/comsat.html <-- 代码

http://dl.dropbox.com/u/331982/Sandbox/comsat.js <-- JavaScript 文件的位置

所以,当我将所有内容都放在一个文件中时,这是有效的,但我不太喜欢在 HTML 中使用巨大的脚本标签。

我收到 Raphael 方法之一未定义的错误...=\

如何正确加载我的脚本?

一切都加载在 <head>

<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Comsat</title>

<script type="text/javascript" src="http://dl.dropbox.com/u/331982/Sandbox/raphael-min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="http://dl.dropbox.com/u/331982/Sandbox/comsat.js"></script>


<style type="text/css">
body{
background: url(http://i.imgur.com/Ks6Pd.jpg);
}
</style>

</head>

最佳答案

在我看来,错误是 initPlayerSelect() 未定义,我认为这是因为该函数不在全局范围内,而是在另一个函数范围内定义,因此是无法从 initComSat() 访问。

您需要进行设置,以便可以从 initComSat() 函数内部访问 initPlayerSelect()

一种方法是将 initPlayerSelect() 代码移出其所在的 block ,并将其放在 initComSat() 之前。

仅供引用,这个特定错误与使用 JS 文件或 JS 文件的任何顺序无关 - 这纯粹是一个函数作用域问题。

我看到的下一个错误是因为您在 comsat.js 中加载页面之前运行 jQuery DOM 访问代码而引起的:

/*
DOM Containers
*/
var cs_playerList = [];
var cs_players = $("ul.players");
// End DOM Containers

此代码在脚本加载时失败,导致 cs_playersnullundefined,随后导致 initPlayerSelect() 失败。

在页面加载之前,此类代码无法运行。 jQuery 有 $(document).ready() 在页面加载时运行代码。;

关于javascript:在我的代码尝试使用它之前,我的库未加载存在问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7034079/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com