3

本地主机上的 Chrome on Rails。这是页面的修剪版本:

<!DOCTYPE html>
<head>
  <link href='http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/css/bootstrap-combined.min.css' rel='stylesheet'>
  <script src='https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js' type='text/javascript'></script>
  <script src='http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/js/bootstrap.js' type='text/javascript'></script>
  <script src='http://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.3.1/jquery.cookie.min.js' type='text/javascript'></script>
  <meta content="authenticity_token" name="csrf-param" />
  <meta content="blahblah=" name="csrf-token" />
  <link href="/assets/application.css?body=1" media="all" rel="stylesheet" type="text/css" />
  <script src="/assets/application.js?body=1" type="text/javascript"></script>
  <meta name="viewport" content="width=device-width, initial-scale=1.0 maximum-scale=1.0">
</head>
<body data-action='index' data-controller='application'>
</body>

在 Chrome 控制台(以及更下方的脚本)中,$.cookie未定义且$.cookie("a", "b")引发错误。

我尝试了其他一些 CDN,但同样的问题。

编辑:我正在 Chrome Javascript 控制台中尝试,它(我认为)在页面加载后运行。我可以检查“资源”选项卡并查看插件是否已加载没有问题。如果我在 Jquery 之前重新安排链接插件,我会收到预期的错误。

4

1 回答 1

1

我通过“资源”选项卡检查了我的应用程序提供的 javascript 文件,发现其中application.js仍然有 JQuery,因此,大概是在加载文件时重新定义了没有 Coookie 的 JQuery。

发生这种情况是因为我从使用 gems 加载 JQuery 切换到使用外部 CDN,但没有重新编译(或删除)我的资产。

通过从public/assets

于 2013-05-02T18:58:27.757 回答