为什么没有定义$ .connection对象?

时间:2012-10-25 14:34:07

标签: javascript jquery signalr

这是我的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>

但它没有帮助。

我还尝试删除jQuerysignalR脚本以外的所有内容。

请注意:所有脚本(包括jquery.signalR-0.5.3.js(以及hubs,如果我添加)都已成功加载(我可以使用Chrome“开发者工具”单步执行)。

那么为什么我没有定义$.connection对象?

编辑:

我清理了所有不必要的代码,同时发现:

    当我在$.connection时,
  1. MyScript.js确实存在,但我尝试使用chrome控制台首先测试它。在控制台中它不存在......我不明白为什么。
  2. 我暂时保存$.connection,以便在someGlobalObj中对其进行测试:

    someGlobalObj = $.connection;
    

    这有效......

  3. 所以我的更新问题是:在我的脚本中可以看到如何$.connection,但在chrome控制台($jQuery中是不可见的是全局变量)?

1 个答案:

答案 0 :(得分:1)

  

如何在我的脚本中看到$ .connection,但在Chrome控制台中是不可见的($或jQuery是全局变量)?

只有两种解释:在脚本之后执行的某些操作(超时,其他一些脚本)......

  • ...删除jQuery对象的connection属性
  • ...用类似的没有$属性的对象覆盖全局jQuery(甚至connection?)变量。

如果您还使用其他库(如Prototype),则可能出现第二种情况。