我的代码中有以下行:
var ScreenRecorder = new ActiveXObject('CCScreenRecorder.ScreenRecorder');
问题是我有 2 个这样的条目
(每个版本一个,不要问我为什么 - 这是我需要处理的事实),
所以我想从 GUID 创建 ActiveXObject
。
我尝试这样做:
document.createElement('<OBJ' + 'ECT ID="ScreenRecorderWrapper" CLA' + 'SSID="CL' + 'SID:37CCF998-3BB7-' + '4F8A-9D9F-EF391543E94A"></OB' + 'JECT>');
var ScreenRecorder = ScreenRecorderWrapper;
但问题是 ScreenRecorderWrapper
只会在 SetTimeout
或其他一些操作之后定义。
我可以从它的 GUID 而不是从它的名称中获取 ActiveXObject
吗?
类似于:
var ScreenRecorder = new ActiveXObject('37CCF668-3BB7-4F8A-9D9F-EF391543E94A');
最佳答案
ActiveXObject
需要 ProgID,但是,您可以使用与版本相关的 ProgID,而不是与版本无关的 ProgID。
版本相关的 ProgID 通常会在版本无关的 ProgID 后附加一个版本号。
在本例中,与版本无关的 ProgID 为 'CCScreenRecorder.ScreenRecorder'
,与版本相关的 ProgID 类似于 'CCScreenRecorder.ScreenRecorder.1'
或'CCScreenRecorder.ScreenRecorder.2'
。
请注意,如果安装了错误的版本,则使用与版本相关的 ProgID 可能会失败。您可能想首先尝试与版本相关的 ProgID,然后回退到与版本无关的 ProgID。
关于javascript - 从 GUID 创建 ActiveXObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20660361/