2012-12-29 81 views
0

我正試圖在Joomla網站上實施mediaElement.js解決方案,但我遇到了一些問題。下面的錯誤是我腦海中縈繞在我的夢中:P:實施mediaElement.js導致錯誤

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

我假設/mediaelement-and-player.min.js但控制檯不顯示,除了已經提到的任何錯誤。

我加入以下到我的模板頭:

$this->API->addJS($this->API->URLtemplate() . '/mediaElement/build/mediaelement-and-player.min.js'); 
$this->API->addJS($this->API->URLtemplate() . '/mediaElement/build/jquery.js'); 

這導致右邊的鏈接時,頁面加載,所以我想這不會是問題。

在我的文章的身體我已經添加以下代碼:

<video id="youtube1" width="640" height="360"> 
    <source src="http://www.youtube.com/watch?v=nOEw9iiopwI" type="video/youtube" > 
</video> 

<script> 
    jQuery(document).ready(function($) { 
     $('#youtube1').mediaelementplayer(); 
    }); 

</script> 

Eventhough這個代碼是從實例提供它導致之前提到的錯誤。

任何想法,將不勝感激!

+0

是否將mediaelement.js文件加載到最終的HTML中? – feeela

+0

不,只是mediaelement-and-player.min.js – SKuijers

+0

但在旁邊。我對正在加載的文件感到樂觀,正如我在評論中對Lodder – SKuijers

回答

1

林不知道是否被正確地包含在文件,因爲我看不到的網站,所以試試這個包括的jquery.js的MediaElement和-player.min.js

$document = JFactory::getDocument(); 
//check to see if jquery is already being loaded 
if(!JFactory::getApplication()->get('jquery')){ 
    JFactory::getApplication()->set('jquery',true); 
    $document->addScript(JURI::root() . "templates/template_name/mediaElement/build/jquery.js"); 
} 
$document->addScript(JURI::root() . "templates/template_name/mediaElement/build/mediaelement-and-player.min.js"); 

不要忘記在上面的代碼中的路徑中更改template_name

+0

所說的那樣。謝謝你的例子,但我絕對肯定文件被加載,因爲我通過檢查HEAD並點擊提供的鏈接,成功將我帶到這兩個.JS文件。接下來,控制檯不會給出任何警告或錯誤,指出文件加載失敗。 – SKuijers

0

感謝球員們的意見。

我發現了問題和解決方案:D。

從解決我的問題的head.php

$this->API->addJS($this->API->URLtemplate() . '/mediaElement/build/jquery.js'); 

刪除此行。

我想這是因爲jQuery已經被我使用的模板加載。

我希望這會安全別人在未來的頭痛。

快樂編碼!

+1

這很奇怪,因爲我在回答中提供的代碼是檢查jquery是否已被加載。如果不是,則加載它。如果是,它不加載它。 – Lodder

+0

嘿!如果我按照你做的方式執行檢查,這也是可以解決問題的。謝啦! – SKuijers