【发布时间】:2025-12-27 18:40:06
【问题描述】:
我在尝试附加外部库时遇到了一个特别麻烦的问题,该库的 URL 会根据网站的翻译而发生变化。
概述情况:
我正在处理的网站上有一个元素,它加载到外部 Javascript 文件中以显示某些内容。 此元素仅显示在由模块呈现的特定页面上。
语言由子域标注,例如:uk.example.com、de.example.com
脚本应该基于这个子域加载,所以:uk.example.com/script.js, de.example.com/script.js ,路径总是一样的。
我遇到的问题:
在使用HOOK_library_info_alter() 附加 Javascript 时,Javascript 源 URL 会被缓存,这意味着脚本的 uk 版本会加载到网站的 de de 版本中。无法更改此系统,这些脚本需要使用不同的 URL 加载,原因我不会进入。
我尝试使用HOOK_page_attachments 添加脚本以将脚本放在具有正确子域的标头中,但无法确定脚本是否仅使用该特定元素加载到该特定页面上(使用library_info_alter 我可以检查$extension 是否正确)
有没有办法解决这个问题?
如果措辞有问题,我很抱歉,我的英语不太好。
【问题讨论】:
标签: javascript caching drupal-8