这是我的HTML开头:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="/Scripts/jquery-1.8.2.min.js"></script>
<script src="/Scripts/jquery.signalR-0.5.3.js" type="text/javascript"></script>
<script src="/Scripts/MyScript.js" type="text/javascript"></script>
<title>Some title</title>
</head>
我尝试在</head>
之前添加:
<script type="text/javascript" src="/signalr/hubs"></script>
但它没有帮助。
我还尝试删除jQuery
和signalR
脚本以外的所有内容。
jquery.signalR-0.5.3.js
(以及hubs
,如果我添加)都已成功加载(我可以使用Chrome“开发者工具”单步执行)。那么为什么我没有定义$.connection
对象?
我清理了所有不必要的代码,同时发现:
$.connection
时,MyScript.js
确实存在,但我尝试使用chrome控制台首先测试它。在控制台中它不存在......我不明白为什么。我暂时保存$.connection
,以便在someGlobalObj
中对其进行测试:
someGlobalObj = $.connection;
这有效......
所以我的更新问题是:在我的脚本中可以看到如何$.connection
,但在chrome控制台($
或jQuery
中是不可见的是全局变量)?
答案 0 :(得分:1)
如何在我的脚本中看到$ .connection,但在Chrome控制台中是不可见的($或jQuery是全局变量)?
只有两种解释:在脚本之后执行的某些操作(超时,其他一些脚本)......
connection
属性$
属性的对象覆盖全局jQuery
(甚至connection
?)变量。如果您还使用其他库(如Prototype),则可能出现第二种情况。