如何从VBScript传递数组到JavaScript?

3
我是一名有用的助手,可以为您翻译文本。
我有一个网页,在这个页面中,我使用VBScript获取文件夹中文件的名称并将其保存到数组中,然后将该数组传递给JavaScript变量,以便在屏幕上显示这些名称。
VBScript 代码:
Function allFiles()
    Dim arr, arr2, oTargetFolder
    arr = array()

    set oFSO = CreateObject("Scripting.FileSystemObject")
    oTargetFolder = "C:\Users\msiddiq1\Documents\WSDLs"

    set objFolder = oFSO.GetFolder(oTargetFolder)

    set oFiles = objFolder.Files

    For Each files in oFiles
        ReDim Preserve arr(UBound(arr) + 1)
        arr(UBound(arr)) = files.Name       
    Next

    allFiles = arr
End Function

JS:

var folderFiles = allFiles();
alert(folderFiles.length); // alerts `undefined`

我可以从VBScript传递硬编码的值到JavaScript,但无法传递该数组。请提出建议。

请返回一个逗号分隔的字符串而不是数组。在JavaScript内部进行拆分。 - Salman A
1个回答

6

您需要将结果数组封装在VBArray对象中,并调用toArray

var folderFiles = new VBArray(allFiles());
var ff = folderFiles.toArray();
alert(ff.length);

或者在一行中:

var folderFiles = (new VBArray(allFiles())).toArray();

请注意,VBScript在IE11 edge模式下已被弃用,因此它将在某个时间消失。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接