0

我正在尝试在我正在开发的 Joomla 网站中实施 mediaElement.js 解决方案,但我遇到了一些问题。以下错误在我的梦中困扰着我:P:

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>

尽管此代码来自提供的示例,但它会导致前面提到的错误。

对此的任何想法将不胜感激!

4

2 回答 2

1

我不确定该文件是否被正确包含,因为我看不到该网站,因此请尝试包含jquery.jsmediaelement-and-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 。

于 2012-12-29T17:55:30.143 回答
0

谢谢大家的意见。

我找到了问题和解决方案:D。

从 head.php 中删除这一行

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

解决了我的问题。

我想这是因为我正在使用的模板已经加载了 jQuery。

我希望这将在未来保护其他人。

快乐编码!

于 2012-12-29T19:28:35.883 回答