【问题标题】:Drupal 7 jquery block displaying as textDrupal 7 jquery 块显示为文本
【发布时间】:2014-11-25 20:52:29
【问题描述】:

我在添加 jQuery 块时遇到了很多麻烦。我搜索了每个论坛并尝试了很多解决方案,但无论如何它总是在标题中显示为 html 文本。

我在块中写的代码有什么问题吗?

<script type="text/javascript">

(function ($) {

   var leftInit = $("#logo-scroll").offset().left;
   var top =$("#logo-scroll").offset().top;

   $(window).scroll(function(event) {
    var x = 0 - $(this).scrollLeft();
    var y = $(this).scrollTop();

    $("#logo-scroll").offset({
    left: x + leftInit
    });

});

})(jQuery);


</script>

如果我调用该库,它也会将其显示为 html,但是当我检查页面时似乎已经调用了它,并且我的代码看起来与其他已经构建的 js 或 jq 块没有任何不同,并且正在使用。

虽然我对 jQuery 不是很熟悉,但它可以在 jsfiddle http://jsfiddle.net/F7Bme/1184/ 中使用

我无权访问后端 .js 文件,因此必须将其放入块中。

任何指导都将不胜感激,这让我很沮丧。

【问题讨论】:

  • 尽管出于安全原因没有人喜欢 PHP 过滤器,但我的一个备份站点使用它,并且它在那里运行良好。您的选择。

标签: javascript jquery html drupal drupal-7


【解决方案1】:

完整的 HTML 不适用于 Javascript。

您需要启用核心 PHP 过滤器模块,然后您可以将输入格式更改为 PHP 代码,一切都会按您的意愿工作(前提是您的 javascript 代码是正确的)。

完整的 html 过滤器不允许使用 javascript。

这就是说,您可能希望在您的主题的 .js 包含文件中包含任何类似这样的额外 javascript。

【讨论】:

    【解决方案2】:

    我刚刚在 D7 站点的一个块中尝试了您的代码,但它没有显示在 HTML 中。我选择了完整的 HTML 作为格式。如果格式以某种方式设置为已过滤等,则会产生您遇到的问题。

    更新:这是来自 Firebug 的屏幕截图。我还在同一个块中测试了一个基本的 document.write("hello");,它按预期呈现在页面上。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多