我只想为特定视图加载 Javascripts。
我真的很想在这个很少打开并且只有管理员 JS 代码的单一视图中加载它们。我仍然希望 Javascript 由 portal_javascripts 处理,因此缓存破坏支持是自动的。
针对特定视图及其子类注册 Javascript 的最佳方法是什么?通过接口?通过完整的虚线类名?
我只想为特定视图加载 Javascripts。
我真的很想在这个很少打开并且只有管理员 JS 代码的单一视图中加载它们。我仍然希望 Javascript 由 portal_javascripts 处理,因此缓存破坏支持是自动的。
针对特定视图及其子类注册 Javascript 的最佳方法是什么?通过接口?通过完整的虚线类名?
什么 Martijn 是正确的;但是,如果您真的需要/想要使用 portal_javascripts,请确保基类实现了一个接口,然后为您在 portal_javascript 注册表值中的条件语句执行类似的操作。
python: context.restrictedTraverse('@@plone_interface_info').provides('my.package.interfaces.IMyInterface')
我从不为这种一次性的 JS 资源而烦恼。只需使用特定视图直接加载您的 JS。您始终可以指示该视图的少数用户使用 CTRL-Reload。
弄乱portal_javascript只会增加维护负担,因为您需要确保不破坏全局JS资源的可合并性。