2012-10-25 84 views
0

这是我的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对象定义?

编辑:

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

  1. $.connection确实存在,当我在MyScript.js,但我想,以测试它首先使用铬控制台。在控制台中它不存在......我不明白为什么。
  2. 我保存$.connection的时刻,为了测试它,在someGlobalObj

    someGlobalObj = $.connection; 
    

    和工程...

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

+2

脚本应该将连接方法添加到jQuery中?有没有关于我们可以看到的任何文件? –

+0

https://github.com/SignalR/SignalR/wiki/SignalR-JS-Client –

+0

为什么要加载jQuery mobile两次? – Bergi

回答

1

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

只有两种解释:东西,你的脚本(超时,其他一些脚本)后执行...

  • ...删除jQuery对象
  • connection财产......覆盖全球$ (甚至jQuery?)变量具有类似的对象,它们没有connection属性。

如果您还使用其他库(如原型),第二个可能是这种情况。