如何将数组从 VBScript 传递到 JavaScript?

问题描述 投票:0回答:1

我有一个网页,我使用

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 arrays vbscript
1个回答
7
投票

您必须将结果数组包装在

VBArray
对象中并调用
toArray
:

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

或一行:

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

请注意,VBScript 在 IE11 边缘模式中已被弃用,因此它会在某个时候消失。

© www.soinside.com 2019 - 2024. All rights reserved.