Silverstripe Userforms Prototype和jQuery冲突

时间:2011-08-22 11:33:40

标签: forms prototypejs silverstripe jquery

我现在正在玩javascript的噩梦,希望有人可以提供帮助。我正在使用Userforms模块,我还添加了自己的jQuery代码,以便在单击时文本字段的默认值消失,如果失去焦点并且为空,则重新出现。

我也试图在同一页面上实现幻灯片放映。由于与IE8的兼容性问题,我不能使用jQuery(你不是只讨厌微软!)。使用Prototype代替,我得到大量的随机错误,我只能猜测是由于我包括prototype.js两次,一次是在页面顶部的幻灯片放映,一次是在底部用户以某种方式注入的页面。如果我删除顶部的include,我的幻灯片会产生一个缺少的Prototype lib错误。

我正在尝试使用jQuery.NoConflict来防止多个挂钩$令牌的问题,但我刚刚结束了一堆javascript错误和冲突。

有没有办法控制userforms如何使用/包含javascript包含(jQuery和原型)?

非常感谢任何帮助或建议! 非常感谢

1 个答案:

答案 0 :(得分:0)

  • 如果您正确使用jQuery noConflict,Prototype应该没有任何问题。
  • 包括Prototype两次调用问题。
  • 如果您的幻灯片需要将JS包含在头部中(出于性能原因而不鼓励),您可以强制SilverStripe加载JS。在init()函数中包含以下内容:

    Requirements::set_write_js_to_body(false);
    
  • 如果这不能解决您的问题,您需要两个不同版本的Prototype吗?如果是这样,我会尝试解决问题或切换幻灯片插件 - 应该有大量的替代品。在你的页面上包含3个JS库听起来像是一个主要的过度杀伤 - 考虑加载时间......