【问题标题】:Rails 3 exclude HTML5 jwplayer js in manifestRails 3 在清单中排除 HTML5 jwplayer js
【发布时间】:2012-11-29 19:01:33
【问题描述】:

在我的 application.js 中,我有外部 js 文件的清单

//= require jquery
//= require jquery-ui-1.8.17.custom.min
//= require jquery_ujs
//= require jquery-mousewheel.js
//= require jquery-fileupload
//= require jquery-fileupload-ui
//= require_self
//= require bootstrap.min.js
//= require rails.validations
//= require rails.validations.custom
//= require jwplayer
//= require jwplayer.html5
//= require jwplayer-license

当我在 IE8 中运行我的网络应用程序时,我收到此错误:

Message: 'n.sheet.cssRules' is null or not an object

经过一番搜索,我将错误追溯到 jwplayer.html5.js 文件。当检测到 IE8 时,有没有办法从 application.js 中排除这个文件?

【问题讨论】:

    标签: ruby-on-rails-3 jwplayer


    【解决方案1】:

    我使用相同的设置(Rails 3、JWPlayer 6.1.x 等)遇到了完全相同的问题。无论如何,升级到 JWPlayer 6.2.x 并没有解决问题

    我没有解决方案,但我有一个解决方法。我将 JWPlayer 从我的 application.js 中拉出,将 <%= yield :javascripts %> 添加到我的 application.html.erb 中,并将 JWPlayer 包含仅移动到我需要它们的视图中:

    <% content_for :javascripts do %>
      <%= javascript_include_tag "jwplayer" %>
      <%= javascript_include_tag "jwplayer.html5" %>
    <% end -%>
    

    请注意,就我而言,我还必须将这些文件添加到 config.assets.precompile

    如果页面上没有 JWPlayer 的实例,基本上发生的事情是 IE8(大概是 7)会吓坏。理想的修复方法实际上是让 JWPlayer 自己检查是否是这种情况,而不是让 IE 抛出错误,但在他们最终修复它之前,这至少可以让事情正常进行。

    这令人沮丧,远非理想的解决方案,但它在我的应用程序中有效。

    【讨论】:

      【解决方案2】:

      我也在为此苦苦挣扎。我在 jwplayer-rails gem 上做了一些工作。我仍在等待我的拉取请求通过。现在按照this readme 中的信息启动并运行它。在my answer here 上阅读更多信息。

      【讨论】:

        猜你喜欢
        • 2017-12-20
        • 1970-01-01
        • 2013-02-21
        • 2011-05-18
        • 2014-12-09
        • 2023-03-03
        • 1970-01-01
        • 2012-12-02
        • 2012-04-25
        相关资源
        最近更新 更多