JavaScript运行时错误:'$'未定义
这是一个经典的问题,但在寻找真正的原因时有一段可怕的时间。通常当我看到这个错误时,这是因为jQuery引用是在代码需要它之后,或者是返回jQuery链接,或者是jQuery冲突等等。到目前为止,似乎没有一个是这种情况。不幸的是,寻找解决这个问题的办法已经导致我在发生这种情况之后发布帖子。我敢肯定,在这里我的问题是同样简单,但一个多小时狩猎,仍然没有运气的......
编辑:附加信息... 解决方案文件(我已经重新尝试多次数字了这一点。是一个JavaScript Windows应用商店的应用空白模板,我在Visual Studio这样做,唯一的引用文件是Windows JavaScript库1.0,我试图删除这个测试也是如此。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>HTML5 Canvas Template</title>
<style>
/* styles here */
</style>
</head>
<body>
<canvas id="myCanvas" width="500" height="500">
<p>Canvas not supported.</p>
</canvas>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var canvas = $("#myCanvas").get(0);
var context = canvas.getContext("2d");
function renderContent()
{
// we'll do our drawing here...
}
renderContent();
});
</script>
</body>
</html>
它的状态是JQuery
引用的URL不正确
试试这个:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
我能够在我之前的链接上访问该文件,但继续前进并用此URL替换它,以确认我也可以访问它。但我仍然得到一个错误,因为如果我没有参考jQuery目前:(:(我在它的前面添加了缺少的“http:”,但没有尝试它与它的赫克) 编辑:更多详细信息 – RualStorge 2013-02-20 02:58:47
我认为这是http://devhammer.net/blog/exploring-html5-canvas-part-1---介绍你正在使用什么尝试从链接下载完整的文件并进行测试 – coder 2013-02-20 03:01:47
这就是我正在学习画布的一套准确的教程,虽然我看到很多有用的链接,但是我没有看到最终代码的链接,他确实提供了带有代码的JSFIDDLE,但是如果你看HTML的脚本标签完全省略,这是我目前的怀疑是有关这个问题。我已经看了三次,以确保我没有错过下载链接:( – RualStorge 2013-02-20 03:12:11
在我的情况下,Anover变种 - 我被迫使用代理。所以- IE11 - > InternetOptions - >连接 - > LANSettings - 代理服务器 - > UseProxyServer - 应该检查。 同时检查jquery脚本源的可用性,我在VS2012中的工作变体 - 就像在顶部示例
在我的情况,问题是我通过https呈现我的页面,但我试图请求JQuery文件http,出于安全原因,它被许多浏览器阻止。
我的修复是改变了...
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
...这个...
<script src="//code.jquery.com/jquery-1.9.1.min.js"></script>
这将导致浏览器使用相同的协议(HTTP或HTTPS下载的JQuery )作为正在呈现的页面。
我的一些客户有这个问题,因为他们显然阻止了从第三方网站加载Javascript。所以,现在我总是用下面的代码包括jQuery的:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
window.jQuery ||
document.write('<script type="text/javascript" src="/js/jquery-1.9.1.min.js">\x3C/script>')
</script>
这可以确保,即使我的客户块加载从CDN域的JavaScript文件,客户端仍然下载从我自己的服务器,该文件,该文件没有被浏览器阻止。
我得到同样的错误代码:
(Error: 'generateText' is undefined)
...的代码
var bodyText=["The....now."]
我打字的多条线路时,在我的文本编辑器(记事本+ +),发现直接在变量bodyText
上面的文本,如果我没有打return carriage
(输入==> WordWrap关闭)只是继续输入没有return carriage
并让编辑器调整它的工作原理?
必须在记事本++的设置?
我试过上面并没有什么似乎一切上市工作,直到我把这个字符串
<script src="../scripts/jquery-2.2.3.min.js" type="text/javascript"></script>
在HTML文件的头部。所以这里是它的外观:
<!DOCTYPE html>
<html>
<head>
<!-- jQuery Reference -->
<script src="../scripts/jquery-2.2.3.min.js" type="text/javascript"></script>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
<title>some title</title>
</head>
<body>
...
而js文件位于文件夹'脚本'下面的一个级别。 最后,错误消失了,多么容易!
祝福你的灵魂!花了整整一天的时间试图找出我做错了什么。我有完全相同的情况,就是这样!谢谢。 – NoBullMan 2017-09-19 03:46:50
您是否尝试过其他来源链接? – 2013-02-20 02:42:07
我只是试过你的代码,我没有得到那个错误。 – 2013-02-20 02:45:58
我已经尝试了不同的源代码链接(实际上是3),但是感谢检查 icanc - man我讨厌那种情况......但是这确实告诉我问题不仅限于代码本身,也许是我的解决方案的性质是错误的。 – RualStorge 2013-02-20 02:47:34