首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不加载某些页面的JS脚本

不加载某些页面的JS脚本
EN

Drupal用户
提问于 2020-09-10 12:20:35
回答 1查看 545关注 0票数 0

当以用户身份登录时(而不是admin),一些JS脚本不会加载某些页面。

我发现了这个问题,因为我使用的是模块欧盟琦琦法规,它使用的脚本(eu_cookie_compliance.jsjquery.cookie.shim.jsjs.cookie.min.js)并不总是被加载。

我在我的自定义主题中使用了欧盟Cookie法规模块提供的JS方法,发现它在某些页面上触发了一个错误(因为脚本没有加载)。

例如,脚本加载在/user/2上,但不加载在/user/2/orders/user/2/customer上,正如您在下面的映像中所看到的那样。这一切为什么要发生?

我在EU Cookie法规模块中看不到任何选项,它可以防止在某些页面上加载脚本。我也没在密码里找到任何东西。

编辑:

我现在已经将eu_cookie_compliance作为一个依赖项包含在我的主题中:

代码语言:javascript
复制
dependencies:
  - core/drupal
  - core/jquery
  - core/jquery.once
  - core/drupalSettings
  - eu_cookie_compliance/eu_cookie_compliance
  - eu_cookie_compliance/eu_cookie_compliance_bare

这就解决了脚本并不是所有页面都被加载的事实。尽管如此,我现在在这些特定的页面上出现了错误。

我在主题的JS (radix_sub.script.js)中所做的一切就是使用Drupal.eu_cookie_compliance.hasAgreed(),它现在触发了以下错误:

我尝试在主题库中只声明eu_cookie_complianceeu_cookie_compliance_bare,并且错误是相同的。

EN

回答 1

Drupal用户

回答已采纳

发布于 2020-09-10 12:37:47

我不知道为什么它没有加载到某些页面上,但归根结底,这是因为这些页面不需要库。如果主题需要模块的库,则需要将其声明为依赖项。

您可以在主题的libraries.yml文件中为库执行此操作。见声明依赖关系文档

代码语言:javascript
复制
# my_theme.libraries.yml
# It's not clear if you want the bare or full cookie compliance library
my_library:
  js:
    js/my_libary.js: {}
  dependencies:
    - eu_cookie_compliance/eu_cookie_compliance
    - eu_cookie_compliance/eu_cookie_compliance_bare
票数 1
EN
页面原文内容由Drupal提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://drupal.stackexchange.com/questions/296626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档