我要将脚本附加到打字稿文件中的页面上。

function getScript() {
  return new Promise((resolve, reject) => {
    const script: HTMLScriptElement = document.createElement('SCRIPT');
    document.body.appendChild(script);
    script.onload = resolve;
    script.onerror = reject;
    script.async = true;
    script.src = './scripts/my-script.js';
  });
}


Typescript给了我以下错误,这是我以前在img标记上遇到的,但错误表明我缺少很多其他属性。


  Type 'HTMLElement' is missing the following properties from type 'HTMLScriptElement': async, charset, crossOrigin, defer, and 8 more.ts(2740)


我不想使用/指定script元素的界面上所有可用的属性:我应该使用更通用的东西(什么?),还是完全忽略该界面?还是有一种使用界面的方法,以便我获得智能感知助手来自动完成,如果界面上不存在道具,则警告我,但是当我不使用它们全部时保持沉默?

最佳答案

SCRIPT更改为script,TypeScript将意识到createElement()返回HTMLScriptElement

09-10 14:25