【问题标题】:Does Sitecore Webforms for Marketers have a JQuery dependency, and can it be changed?面向营销人员的 Sitecore Webforms 是否具有 JQuery 依赖项,是否可以更改?
【发布时间】:2012-04-16 20:51:51
【问题描述】:

Sitecore.NET 6.4.1(修订版 111003),面向营销人员的网络表单 2.2.0 修订版 111104。

我的网站页面严重依赖 JQuery,其中包括折叠导航、启动和控制动画、幻灯片等以及标题的画布效果。我们使用的是 JQuery 1.6.1。

但是当我在一个项目中插入一个表单时,所有的 JQuery 调用都会中断。

面向营销人员的 Web 表单是否具有 JQuery 依赖项,如果有,是否可以将其更改为使用我们当前使用的版本?

编辑:

我找到了问题所在,但仍然没有解决方案。

这是我们的导航功能(无论如何都会打开)

 navigation: function () {

    $('#myNavElement')...stuff that gets done }

这里:

$('#myNavElement') 应该从 jQuery 返回一个元素。

而是跳转到这个函数中:

function $(element) {
if (arguments.length > 1) {
for (var i = 0, elements = [], length = arguments.length; i < length; i++)
elements.push($(arguments[i]));
return elements;
}
if (Object.isString(element))
element = document.getElementById(element);
return Element.extend(element);
} 

来自文件/sitecore/shell/controls/lib/prototype/prototype.js,由WFFM注入到body标签中。

【问题讨论】:

    标签: sitecore sitecore6 web-forms-for-marketers


    【解决方案1】:

    只需将您的 jQuery 包装在完整的 jQuery 函数名称中。例如

    jQuery('#myNavElement')
    

    另一种方法是将整个自定义 jQuery 脚本包装在一个闭包中,并为 jQuery 速记传入一个局部变量,例如

    (function($){
      //  your existing code that used $ in here
    })(jQuery);
    

    【讨论】:

      【解决方案2】:

      面向营销人员的 Web 表单仅将 jQuery 用于后端模块,而不依赖于前端。

      【讨论】:

      • 感谢您的回答,我现在已经编辑了我的问题,因为我发现代码在哪里出现故障 - jQuery 和prototype.js 之间似乎存在冲突 - 任何想法可能是这样解决了吗?
      • 我的错,我专门询问它是否有 jQuery 依赖项,而不是是否可能存在 jQuery 冲突。 :-)
      • 仅供参考 - WFFM 模块的最新版本将 jQuery(和 jQuery UI)添加到任何有表单的页面。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多