【问题标题】:javascript kills my other script. What can I do in order to isolate it?javascript 杀死了我的其他脚本。我能做些什么来隔离它?
【发布时间】:2012-02-18 20:34:32
【问题描述】:

<head> 元素之间添加的一个脚本会杀死我的其他 javascript。他们是隔离它还是不干扰其他脚本的方法?我只需要一个页面,而不是整个站点等。头版.php。尝试仅将脚本添加到此页面,但它不起作用,因为它似乎只起作用,而不是我在 <head></head> 元素之间放置的内容。

这是杀手脚本:

<script type="text/javascript">
    $(document).ready(function() { 
        $.noConflict();

        <!-- THE ACTIVATION OF THE MINI IMAGE SLIDER PLUGIN -->
        jQuery('#first_mini_slider').minislides(
        {                                       
            width:980,
            height:320,                         
            slides:5,
            padding:30,
            ease:'easeOutQuint',
            speed:400,
            hidetoolbar:2000,
            animtype:1,
            mousewheel:'on'
        })

        <!-- THE ACTIVATION OF THE LIGHTBOX PLUGIN -->
        jQuery('.freshlightbox').fhboxer({})
        jQuery('.freshlightbox_round').fhboxer({
            hover_round:"true"
        })
    });
</script>

【问题讨论】:

  • 首先:你遇到了什么错误?要回答您的问题,将代码放在 try-catch 块中会捕获非致命错误:try{/*code here*/}catch(e){}.

标签: javascript wordpress


【解决方案1】:

您发布的脚本将 jQuery 置于“noConflict”模式,这意味着用于引用 jQuery 的 $ 将不再起作用。您仍然可以使用 jQuery 引用 jQuery,即这两者是等价的:

$('.freshlightbox')

jQuery('.freshlightbox')

如果这是导致其他脚本出现问题的原因,您可以执行以下操作之一:

  1. 不要让 jQuery 进入 noConflict 模式
  2. 将您的其他脚本更改为使用jQuery 而不是$
  3. 将以下代码放在您的其他脚本周围:
 (function($){
 // your code goes here
  })(jQuery);

关于最后一个的更多细节:https://stackoverflow.com/a/4484317/12744

【讨论】:

    猜你喜欢
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-11
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多