目录 |
<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相关的信息可参考相应的文档:setInnerXNML和Dialog。
|
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> |