1

typescript を使用して ActiveX を作成するにはどうすればよいですか? CreateObject はサポートされていないため

 var objElement = document.createElement('object');
        objElement.classid = 'clsid:2F3BC10B-45B6-472D-859C-200197E7D9C7';
        objElement.id = objectId;
        objElement.data = 'data:application / x - oleobject; base64, C8E7L7ZFLUeFnCABl + fZxwAIAABqJQAAxRoAAA =='; 
        this.config.element.appendChild(objElement);

        var helper = CreateObject("Helper.WebHelper")
4

2 に答える 2

5

次のように、ActiveXObject を宣言できます (存在しない場合)。

declare var ActiveXObject: (type: string) => void;

これについて言及するのは、標準ライブラリに存在しない場合に、これが型システムに何かを取り込む標準的な方法だからです。

ただし、ActiveXObject既に標準の TypeScript ライブラリに含まれているため、それは必要ありません。次のようにコンパイルすると問題なく動作します。

var objElement = document.createElement('object');
objElement.classid = 'clsid:2F3BC10B-45B6-472D-859C-200197E7D9C7';
objElement.id = 'My Id';
objElement.data = 'data:application / x - oleobject; base64, C8E7L7ZFLUeFnCABl + fZxwAIAABqJQAAxRoAAA =='; 
this.config.element.appendChild(objElement);

var helper = new ActiveXObject("Helper.WebHelper");

あなたobject does not support this property or methodに関して言えば、ActiveXオブジェクトのハンドルを取得すると、そのオブジェクトがサポートするものに手錠をかけられます。

上記のコードを使用するhelperと、ActiveX オブジェクトへの参照が保持されます。を使用document.getElementById(...)すると、DOM 内の要素が返されます (要素であると推測されます) 。ActiveXObject にアクセスするには、変数をobject使用する必要があります。helper

于 2013-10-24T10:44:44.133 に答える