xpages应用程序布局:如何使徽标可点击?

Ben*_*buc 2 xpages xpages-extlib

使用应用程序布局时,有没有办法让徽标可以点击?单击顶部的徽标时,大多数网站都会返回主页,我的用户也会要求这样做.无法弄清楚如何...我很确定它与submittedValue有关,但你如何设置它为徽标?或者它可能是完全不同的东西,不确定.

我发现这个:在应用程序布局中点击事件横幅,但我不确定是否要在所有页面上添加一些客户端JavaScript.肯定有更好的办法.

Knu*_*ann 6

一类添加productLogoClass="applicationLogo"到您的标志像显示在这里.

为此类添加客户端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>
Run Code Online (Sandbox Code Playgroud)

在此示例中,它将"onClick应用程序图标"写入服务器控制台并重定向到"Home.xsp".

  • 是的,当然,但Ben明确要求服务器端代码执行,所以我认为它也应该用于其他东西. (4认同)