Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >媒体元素播放器退出全屏滚动问题

媒体元素播放器退出全屏滚动问题
EN

Stack Overflow用户
提问于 2016-06-13 10:35:56
回答 1查看 1.3K关注 0票数 1

我有很长的网页,垂直滚动几个视频。使用Media Element Player播放视频,但是如果您进入全屏模式,然后退出全屏模式,则无论视频在页面上的位置如何,页面都会返回到最顶层。我想让它回到原来的地方。下面是我使用的代码:

代码语言:javascript
运行
AI代码解释
复制
var topPosition;

MediaElementPlayer.prototype.enterFullScreen_org =         
MediaElementPlayer.prototype.enterFullScreen;
MediaElementPlayer.prototype.enterFullScreen = function() {
    console.log('enter full screen');
    this.enterFullScreen_org();
    topPosition = window.pageYOffset;
    console.log(topPosition);
}

MediaElementPlayer.prototype.exitFullScreen_org = 
MediaElementPlayer.prototype.exitFullScreen;
MediaElementPlayer.prototype.exitFullScreen = function() {
    console.log('exit full screen')
    this.exitFullScreen_org();
    ResetFullScreen();
}

function ResetFullScreen() {
    console.log('top pos:', topPosition);
    setTimeout(function () { window.scrollTo(0, topPosition) }, 500);
}

console.log显示了"topPosition“的正确值,但window.scrollTo方法似乎不起作用。

EN

回答 1

Stack Overflow用户

发布于 2016-06-13 11:07:35

看一看您的代码,它似乎应该可以工作。不过,我还有一种方法来设置可能起作用的卷轴。如果要滚动的元素不在顶层,这将非常有用。

存储滚动位置时:

代码语言:javascript
运行
AI代码解释
复制
topPosition = document.body.scrollTop;

设置滚动位置时:

代码语言:javascript
运行
AI代码解释
复制
document.body.scrollTop = topPosition;

如果要滚动的是主体内的元素,而不是主体本身,只需将document.body替换为需要滚动的元素即可。

另外,我在您的代码中发现了一个小问题:

代码语言:javascript
运行
AI代码解释
复制
MediaElementPlayer.prototype.enterFullScreen;'

在这一行的末尾有一个随机的引号。

编辑:

如果那个方法不起作用,我还有一个主意要告诉你。当他们点击他们查看的视频时,将他们点击的元素存储在一个变量中。离开全屏后,将元素滚动到视图中。这样,你就会或多或少,在屏幕进入全屏时的位置。

每个视频都有一个包含以下内容的onclick;这将存储他们单击的元素。

代码语言:javascript
运行
AI代码解释
复制
lastVideoClicked = event.target;

当离开全屏时,此代码将尝试将该元素滚动回视图。

代码语言:javascript
运行
AI代码解释
复制
lastVideoClicked.scrollIntoView();

您可以在这里的Stack溢出站点上试用它--滚动到页面的底部,打开javascript控制台,然后输入代码document.getElementById('hlogo').scrollIntoView()。此滚动堆栈溢出徽标进入视图。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37796877

复制
相关文章
如何使用 Tmuxp 来优雅的管理多个 Tmux 会话
事实上,tmuxp 也是一个构建于 tmux 之上的对象关系映射的 ORM 的 API 工具,就是利用 tmux 工具定义的窗格(pane)、窗口(windows)和会话(session),以创建关联视图的 Server, Session, Window, Pane 对象。我们在使用的时候,可以使用 YAML, JSON 以及 dict 字配置项来启动我们配置好的窗口和面板。使用时候需要注意的是,只支持 tmux>=1.8 的版本。
iMike
2021/05/18
4.4K0
如何使用 Tmuxp 来优雅的管理多个 Tmux 会话
如何使用SMBSessionSpoofer伪造SMB会话
 关于SMBSessionSpoofer  SMBSessionSpoofer是一款针对SMB会话的安全工具,该工具可以帮助广大研究人员轻松创建出一个伪造的SMB会话,并以此来欺骗攻击者访问和进入蜜罐设备。该工具虽然结构简单,但功能强大,我们只需要将其cpp主程序文件下载下来,并在Visual Studio 2019中进行编译后,即可上手使用。  工具机制  当攻击者运行SharpHound并收集目标组织中的会话信息时,会根据自己的经验来分析针对目标主体的攻击路径,并且还可以识别在第二层基础设施(工作站)中
FB客服
2023/03/30
2.5K0
如何使用SMBSessionSpoofer伪造SMB会话
PythonWebServer如何同时处理多个请求
源于知乎上一个问题:https://www.zhihu.com/question/56472691/answer/293292349
the5fire
2019/03/01
1.9K0
使用node.js如何简单快速的搭建一个websocket聊天应用
var ws = require(“nodejs-websocket”); console.log(“开始建立连接…”)
马克社区
2022/06/13
4610
使用node.js如何简单快速的搭建一个websocket聊天应用
初始化项目 npm init 安装nodejs-websocket npm install nodejs-websocket 创建并编辑启动文件 创建一个名为app.js文件,并且编辑它。 var ws = require("nodejs-websocket"); console.log("开始建立连接...") var [user1,user2,user1Ready,user2Ready] = [null,null,false,false]; ws.createServer(function(
Vam的金豆之路
2021/12/01
6420
使用node.js如何简单快速的搭建一个websocket聊天应用
通过跳板机管理多个ssh会话
为了加强服务器的安全性,一般情况下,服务器的登陆管理都通过跳板机(或堡垒机)进行管理和维护,内网的之间的ssh并不对外开放.
明哥的运维笔记
2020/06/30
1.8K0
通过跳板机管理多个ssh会话
Node.js如何处理健壮性
在极客教育出版了一个视频是关于《Node.js 异常处理-健壮性》,本文章主要是从内容上介绍如何来处理Node.js异常问题。如果希望学习可前往极客学院:http://www.jikexueyuan.com/course/2373.html 本文章的关键词 - 进程退出 - 内存泄漏 - domain安全保护 ---- Node.js 异常的危害 很多初学的同学很少会关注Node.js的服务安全问题,而当服务器在生成环境遇到此类问题时,又会显得速手无策,因此在学习Node.js的初期了解其
蛋未明
2018/06/07
1.1K0
Node.js 是如何处理请求的
前言:在服务器软件中,如何处理请求是非常核心的问题。不管是底层架构的设计、IO 模型的选择,还是上层的处理都会影响一个服务器的性能,本文介绍 Node.js 在这方面的内容。
theanarkh
2023/10/04
5230
Node.js 是如何处理请求的
Node.js内存溢出时如何处理?
Node.js 做密集型运算,或者所操作的数组、对象本身较大时,容易出现内存溢出的问题,这是由于 Node.js 的运行环境依赖 V8 引擎导致的。如果经常有较大数据量运算等操作,需要对 Node.js 运行环境限制有充分的了解。
coder_koala
2019/08/21
4.9K0
Node.js内存溢出时如何处理?
PHP的会话处理函数session
当运行一个应用程序时,你会打开它,做些更改,然后关闭它。这很像一次会话。计算机清楚你是谁。它知道你何时启动应用程序,并在何时终止。但是在因特网上,存在一个问题:服务器不知道你是谁以及你做什么,这是由于 HTTP 地址不能维持状态。
于果
2021/08/25
2.5K0
PHP会话处理相关函数介绍
在PHP开发中,比起Cookie,Session 是存储在服务器端的会话,相对安全,并且不像 Cookie 那样有存储长度限制,这里我们详细介绍一下PHP处理会话函数将要用到10个函数。 PHP
wangxl
2018/03/07
1.3K0
PHP会话处理相关函数介绍
Arduino如何同时使用多个串口
如果想要给Arduino UNO R3同时接上WiFi模块和蓝牙模块时,但是Arduino的串口只有一个,怎样才能让Arduino同时使用多个串口呢?
小雨coding
2020/06/09
4.9K0
Arduino如何同时使用多个串口
如何正确使用Node.js事件[每日前端夜话0x4B]
事件驱动的编程变得流行之前,在程序内部进行通信的标准方法非常简单:如果一个组件想要向另外一个发送消息,只是显式地调用了那个组件上的方法。但是在 react 中用的却是事件驱动而不是调用。
疯狂的技术宅
2019/04/23
3.6K0
如何正确使用Node.js事件[每日前端夜话0x4B]
Node.js RESTful API如何使用?
REST(Representational State Transfer)是一种软件架构风格,用于设计网络应用程序的通信方式。RESTful API 是基于 REST 架构风格的 API 设计,它使用标准的 HTTP 方法(GET、POST、PUT、DELETE 等)来进行资源的操作和交互。
网络技术联盟站
2023/07/07
4610
JS中如何处理多个ajax并发请求?
通常 为了减少页面加载时间,先把核心内容显示处理,页面加载完成后再发送ajax请求获取其他数据 这时就可能产生多个ajax请求,为了用户体验,最好是发送并行请求,这就产生了并发问题,应该如何处理? (1)并行改串行 如果业务逻辑和用户体验允许的情况下,可以改为串行,处理起来最简单 function async1(){ //do sth... async2(); } function async2(){ //do sth... } async1(); (2)回调计数 function
dys
2018/04/02
5.6K0
如何处理会话等待事件与ORA-21780故障
作者 | 张维照,Oracle ACEA,2006年起从事数据库管理工作,2009年转 Oracle,从事过多套 TB 级省级工商、医疗、交通、人社、电信运营等数据库维护优化工作,擅长Oracle 数据库性能问题的分析与解决,Oracle数据库故障分析,Oracle数据库升级迁移。
数据和云
2018/12/24
1K0
Seata如何处理跨多个请求的事务?
Seata 是一种开源的分布式事务解决方案,能够处理跨多个请求的事务,适用于各种容器、语言和数据访问类型。在微服务架构下,依赖多个服务的操作可能导致分布式事务的问题。Seata 提供了完整的解决方案以确保数据的一致性和可靠性。
用户1289394
2023/09/11
3460
Seata如何处理跨多个请求的事务?
Node.js 如何处理 ES6 模块
一种是 ES6 模块,简称 ESM;另一种是 Node.js 专用的 CommonJS 模块,简称 CJS。这两种模块不兼容。
ruanyf
2020/08/22
7260
Angular 使用 RxJS 优化处理多个Http请求
注意:上面的this.http.get... 处理HTTP最好放到单独的Service文件中,再注入到Component。这里为了演示没有这么做。
mafeifan
2019/03/15
4.2K0
关于node.js:ExpressJS、Websocket中的session会话共享
最近在使用Nodejs+TypeScript编写一个简单通用的框架,包含如下功能: 一、物联网接口: (1)、后台接口框架 (2)、http服务器 (3)、websocket服务器 (4)、http与websocket关联,添加session
ccf19881030
2020/07/22
2.3K0

相似问题

Node.js:处理多个会话

12

使用php与多个会话聊天

10

使用SignalR的多个聊天会话

12

使用多个前端处理PHP会话

12

node.js websocket聊天以处理并行颜色

31
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档