【问题标题】:How can I disable SennaJS/SPA in Liferay 7?如何在 Liferay 7 中禁用 SennaJS/SPA?
【发布时间】:2017-05-08 08:50:07
【问题描述】:

Liferay 7 使​​用SennaJS 作为其单页应用程序引擎,以便在表单提交和导航期间加载和替换门户页面的某些部分。有时这个功能会干扰我的用例,那么我该如何禁用它呢?

【问题讨论】:

    标签: liferay liferay-7 senna.js


    【解决方案1】:

    如果您想禁用 SennaJS 执行的 XHR GET 导航或其对表单提交的处理,您可以尝试以下方法之一:

    • 如果您只想对某些表单或链接禁用 SPA,可以将 data-senna-off="true" 属性添加到这些 <form><a> 标记。

    • 如果您只想为一个 portlet 禁用 SPA,可以将 <single-page-application>false</single-page-application> 添加到 liferay-portlet.xml<portlet> 部分(请参阅 the DTD for the expected order of liferay-portlet.xml elements)。 p>

    • 如果您只想为一个 OSGi 模块 portlet 禁用 SPA,您可以将 "com.liferay.portlet.single-page-application=false" 添加到您的 portlet 元数据中。

    • 如果您想在门户范围内禁用 SPA,可以将 javascript.single.page.application.enabled=false 添加到您的 portal-ext.properties 文件中。

    【讨论】:

    • 每个站点怎么样?
    • @Syd,我不知道这是否可能。您可以随时向 Liferay Portal 提出要求:issues.liferay.com
    • 有没有办法只对包含标记为单页应用程序的 portlet 的页面禁用 SPA?在这些 portlet 中生成的 URL 可以正常工作。在全页面重新加载但导航事件形成带有 URL 到包含此类 portlet 的页面的期刊文章的情况下,仍然使用 SPA 引擎生成未初始化的脚本在没有 SPA 就绪的 portlet 上。
    猜你喜欢
    • 2017-04-04
    • 2021-07-01
    • 1970-01-01
    • 2017-03-21
    • 1970-01-01
    • 2017-01-16
    • 1970-01-01
    • 1970-01-01
    • 2018-11-18
    相关资源
    最近更新 更多