【问题标题】:How can I load JavaScript files in back-end side for plugins TO footer instead of header如何在后端为插件加载 JavaScript 文件到页脚而不是页眉
【发布时间】:2018-06-24 00:39:16
【问题描述】:

我需要在我的 JS 脚本的页脚而不是页眉上添加一些内容,因为我想在 DOM 加载后使用一些东西。 我已经使用了核心函数addJs('script url') 没有参数可以选择在哪里包含JS脚本。

【问题讨论】:

  • 请提一下插件需要在后端添加这个js,其他聪明的用户认为你需要在前端添加它。

标签: octobercms octobercms-plugins


【解决方案1】:

10 月 Cms 后端已随附 jQuery v2.1.3,因此您可以将 document ready 事件用于您的 java-script code

后端模板位置是modules\backend\layouts_head<?= $this->makeAssets() ?>,所以所有资源都将插入此处,此处不宜更改。

只需使用

$this->addJs('/plugins/acme/blog/assets/javascript/some-code.js');

现在在您的 js 文件中 (some-code.js) 将您的所有代码包装在 document readymethod 中

$(document).ready(function(event) {
  // this code will execute only after DOM is loaded.
  console.log('dom is loaded !')

  // your code..


});

现在,无论您的代码在哪里headerfooter,您的代码总是在DOM is loaded 之后执行。

如果您还有其他问题,请与适当的细节分享您的问题,我们可以帮助您解决它

【讨论】:

  • 我飞机使用 Vuejs 女巫我需要在页面末尾调用脚本,因为我有这个警告找不到元素:#myApp
  • 嗯,你在哪里添加这个#myApp 以及如何添加这个可以告诉我们
  • 我有一个名为“Position”的控制器,带有一个空函数 index(),我创建了一个名为 position/index.html 的文件视图;这是文件<div id="myApp"> <v-app> <v-content> <v-container>Hello world</v-container><br/> </v-content> </v-app> </div>的内容
    我有一个文件custom.js,我用它来实例化一个VueJs对象这里是新的内容Vue({ el: '#myApp' })
  • 我设法通过添加 window.onload = function () { new Vue({ el: '#myApp' }) } 来修复此错误,想在页脚后端插件中添加脚本 JS 是不可能的。
  • 好吧,$(document).ready(function(event) {}) 只是window.onload 的包装,所以会和你一样工作,干得好!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-26
  • 2020-05-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多