以下是引用easyppt在2024-6-14 09:02:42的发言:
谢谢吹版,原来是要写自定义js啊
另外,还有一个问题,ScriptControl返回的json对象,怎么再转成 json字符串啊,js 有这样的反转函数吗
ScriptControl不能解释JS,用起来麻烦点,简单点也要调用现成的JS库来处理。
或者可以考虑用IE的解释器,如:
程序代码:
TEXT TO jsonString TEXTMERGE NOSHOW PRETEXT 15
{"array":[{"key1":"value1","key2":"value2"}]}
ENDTEXT
TEXT TO jsCode TEXTMERGE NOSHOW PRETEXT 15
<script>
var json = function(jsonString){return JSON.parse(jsonString);};
var toStringify = function(obj){return JSON.stringify(obj);};
var toString = function(obj){return Object.prototype.toString.call(obj);};
var getValue = function(obj,name){return obj[name];};
var isArray = function(obj){return Array.isArray(obj);};
var getArray = function(obj,num){return obj[num];};
</script>
ENDTEXT
dom = CREATEOBJECT("htmlfile")
dom.write(jsCode)
win = dom.parentWindow
json = win.json(jsonString)
? win.toStringify(json)
? win.toString(json.array)
? win.isArray(json.array)
FOR i=0 TO json.array.length-1
obj = win.getArray(json.array,i)
? win.getValue(obj,"key1"), win.getValue(obj,"key2")
ENDFOR
显示结果:
图片附件: 游客没有浏览图片的权限,请
登录 或
注册