欢迎来到人人网开放平台 人人网首页
登录/创建账户

目录

[编辑] 功能描述

<xn:js-string>标签与其它XNML的标签有所不同,并不是用来在页面上显示用的,而是为XNJS生成一段JS代码,定义JS的变量。

XNJS中,当需要把一段XNML片段通过节点对象的setInnerXNML设置为元素内容的时候,或者用XNML片段装饰Dialog的时候,出于安全性的考虑,XNJS并不允许直接将一段XNML片段作为字符串的形式传给相应的函数。XNJS的做法是先创建一个XNML_String对象来表示XNML片段,然后将这个新创建的XNML_String对象传给相应的函数。

然而,与XNJS提供的其它对象不同,XNML_String不允许开发者直接用JavaScript代码来创建。正确的做法是,用XNML的<xn:js-string>标签定义一个XNML_String类型的变量,来表示XNML片段,具体与XNJS相关的信息可参考相应的文档:setInnerXNMLDialog

[编辑] 属性

Required

Name

Type

Description

required

var

string

一个符合JavaScript语法的XNML_String类型的变量名。也可以是"obj.property"的形式,则定义为一个对象的若干属性。这个变量或属性的值正是<xn:js-string>标签所嵌套的XNML片段。

[编辑] 示例

<xn:js-string var="loc_input"> <input id="xnjs_location" value="http://dev.xiaonei.com/wiki/XNJS" size="50" /> </xn:js-string>

开发者可以认为这段XNML代码相当于生成了如下的JS代码:

<script type="text/javascript"> <!-- var loc_input = new XNML_String ('<input id=\"xnjs_location\" value=\"http://dev.xiaonei.com/wiki/XNJS\" size=\"50\" />'); //--> </script>

再举一个例子:

<xn:js-string var="name.element1"> aaa: this is name.element1 </xn:js-string> <xn:js-string var="name.element2"> bbb: this is name.element2 </xn:js-string>

则可以认为这段XNML代码相当于生成了如下的JS代码:

<script type="text/javascript"> <!-- var name = {}; name.element1 = new XNML_String('aaa: this is name.element1'); name.element2 = new XNML_String('bbb: this is name.element2'); //--> </script>

[编辑] 注意事项

  1. <xn:js-string>标签不能嵌套使用。
  2. var属性值必须是有效的JS标识符,以字母、下划线或$开头。
  3. 不推荐在<xn:js-string>标签中嵌套<script>和<style>标签,因为以后校内平台升级有可能使这样的代码不再工作。

[编辑] 相关章节