0

新しいタブで xpage を開くのに苦労しています。以下のリンクで提案されているように、多くの方法を試しました が、XPages を使用して新しいタブでリンクを開くときに運がありませんが、運がありません。親ドキュメントの unid、ドキュメントの unid、frompage などを渡して URL を動的に生成しているため、「リンク タイプ」を使用できませんでした。これが、リンクの「onClick」イベントを使用している理由です。どんな助けでも大歓迎です。以下は私のコードです。

 <?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:link escape="true" text="New Call"id="linkNewCall">
<xp:eventHandler event="onclick" submit="true" refreshMode="partial" refreshId="linkNewCall">
<xp:this.action><![CDATA[#{javascript:var url="www.google.com"
//view.postScript("window.open('" + url + "')");
view.postScript("var tempwindow = window.open('" + url + "','_blank'); tempwindow.focus();")}]]></xp:this.action>
</xp:eventHandler></xp:link>
</xp:view>
4

2 に答える 2

0

Serverside Javascript を使用しているため、それを使用して新しいウィンドウを開くことができます。同じことを行うために view.postScript を使用する必要はありません。

いくつかの方法があります。1 つの方法は、facesContext.getExternalContext() を調べることです ...

view.postScript は、特定のコンテキストでは機能しない場合があり、機能しない場合はエラーを返さず、何もしないことがよくあります。

編集: リンクの onclick イベントは、クライアント側の JavaScript もサポートしています。本当に使い慣れている場合は、そこにコードを配置してください。デフォルトのタブがサーバー側に開きます。「クライアント」をクリックしてコードを追加する必要があります。

于 2013-10-24T18:21:58.943 に答える