Sun Java System Portal Server Secure Remote Access 7.2 管理指南

JavaScript DHTML 变量示例

Procedure使用 JavaScript DHTML 变量示例

  1. 可从以下位置访问本示例:

    portal-server-URL /rewriter/JavaScript/variables/dhtml/dhtml.html

  2. 确保在网关服务的“域和子域的代理”列表中定义了 abc.sesta.com。如果没有定义该项,则假定采用直接连接,不会在其前面加网关 URL。

  3. 将本示例中指定的规则(如果尚不存在)添加到“JavaScript 源重写规则”一节的 default_gateway_ruleset 中。在 Portal Server 管理控制台中,编辑 Portal Server 配置下的重写器服务中的 default_gateway_ruleset

  4. 如果添加了此规则,请重新启动网关:


    ./psadmin start-sra-instance –u amadmin – f  <password file> –N <profile name>– t  <gateway>
    

重写前的 HTML 页

<html>
<head>
<title>JavaScript DHTML Variable Test Page</title>
</head>
<body>
<script LANGUAGE="Javascript">
<!--
//DHTML Var
var dhtmlVar="<a href=../../images/test.html>"
var dhtmlVar="<a href=/../images/test.html>"
var dhtmlVar="<a href=/images/test.html>"
var dhtmlVar="<a href=images/test.html>"
var dhtmlVar="<a href=http://abc.sesta.com/images/test.html>"
var dhtmlVar="<img src=http://abc.sesta.com/images/test.html>"
//-->
</SCRIPT>
<br><br>
Testing DHTML Variables
<br><br>
<img src="images/logo.gif">IMAGE
</body>
</html>

规则

<Variable name="DHTML">dhtmlVar</Variable>

重写后的 HTML 页

<html>
<head>
<title>JavaScript DHTML Variable Test Page</title>
</head>
<body>
<script LANGUAGE="Javascript">
<!--
//DHTML Var
var dhtmlVar="<a href=gateway-URL/portal-server-URL
/rewriter/JavaScript/images/test.html>"

// JavaScript DHTML 规则将 dhtmlVar 的右侧部分确定为动态 HTML 内容。因而,会应用 default_gateway_ruleset 文件中的 HTML 规则。动态 HTML 包含 href 属性。default_gateway_ruleset 定义了规则 <Attribute name="href"/>。因此,会重写 href 属性的值。但此 URL 不是绝对的;因此,会用页的基 URL 以及所需子目录来替换这个相对的 URL。接着在其前面加上网关 URL 以得出最终重写后的输出。

var dhtmlVar="<a href=gateway-URL
/portal-server-URL/../images/test.html>"

// 虽然附加了页的基 URL,并且在前面加上了网关 URL,但最终得到的 URL 不会起作用。这是因为初始 URL /../images/test.html 是错误的。

var dhtmlVar="<a href=gateway-URL
/portal-server-URL/images/test.html>"

// 这里,JavaScript DHTML 规则同样将右侧部分确定为动态 HTML 内容,并将其传递给 HTML 规则。应用 default_gateway_ruleset 中的 HTML 规则 <Attribute name="href"/>,并按所示方式重写该语句。在其前面加上网关 URL 和 Portal Server URL。

var dhtmlVar="<a href=gateway URL/portal-server-URL/
rewriter/JavaScript/variables/dhtml/images/test.html>"
var dhtmlVar="<a href=gateway URL/http://abc.sesta.com/images/test.html>"
var dhtmlVar="<img src=gateway-URL/
http://abc.sesta.com/images/test.html>"

// JavaScript DHTML 规则会确定出右侧的动态 HTML 内容,并将此语句传递给 HTML 规则。此时会应用 default_gateway_ruleset 中的 <Attribute name="src"/> 规则。由于此 URL 是绝对的,因此只需在其前面加上网关 URL。为重写该 URL,请确保在“域和子域的代理”列表中定义了 abc.sesta.com

//-->
</SCRIPT>
<br><br>
Testing DHTML Variables
<br><br>
<img src="gateway-URL/portal-server-URL/
rewriter/JavaScript/variables/dhtml/images/logo.gif">

// 由于在 default_gateway_ruleset 中定义了规则 <Attribute name="src"/>,所以会重写该行。

<br><br>
Image
</body>
</html>