1

私の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でWebアプリを実行すると、次のエラーが発生します。

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

いくつか検索した後、エラーをjwplayer.html5.jsファイルまでさかのぼりました。IE8が検出されたときにapplication.js内からこのファイルを除外する方法はありますか?

4

2 に答える 2

0

同じセットアップ(Rails 3、JWPlayer 6.1.xなど)でまったく同じ問題が発生しました。価値のあることとして、JWPlayer6.2.xにアップグレードしても問題は解決しませんでした

解決策はありませんが、回避策はあります。JWPlayerをapplication.jsから取り出し、application.html.erbに追加<%= yield :javascripts %>し、JWPlayerインクルードを必要なビューのみに移動しました。

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

私の場合、これらのファイルもに追加する必要があることに注意してくださいconfig.assets.precompile

基本的に何が起こっているのかというと、ページにJWPlayerのインスタンスがない場合、IE8(およびおそらく7)がおかしくなります。理想的な修正は、実際にはJWPlayer自体が、IEにエラーをスローさせるのではなく、それが当てはまるかどうかを確認することですが、修正するまでは、少なくとも問題は解決します。

それは苛立たしく、理想的な解決策にはほど遠いですが、私のアプリケーションでは機能しました。

于 2013-02-27T19:13:21.277 に答える
0

私もこれに苦労していました。jwplayer-rails gem でいくつかの作業を行いました。私はまだプルリクエストが通過するのを待っています。今のところ、この readmeの情報に従って、起動して実行してください。私の答えの詳細については、こちらをご覧ください。

于 2014-04-10T18:05:19.263 に答える