【问题标题】:Drupal site - jquery doesn't work on search results pageDrupal 站点 - jquery 在搜索结果页面上不起作用
【发布时间】:2011-07-06 18:28:58
【问题描述】:

我的自定义 jquery 函数在“搜索结果”页面和“添加材料”页面上不起作用。

页面网址是下一个:

  • mysite/search/node/ - 搜索结果

  • mysite/node/add - 添加材料

看来,当某些模块运行时,我的 jquery 功能被禁用。当我添加材料时 - 只有我可以看到这个错误,但我网站的每个访问者都可以看到搜索结果。 :(

简单的 JS 函数工作正常:我用 alert() 检查了它。

任何想法,为什么会发生?谢谢。

附:我有 2 个 jquery 版本。可能,这个事实很重要。我管理它们如下:

<script type="text/javascript" src="<?=path_to_theme()?>/js/jquery.1.6.1.js"></script>
<script type="text/javascript">var $j = jQuery.noConflict();</script>
<?php print $scripts ?>

【问题讨论】:

  • Drupal 强迫你安装一个非常旧的 JQuery 版本真的很烦人。如果 Drupal 一开始没有犯错,就不需要像这样的黑客攻击。
  • 你有点卡住了,但你可以加载自定义版本的 jquery(有点)。查看此模块:drupal.org/project/jquery_update
  • 谢谢,但在这种情况下更新并不意味着最新版本。

标签: jquery drupal


【解决方案1】:

问题可能是由于您必须在加载其他库之前使用 jQuery.noConflict()。阅读this 文章,了解加载两个版本的 jquery 的一些技巧。

也许只是换行:

<script type="text/javascript">var $j = jQuery.noConflict();</script>
<script type="text/javascript" src="<?=path_to_theme()?>/js/jquery.1.6.1.js"></script>
<?php print $scripts ?>

【讨论】:

  • 有趣的文章,谢谢。不幸的是,当我换行时,我的脚本完全停止了工作。 Print $scripts 命令打印 drupal jquery 核心版本。 jquery.1.6.1.js - 是我的集成版本。
【解决方案2】:

我已经删除了我的集成版本,只留下了 jQuery 的核心版本。一切正常。 我认为这不再是问题,而是错误报告。看来,这个错误在 drupal 中,因为在简单的页面上 .noConflict() 工作得很好。

给有同样问题的人的建议 - 仅使用核心版本并在需要时重写您的脚本。或者您也可以使用此module 进行一些更新(感谢hross 提供链接)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-12
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 2012-02-06
    相关资源
    最近更新 更多