Drupal 刷新 "Page requisites"缓存还会删除 javascript 文件

标签 drupal caching

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

<?
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 Injector 将一些 JS 代码添加到主页。

有什么想法为什么会发生这种情况吗?

谢谢

最佳答案

您的文件夹中不应该有永久的 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');

关于Drupal 刷新 "Page requisites"缓存还会删除 javascript 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2357371/

相关文章:

html - 页脚中的版权符号未随其余文本调整大小(在 Drupal 7 中)

Drupal 管理员与 admin_menu

php - 针对特定 MYSQL 问题的反规范化替代方案?

ruby-on-rails - 根据位置创建缓存键

java - 分布式 Hazelcast 缓存中的异步值计算

php - 删除时间戳最旧的值

德鲁帕尔 : customize status messages (of contact form)

ruby-on-rails - Rails 中缓存的样式表何时刷新?

mysql - 缓存 SQL 查询数据的技术

PHP 在 Drupal 中迁移数据时抛出 'Allowed memory exhausted' 错误