Angular 从视频停止的位置恢复视频
从视频停止的位置恢复视频。下面是代码片段Angular 从视频停止的位置恢复视频,angular,Angular,从视频停止的位置恢复视频。下面是代码片段 @Component({ selector: 'my-app', templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) export class AppComponent { name = 'Angular 6'; constructor() { } @ViewChil
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
name = 'Angular 6';
constructor()
{ }
@ViewChild('iframe') iframe: ElementRef;
ngOnInit() {
}
ngAfterViewInit() {
alert('success');
let doc = this.iframe.nativeElement.contentDocument || this.iframe.nativeElement.contentWindow;
if (typeof doc.addEventListener !== undefined) {
doc.addEventListener("click", this.iframeClickHandler, false)
} else if (typeof doc.attachEvent !== undefined) {
doc.attachEvent("onclick", this.iframeClickHandler);
}
}
iframeClickHandler() {
alert("Iframe clicked");
}
}
html
这里有一些您需要的东西:
- 获取视频的当前时间
- 将当前时间保存到某个地方
- 播放保存的时间戳中的视频(如果有)
timestamp
变量中
以下是如何节省时间:
不时将此时间戳保存在本地存储器
或会话存储器
中。
何时保存取决于您,ngondestry()
是一种可能性,但请记住,如果浏览器意外关闭(但您可以使用解决方法:),或者您可以定义间隔,则不会调用它
在本地存储中,您不必担心组件被破坏和重新实例化,值始终存在
然后,每次用视频实例化组件时,检查本地存储值是否设置为某个值(localStorage.getValue('timestamp')
),如果是,则将组件变量分配给它(可能在ngOnInit()
),并添加?autoplay=1#t={timestamp}
如果组件中存在时间戳
var,则发送到vimeo iframe url
最重要的是,您可能需要在某个点清除本地存储
值(视频已完成,…),可能还有其他一些需要调整的地方,但这是我的想法
这不是一个解决方案,更像是一些解决问题的粗略方向。 我没有测试过任何一个,但我希望它能让你有所开始。请随意评论我可能错过的内容
<div>
<iframe width="560" height="315" src="https://player.vimeo.com/video/197933516" frameborder="0" id="iframe" allowfullscreen
#iframe></iframe>
</div>