Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript在生产中不起作用_Javascript_Jquery_Ruby On Rails_Asset Pipeline - Fatal编程技术网

Javascript在生产中不起作用

Javascript在生产中不起作用,javascript,jquery,ruby-on-rails,asset-pipeline,Javascript,Jquery,Ruby On Rails,Asset Pipeline,我已经在生产环境中部署了我的应用程序,并预编译了资产管道,因此我的application.js包含了所有内容 虽然在开发过程中(文件被分割)一切正常,但在生产过程中它不再工作了,工具提示和一切都不再工作了 我在chrome控制台中看到的唯一问题是: Uncaught TypeError: Cannot read property 'msie' of undefined 它提到了包含错误的行: jquery.js:9789 尽管第9789行的application.js(预编译)是空的,并且

我已经在生产环境中部署了我的应用程序,并预编译了资产管道,因此我的
application.js
包含了所有内容

虽然在开发过程中(文件被分割)一切正常,但在生产过程中它不再工作了,工具提示和一切都不再工作了

我在chrome控制台中看到的唯一问题是:

Uncaught TypeError: Cannot read property 'msie' of undefined 
它提到了包含错误的行:

jquery.js:9789
尽管第9789行的application.js(预编译)是空的,并且在我的源代码中,我没有明确包含任何名为
jquery.js
,因为jquery包含在
application.js

我发现jquery_bbq可能是问题所在,在我运行时:
grep-r msie*
I只有两次出现:

config/recipes/templates/nginx_configuration.erb
vendor/assets/javascripts/jquery_ba-bbq.min.js
我不知道如何解决这个问题,有什么想法吗


提前感谢

您正在尝试读取的
msie
属性。但是jQuery不再有
jQuery.browser
符号(它在v1.3中被弃用,在v1.9中被删除)

除了提到jQuery1.10.2(未缩小)有那么多行之外,我无法解释行号。至于文件名,我假设您的HTML或
application.js
中的内容,或者您正在加载的另一个脚本正在加载
jquery.js
。开发工具中Chrome的网络选项卡应该告诉您正在加载什么
jquery.js

因此,解决方案是找出您正在使用的插件或类似插件试图使用
jQuery.browser.msie
(或
$.browser.msie
)并处理它与jQuery不再兼容的事实。您已经基本上完成了,并找到了
jquery\u ba-bbq.min.js


另一件事是找到并处理任何东西,包括
jquery.js
,如果你的
应用程序.js
(可能是一个较旧的版本,如果它在你组合东西之前工作的话)。

你包括的东西是试图读取的
msie
属性。但是jQuery不再有
jQuery.browser
符号(它在v1.3中被弃用,在v1.9中被删除)

除了提到jQuery1.10.2(未缩小)有那么多行之外,我无法解释行号。至于文件名,我假设您的HTML或
application.js
中的内容,或者您正在加载的另一个脚本正在加载
jquery.js
。开发工具中Chrome的网络选项卡应该告诉您正在加载什么
jquery.js

因此,解决方案是找出您正在使用的插件或类似插件试图使用
jQuery.browser.msie
(或
$.browser.msie
)并处理它与jQuery不再兼容的事实。您已经基本上完成了,并找到了
jquery\u ba-bbq.min.js


另一件事是找到并处理任何东西,包括
jquery.js
,如果你的
应用程序.js
(可能是一个较旧的版本,如果它在你组合东西之前工作的话)。

你包括的东西是试图读取的
msie
属性。但是jQuery不再有
jQuery.browser
符号(它在v1.3中被弃用,在v1.9中被删除)

除了提到jQuery1.10.2(未缩小)有那么多行之外,我无法解释行号。至于文件名,我假设您的HTML或
application.js
中的内容,或者您正在加载的另一个脚本正在加载
jquery.js
。开发工具中Chrome的网络选项卡应该告诉您正在加载什么
jquery.js

因此,解决方案是找出您正在使用的插件或类似插件试图使用
jQuery.browser.msie
(或
$.browser.msie
)并处理它与jQuery不再兼容的事实。您已经基本上完成了,并找到了
jquery\u ba-bbq.min.js


另一件事是找到并处理任何东西,包括
jquery.js
,如果你的
应用程序.js
(可能是一个较旧的版本,如果它在你组合东西之前工作的话)。

你包括的东西是试图读取的
msie
属性。但是jQuery不再有
jQuery.browser
符号(它在v1.3中被弃用,在v1.9中被删除)

除了提到jQuery1.10.2(未缩小)有那么多行之外,我无法解释行号。至于文件名,我假设您的HTML或
application.js
中的内容,或者您正在加载的另一个脚本正在加载
jquery.js
。开发工具中Chrome的网络选项卡应该告诉您正在加载什么
jquery.js

因此,解决方案是找出您正在使用的插件或类似插件试图使用
jQuery.browser.msie
(或
$.browser.msie
)并处理它与jQuery不再兼容的事实。您已经基本上完成了,并找到了
jquery\u ba-bbq.min.js


另一件事是找到并处理任何东西,包括
jquery.js
,如果你将jquery烘焙到你的
应用程序.js
(可能是一个旧版本,如果它在你组合东西之前工作的话)。

另一个选择是使用jquery迁移插件(如果可能)-,特别是因为错误是由第三方jquery_ba-bbq JS引起的,而不是OP。我不认为这是一个修复/解决方案,但让代码正常工作只是暂时的。@Ian:说得好。但是如果OP认为jQuery已经在
application.js
中,而
jQuery.js
正在加载,那就需要整理一下。由于某种原因,
browser
被弃用并删除。:-)是的,我不完全理解OP在application.js中的意思(我不知道资产管道),但你是对的,另一个jquery f