(Odoo) 在单个页面上包含 CSS 和 JavaScript 文件

(Odoo) Include CSS and JavaScript files on a single page

我的问题是如何在单个页面的页眉中 include/import 几个 JavaScript 和 CSS 文件。我知道您可以将文件包含在 web.assets_frontend 或 web.assets_backend 中,但这会导致这些脚本和链接出现在 Odoo 前端或后端部分的每个页面上。造成网站速度下降

谢谢

你可以使用 <script> 标签如果你在后端视图中谈论 <form> 标签,这里有一个例子。

<form string="Product Collection">
    <group col="4">
       <field class="my_field" name="name"/>
    </group>
</form>
<script>
    var my_field = $('.my_field')
    console.log(my_field)
</script>

它只会在加载表单视图时加载此 JavaScript。

拒绝延迟对象并使用给定的参数调用任何失败的回调。

在您的 js 文件中,将以下内容添加到您的“odoo.define”和“require”语句之后:

if(!$('.attachment_static').length) {
    return $.Deferred().reject("DOM doesn't contain'.attachment_static'");
}

如果在加载任何页面时发现任何带有 class "attachment_static" 的 html 元素,这将只执行 js网站