【问题标题】:Issues with including jquery plugin (jlembed). Conflicts with namespaces包含 jquery 插件 (jlembed) 的问题。与命名空间冲突
【发布时间】:2011-05-24 17:29:48
【问题描述】:

我正在尝试让jlembed 工作,但我经常在 chrome 调试器中遇到错误。我尝试了所有THIS 解决方案,但没有运气。哪个是包含 jquery 和 jquery-plugin 的正确方法?因为我尝试将 jQuery 放在首位,放在最后。

这是我的 src 代码版本之一:

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript" src="jquery.jlembed.js"></script>  

<script language="javascript" type="text/javascript">
    jQuery.noConflict();

    jQuery(document).ready(function(){
    $("#playerDiv").jlEmbed({ //here is the error (debugger)
         id : 'player1',
         youtube : 'Cw2HAD9A_rw',
         format : 'swfobject',
         autoplay : 'no',
         youtubechromeless : 'no',
         youtubedisplay : true
    });
});

</script>  

还有其他错误:

Uncaught TypeError: Property '$' of object [object DOMWindow] is not a function
(anonymous function)
jQuery.jQuery.extend.readyjquery-latest.js:447
jQuery.DOMContentLoaded   

EDIT2:答案:

我根据THIS找到了正确的语法。

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript" src="jquery.jlembed.js"></script>  

<script language="javascript" type="text/javascript">
    jQuery(document).ready(function(){
       //jQuery("").hide();
     });

    jQuery(document).ready(function(){
    $("#playerDiv").jlEmbed({
         id : 'player1',
         youtube : 'Cw2HAD9A_rw',
         format : 'swfobject',
         autoplay : 'no',
         youtubechromeless : 'no',
         youtubedisplay : true
    });
});
</script>

【问题讨论】:

  • jQuery 绝对是第一位的。你得到什么错误?
  • 嘿,我用错误编辑了我的问题

标签: javascript jquery jquery-plugins namespaces


【解决方案1】:

确保您实际上在 jQuery 之后包含 jlEmbed,但在 jQuery(document).ready 脚本之前。

您的 jlEmbed 副本是否与您使用它的页面位于同一位置? -

<script type="text/javascript" src="jquery.jlembed.js"></script>

尝试插入 jlEmbed 的完整路径而不是相对路径。

<script type="text/javascript" src="http://jlembed.com/latest.js"></script>

【讨论】:

  • 我找到了解决方案。实际上它在您的网站上,但我做错了什么。修复后,我用解决方案编辑了我的问题。 Tnx 无论如何:D
【解决方案2】:

为什么叫noConflict。然后使用 jQuery 为文档准备好。然后在 $("#playerDiv")/

上再次使用普通的 $ jquery 选择器

尝试将 $ 更改为 jQuery。

【讨论】:

  • 嘿,我刚刚用这个解决方案编辑了我的问题(在你回答后 2 秒发布)。你以前在哪里 :( tnx 反正
【解决方案3】:

不确定这是否能解决问题,因为我们不知道您收到的错误:

  1. 把jQuery放在第一位:

    <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
    <script type="text/javascript" src="jquery.jlembed.js"></script>
    
  2. $("#playerDiv").jlEmbed({...}) 也必须进入回调!

    jQuery(document).ready(function(){
        $("#playerDiv").jlEmbed({
             id : 'player1',
             youtube : 'Cw2HAD9A_rw',
             format : 'swfobject',
             autoplay : 'no',
             youtubechromeless : 'no',
             youtubedisplay : true
        });
    });
    

    否则$("#playerDiv")会在创建之前尝试查找ID为#playerDiv的元素。

【讨论】:

  • 我用你的灵魂编辑了我的问题,但我仍然得到错误。我也编辑了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-20
相关资源
最近更新 更多