2012-11-06 67 views
1

我有jPlayer音頻播放器工作正常,在當地,但是當我部署到Heroku的,它不再工作,我得到在Chrome的控制檯以下錯誤:jPlayer與Rails應用程序工作在本地,而不是在部署到Heroku的

Uncaught TypeError: Object [object Object] has no method 'jPlayer' 

這裏的JavaScript jPlayer在我application.html.erb佈局:

<script type="text/javascript"> 
    $(document).ready(function(){ 
    $("#jquery_jplayer_1").jPlayer({ 
     ready: function() { 
     $(this).jPlayer("setMedia", { 
      mp3: "http://test.com/song.mp3", 
      // m4a: "http://www.jplayer.org/audio/m4a/Miaow-07-Bubble.m4a", 
      // oga: "http://www.jplayer.org/audio/ogg/Miaow-07-Bubble.ogg" 
     }); 
     }, 
     swfPath: "/javascriptipts", 
     supplied: "mp3, m4a, oga" 
    }); 
    }); 

我注意到,該腳本包含的方式似乎是工作DIF與Heroku不同的是。對於我的本地實例(工作)的腳本,包括這個樣子源:

<link href="/assets/application.css?body=1" media="all" rel="stylesheet" type="text/css" /> 
<link href="/assets/bootstrap-responsive.css?body=1" media="all" rel="stylesheet" type="text/css" /> 
<link href="/assets/bootstrap.css?body=1" media="all" rel="stylesheet" type="text/css" /> 
<link href="/assets/calls.css?body=1" media="all" rel="stylesheet" type="text/css" /> 
<link href="/assets/jplayer.blue.monday.css?body=1" media="all" rel="stylesheet" type="text/css" /> 
<link href="/assets/main.css?body=1" media="all" rel="stylesheet" type="text/css" /> 
    <script src="/assets/jquery.js?body=1" type="text/javascript"></script> 
<script src="/assets/jquery_ujs.js?body=1" type="text/javascript"></script> 
<script src="/assets/bootstrap-alert.js?body=1" type="text/javascript"></script> 
<script src="/assets/bootstrap-button.js?body=1" type="text/javascript"></script> 
<script src="/assets/bootstrap-carousel.js?body=1" type="text/javascript"></script> 
<script src="/assets/bootstrap-collapse.js?body=1" type="text/javascript"></script> 
<script src="/assets/bootstrap-dropdown.js?body=1" type="text/javascript"></script> 
<script src="/assets/bootstrap-modal.js?body=1" type="text/javascript"></script> 
<script src="/assets/bootstrap-popover.js?body=1" type="text/javascript"></script> 
<script src="/assets/bootstrap-scrollspy.js?body=1" type="text/javascript"></script> 
<script src="/assets/bootstrap-tab.js?body=1" type="text/javascript"></script> 
<script src="/assets/bootstrap-tooltip.js?body=1" type="text/javascript"></script> 
<script src="/assets/bootstrap-transition.js?body=1" type="text/javascript"></script> 
<script src="/assets/bootstrap-typeahead.js?body=1" type="text/javascript"></script> 
<script src="/assets/bootstrap.js?body=1" type="text/javascript"></script> 
<script src="/assets/bootstrap.min.js?body=1" type="text/javascript"></script> 
<script src="/assets/calls.js?body=1" type="text/javascript"></script> 
<script src="/assets/custom.js?body=1" type="text/javascript"></script> 
<script src="/assets/google-code-prettify/prettify.js?body=1" type="text/javascript"></script> 
<script src="/assets/jquery-ui.js?body=1" type="text/javascript"></script> 
<script src="/assets/jquery.jplayer.min.js?body=1" type="text/javascript"></script> 
<script src="/assets/application.js?body=1" type="text/javascript"></script> 

在Heroku上,其中jPlayer不工作,腳本加載這個樣子的源出於某些原因:

<link href="/assets/application-7d9d2071282c290d4dd4bb767188d15f.css" media="all" rel="stylesheet" type="text/css" /> 
<script src="/assets/application-679ead39cc620e8b5be4723def8305ce.js" type="text/javascript"></script> 

以下是我包括他們在我application.html.erb佈局:

<%= stylesheet_link_tag "application", :media => "all" %> 
<%= javascript_include_tag "application" %> 

任何人有任何想法什麼可能導致這一點,我怎麼能解決這個問題?

在此先感謝!

+0

您確定您正確部署資產? – Lichtamberg

+0

我不是老實說。我是新來的資產管道。現在我擁有應用程序/資產中的所有內容。我在lib /資產或供應商/資產中沒有任何東西。我應該嗎? – dougiebuckets

+0

看看編譯的javascript,如果有從jplayer文件的JavaScript – Lichtamberg

回答

1

我想通了,雖然我不完全確定它爲什麼會發生。

我不得不從'assets/javascripts'中刪除'bootstrap-popover.js'文件。它在本地導致了下面的錯誤(上面討論過),這讓我把2和2放在了一起。

"Uncaught TypeError: Cannot read property "Constructor" of undefined 

不知道爲什麼它在本地工作,儘管出現此錯誤?如果有人知道,我很想知道爲什麼。

相關問題