我要将脚本附加到打字稿文件中的页面上。
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
。