javascript - TypeScript 提示正确的 HTML5 Fullscreen API 方法

标签 javascript reactjs typescript html5-video

this.video.exitFullscreen();

我收到此错误:

[ts] 属性“exitFullscreen”不存在于 输入“HTMLVideoElement”

这种方法确实存在,并且我对视频的引用是 100% 正确的,因为我在代码中多次使用了它。我该如何解决这个问题,以便 typescript 编译时不会出现此错误?

我找到了一个答案,建议实现这样的接口(interface):

interface Document {
    exitFullscreen: () => void;
    mozCancelFullScreen: () => void;
    webkitExitFullscreen: () => void;
    fullscreenElement: () => void;
    mozFullScreenElement: () => void;
    webkitFullscreenElement: () => void;
}

但是如果我已经定义了两个接口(interface)(用于状态和 Prop )并且我的类已经在使用它们,我该如何使用这个接口(interface):

class Player extends React.Component<IProps, IState> { ... }

我无法在此类上使用第三个接口(interface)。我该如何解决这个问题?

最佳答案

据我所知,您正在寻找 document.exitFullscreen ,因为根据 MDN,HTMLVideoElement.exitFullscreen 不存在。

你能尝试一下document.exitFullscreen()吗?而不是在 this.video 上调用 exitFullscreen

正如您所指出的, typescript 不知道 moz 前缀函数,因此在项目中的任何位置添加此文件(您不必从它派生)应该消除 document.mozCancelFullScreen 的编译器错误

interface Document {
    mozCancelFullScreen: () => void;
    mozFullScreenElement: Element;
}

关于javascript - TypeScript 提示正确的 HTML5 Fullscreen API 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47053567/

相关文章:

javascript - 链接多个可观察对象并重用链中已执行的可观察对象的结果

Angular 2 在 Post 上重新加载数据

javascript - Antd 的 @Form.create<Props>() 装饰器导致不明确的 TypeScript 错误

javascript - Angular 2 路由检查参数是否包含有效值

javascript函数没有被调用

javascript - 日历插件示例无法在 .net 上运行

reactjs - 未捕获( promise )错误 : Request failed with status code 404

javascript - ReactJS Axios 和 Go API 之间的请求

javascript - Cytoscape Cola.js 布局边长 = 文本语料库可视化

javascript - 仅在初始渲染后才 react CSS 动画