Typescript错误TS2339:属性'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
。这被称为类型断言。
更多
- lib.d.ts上的文档
- 快速迁移提示
常见的(as any)
样式类型断言是alm提供的快速修复: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,然后我们进行检查以确保它被定义。
这种方法对我很有效。我目前的typescript版本是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
未抛出错误
相关文章:
- 为什么会出现错误;未捕获的类型错误:undefined不是函数;
- 如何在DOM元素上按类型构建此函数
- 同样,同样的错误'ahorcado.js:26未捕获类型错误:无法读取属性'beginPath'
- YUI3 IO实用程序是否可以根据给定的内容类型标头值自动序列化数据
- Webpack/Rect:遵循egghead.io教程,但出现错误:您可能需要一个合适的加载程序来处理此文件类型
- 如何从querySelectorAll中获取按钮类型
- 如何在输入字段中的按钮的帮助下打开日历,该字段的类型为“=”;日期”;
- 如何将具有文本类型值的var放入jQuery函数中
- javascript解释器如何理解变量的数据类型
- 可变大小的JavaScript字符串如何成为基元类型
- AngularJS指令只识别双向绑定类型
- 在<输入类型=“;文件“/>
- 从查询字符串参数推断出正确的数据类型
- 未捕获的类型错误:无法读取属性'删除'的未定义
- 为什么不'我们在javascript中使用函数参数的数据类型
- Javascript 可选类型提示
- 可以<脚本类型=“;text/javascript”>window.location=“/"</
- 未捕获的类型错误:无法读取属性'name'即使它存在,也无法定义
- html5视频中的Youtube类型注释
- Typescript错误TS2339:属性'webkitURL'在类型'窗口'