【问题标题】:Drupal flushing "Page requisites" cache also deletes javascript filesDrupal 刷新“页面必备”缓存也会删除 javascript 文件
【发布时间】:2011-01-22 09:03:20
【问题描述】:

当我删除“页面必备”缓存时,我用于主页图像旋转器的 2 个 Javascript 文件被删除。 以下是我如何将这 2 个文件的 javascript 添加到启用 PHP 代码的 WYSIWYG 编辑器中:

<?
drupal_add_js('sites/default/files/js/jquery.jcarousellite.js');
drupal_add_js('sites/default/files/js/cycle.js');
?>
Some html here for the rotator......

然后我也有一些JS代码添加到主页只使用js Injector。

任何想法为什么会发生这种情况?

谢谢

【问题讨论】:

  • 看起来您的代码已被删除。将所有代码缩进四个空格,使其格式类似于源代码。

标签: drupal caching


【解决方案1】:

您的文件夹中不应有永久的 js 文件。它们应该在您的主题中或使用它们的模块中。 files 文件夹用于存放上传的文件和 Drupal 动态创建的其他文件。

您的问题的原因可能是 Drupal 对您放置文件的文件夹具有写入权限,并且它会清除其中的内容,因为它仅用于压缩。您应该三思而后行让drupal 写入哪些文件。让 Drupal 拥有对您使用的脚本文件的写入权限会增加安全风险。

一般来说,你不想让 Drupal 写入 js 或 php 文件。这是因为如果破解者能够让 Drupal 写入这些文件,他将能够或多或少地控制您的整个站点。这也是为什么drupal使用的压缩js文件名字长且随机的原因。

所以尝试将这些文件移动到您的主题中,看看是否不能解决问题。如果你想链接到他们,你可以这样做

drupal_add_js(drupal_get_path('theme', 'name_of_your_theme') . 'path/to/file.js');

【讨论】:

    猜你喜欢
    • 2011-04-11
    • 2017-01-23
    • 2012-09-12
    • 1970-01-01
    • 2013-02-25
    • 2011-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多