繁体   English   中英

打字稿错误TS2339:'Window'类型中不存在属性'webkitURL'

[英]Typescript error TS2339: Property 'webkitURL' does not exist on type 'Window'

在使用typescript编译的项目上使用Angular 2。

尝试创建blob图像时出现此错误:

error TS2339: Property 'webkitURL' does not exist on type 'Window'

ts代码是:

public url = window.URL || window.webkitURL; this.photo = this.url.createObjectURL( res );

错误TS2339:类型'Window'上不存在属性'webkitURL'

lib.d.ts不附带浏览器特定的内容。 但是您可以轻松地执行(window as any).webkitURL 这称为类型断言

更多

常见(as any)样式类型断言是由alm提供的quickfix: https ://basarat.gitbooks.io/alm/content/features/quickfix.html

从TypeScript 2.1.5开始工作的解决方案:

interface Window {
    webkitURL?: any;
}

declare var window: Window;

if (window.webkitURL !== undefined) {
    console.log(window.webkitURL);
}

在上面的代码中,我们声明了一个Window的接口/形状,它可以选择定义webkitURL,然后我们进行检查以确保定义它。

这种方法对我有用。 我当前的打字稿版本是2.0.3

将其添加到课堂之外

 interface Window { logged_user: Object }

当你需要使用这个属性时,只需使用它

window.logged_user = {};//your data

解决方案1:

interface Window {
  webkitURL: any;
}

declare var window: Window;

 //Now typescript will not throw any error on window.webkitURL

解决方案2: (<any>window).webkitURL不会抛出ts错误

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM