有没有办法在使用应用程序布局时让 Logo 可点击?大多数网站在单击顶部的 Logo 时都会返回主页,我的用户也要求这样做。不知道该怎么做...我很确定它与 submittedValue 有关,但是如何为 Logo 设置它?或者它可能是完全不同的东西,不确定。
我找到了这个:onClick Event Banner in Application Layout但我不确定是否要向所有页面添加一些客户端 JavaScript。一定有更好的方法。
最佳答案
将类 productLogoClass="applicationLogo"
添加到您的 Logo 中,如图所示 here .
为此类添加客户端 onclick 事件,该事件在空面板上执行部分刷新。此面板有一个渲染属性,它始终返回 true 但如果客户端 onclick 事件执行了部分刷新,则执行附加代码。
<xe:applicationLayout
...
<xe:this.configuration>
<xe:oneuiApplication
productLogo="/logo.png"
productLogoClass="applicationLogo">
...
</xe:oneuiApplication>
</xe:this.configuration>
</xe:applicationLayout>
<xp:eventHandler
event="onClientLoad"
submit="false">
<xp:this.script><![CDATA[var applicationLogo = dojo.query('.applicationLogo')[0];
applicationLogo.onclick = function() {
XSP.partialRefreshGet("#{id:onClickApplicationLogo}",
{params: {'onClickApplicationLogo': true}})
}
]]></xp:this.script>
</xp:eventHandler>
<xp:panel id="onClickApplicationLogo">
<xp:this.rendered><![CDATA[#{javascript:
if (param.onClickApplicationLogo) {
print("onClick application icon");
context.redirectToPage("Home.xsp");
}
return true;}]]>
</xp:this.rendered>
</xp:panel>
在此示例中,它将“onClick 应用程序图标”写入服务器控制台并重定向到“Home.xsp”。
关于xpages 应用程序布局 : how to make logo clickable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28683200/