このサンプルには次の場所からアクセスできます。
portal-server-URL /rewriter/JavaScript/functions/djs/djs.html
ゲートウェイサービスの「ドメインとサブドメインのプロキシ」リストに abc.sesta.com が定義されていることを確認してください。
これが定義されていないと、直接の接続が想定され、ゲートウェイ URL がプレフィックスとして追加されません。
このサンプルで指定されているルールを、default_gateway_ruleset の「JavaScript ソースを書き換えるためのルール (Rules for Rewriting JavaScript Source)」セクションに追加します (まだ追加していない場合)。Portal Server 管理コンソールの「Portal Server 設定」のリライタサービスで default_gateway_ruleset を編集します。
ゲートウェイを再起動します。
./psadmin start-sra-instance –u amadmin – f <password file> –N <profile name>– t <gateway> |
<html> Test for JavaScript DJS Functions <br> <script> menu.addItem(new NavBarMenuItem("All Available Information","JavaScript:top.location=\qhttp://abc.sesta.com\q")); //menu.addItem(new NavBarMenuItem("All Available Information","http://abc.sesta.com")); </script> </html>
<Function type="DJS" name="NavBarMenuItem" paramPatterns=",y"/> <Variable type="URL" name="top.location"/>
<html> Testing JavaScript DJS Functions <br> <script> menu.addItem(new NavBarMenuItem ("All Available Information","javaScript:top.location= \qgateway-URL/http://abc.sesta.com\q"));
abc.sesta.com はゲートウェイサービスの「ドメインとサブドメインのプロキシ」リストのエントリです。したがって、リライタはこの URL を書き換える必要があります。ただし、これは絶対 URL であるため、Portal Server の URL をプレフィックスとして追加する必要はありません。DJS ルールは、DJS 関数 NavBarMenuItem の 2 番目のパラメータを書き換える必要があることを指定します。ただし、2 番目のパラメータは同じく JavaScript 変数です。2 番目のルールは、この変数の値を書き換える場合に必要となります。2 番目のルールは、JavaScript 変数 top.location の値を書き換える必要があることを指定します。これらのすべての条件に適合するため、URL が書き換えられます。
//menu.addItem(new NavBarMenuItem("All Available Information","http://abc.sesta.com"));
// DJS ルールは、関数 NavBarMenuItem の 2 番目のパラメータを書き換える必要があることを指定しますが、この文は書き換えられません。これはリライタが 2 番目のパラメータを HTML と認識しないためです。
</script> </html>