gpt4 book ai didi

javascript - Drupal block View 执行 Javascript 函数

转载 作者:行者123 更新时间:2023-12-03 11:43:35 25 4
gpt4 key购买 nike

这将是我正在创建的第一个自定义模块,对于像将 js 函数渲染到 drupal block 模块这样简单的事情,我已经有些灰白了。

因此,通过将以下代码粘贴到 drupal create new block 中,脚本在 php 模式下工作得很好,并且渲染得很好。

   <!-- Include my.js  -->
<script src="https://1.2.3.4/static/my.js"></script>

<!-- Decide where you want to put my -->
<div id="my_container" style="position: relative; width: 60em; height: 30em;">
<div id="my"></div>
</div>

<!-- Call my.init() at some point after the page is done loading -->
<script>
window.onload = function() {
// Initialize my:
my.init({url: 'https://1.2.3.4/'});
}
</script>

现在将其加载到 block 模块中的最佳实践是什么,是 hook_init 还是 hook_block_view 或两者兼而有之,请给出示例和解释。

提前非常感谢。

最佳答案

我同意大多数答案或给出的答案,但我想指出一个潜在的错误。

问题在于启用 block 缓存后在 hook_block_view 中使用 drupal_add_js 。

更具体地说,一旦 block 被缓存,你的js将不会被添加到这个方法中。

要解决此问题,您可以在 hook_block_view 中构建的可渲染数组中使用“#attached”。

查看https://api.drupal.org/comment/28929#comment-28929

关于javascript - Drupal block View 执行 Javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26156354/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com