如何让网页上的Flash视频在弹出窗口中播放

很多浏览器都有这个功能,当你把鼠标移动到网页视频上,就可以看到顶部有一个按钮出现,弹出独立播放器。当你点击按钮,视频就弹出在新窗口播放了,这时候视频窗口的大小可以自由调整不再受页面的限制。

这是如何做到的呢?

首先想到的是,浏览器缩放缩放了页面的大小,正好可以显示视频窗口的大小。好像火狐有一个魔镜功能,可以实现网页简报既截取网页任意部分。 要做到这点,浏览器的外框程序必须是自己写的(国内的浏览器都是这样的)。如果浏览器不是自己的,能不能通过BHO来实现呢?

另一个想法是,把页面里视频相关的HTML代码提取出来,然后在一个新页面框架里显示。但是这样的话,就必须对页面代码的结构非常熟悉,而且必须跟随变化。还有,当新视频窗口弹出时,播放进度是不能保持的,必须重头播放。


其实有一个简单的办法,那就是把页面里的Flash控件重新激活到另一个窗口上。因为我们知道,Flash其实是一个ActiveX控件,运行在IE容器里。如果我们创建一个新的Ole Container,就可以把Flash控件激活到新的Container里。这样,Flash控件就可以在保持状态的情况下在不同的容器之间转换,既自由的在页面和弹出窗口中切换。


所以,要弹出(IE)页面里的Flash视频,需要以下几步:

1.  通过Web Browser控件或者BHO,在页面加载完成后得到页面的DOM模型,找到Embed节点对象,即可查到Flash空间。

2.  创建Ole容器,比如ATL的CAxWindow

3.  激活Flash控件到新的Ole容器


代码片段(基于ATL):


//pFlashDisp为Flash控件对象,通过分析页面DOM获得

//保存IE容器,用于恢复
CComQIPtr<IOleObject> spFlashOleObj = pFlashDisp;
spFlashOleObj->GetClientSite(&m_spIESite);

//必选先关闭,才能转移到新的窗口上
spFlashOleObj->DoVerb(OLEIVERB_HIDE, NULL, m_spIESite, 0, NULL, NULL);
spFlashOleObj->Close(OLECLOSE_NOSAVE);


//创建新的Ole容器(ATL的CAxWindow类)
CRect clientRect;
GetClientRect(&clientRect);
m_HostWin.Create(m_hWnd, &clientRect, NULL, WS_CHILD);

CComPtr<IAxWinHostWindow> spHost;
m_HostWin.QueryHost(&spHost);

//使得Flash可以查询到IE提供的IServiceProvider,比如可以打开新的网页
CComQIPtr<IObjectWithSite> spObjWithSite;
m_HostWin.QueryHost(IID_IObjectWithSite, (void**)&spObjWithSite);
spObjWithSite->SetSite(pOuterSite);

//激活到新容器, m_hWnd为m_HostWin的父窗口
spHost->AttachControl(spFlashOleObj, m_hWnd);
 








利用av号爬取Bilibili视频弹幕 #bilibili弹幕抓取 import requests import re from bs4 import BeautifulSoup import operator#排序 def getHTMLText(url): try: print("获取url中...") headers = {'User-Agent':'Mozilla/5.0 (Wind... 阅读详情

相关推荐

视频弹出插件

1. 用漂亮的弹出层装饰flv播放器。 2. 支持flv,mp4,mov,f4v,3gp等视频格式; 3. 优化视频比例问题; 4. 新增配置文件功能,此功能将实现与asp,php,jsp,aspx程序更完美的结合; 5. 支持双重参数功能,可适合普通用户和程序人员使用; 6. 更加人性化的播放体验;

基于AVpro视频播放器的展馆视频播放

using System.Collections; using System.Collections.Generic; using UnityEngine; using RenderHeads.Media.AVProVideo; 脚本不需要赋值,挂在物体上即可 public class VideoShowOne : MonoBehaviour { public static VideoShowOne showOne;bool IsPlay = false; private void Awa

kvkZzzz的博客 24万+

Nacos启动报错No DataSource set?5分钟搞定standalone模式配置

本文针对Nacos启动时常见的“No DataSource set”报错,深入解析了其根源在于默认集群模式与外部数据库依赖。提供了两种快速解决方案:通过命令行参数“-m standalone”启动,或直接修改启动脚本配置文件,从而在5分钟内以单机模式成功启动Nacos,无需配置MySQL数据库。

weixin_29234509的博客 465

AVPlay播放视频

@property (nonatomic, retain, nullable) AVPlayer *player; NSString *urlStr= [[NSBundle mainBundle]pathForResource:@"demo.mp4" ofType:nil]; NSURL *url=[NSURL fileURLWithPath:urlS

IOSSHAN的博客 5万+

NBIS单细胞教程:差异基因(五)

此文章是通过学习瑞典国家生物信息学基础设施(NBIS) 所开放的单细胞分析教程加上网上所查找的资料,自身的理解所形成的,可能会有不足之处。该部分是对不同集群之间的差异基因进行分析。参考来源:https://github.com/NBISweden/workshop-scRNAseq/blob/master/labs/seurat/seurat_05_dge.Rmd感兴趣的话可以阅读原文。

songyi10的博客 1万+

el-table通过上下左右键移动光标

在Element Plus的el-table中包含el-input和el-select组件,要实现上下左右键控制光标位置,需要通过focus和blur跟踪判断当前是哪个el-input或el-select有焦点,当按键按下时,通过监听,计算下一个获取焦点元素的索引,通过focus方法将焦点切换至改元素。

秋思的博客 1350

如何让网页上的Flash视频以弹出窗口播放

如何让网页上的Flash视频以弹出窗口播放   很多浏览器都有这个功能,当你把鼠标移动到网页视频上,就可以看到顶部有一个按钮出现,弹出独立播放器。当你点击按钮,视频就弹出在新窗口播放了,这时候视频窗口的大小可以自由调整不再受页面的限制。   这是如何做到的呢? 首先想到的是,浏览器缩放缩放了页面的大小,正好可以显示视频窗口的大小。好像火狐有一个魔镜功能,可以实现网页简报既截取网页任意部分。 要做到这点,浏览器的外框程序必须是自己写的(国内的浏览器都是这样的)。如果浏览器不是自己的,能

happmaoo的专栏 2009

PAT|中国大学MOOC-浙江大学翁恺-C语言程序设计习题集(更新中)

##2-0. 整数四则运算 时间限制:400 ms 内存限制:65536 kB 代码长度限制:8000 B 判题程序:Standard 作者:乔林(清华大学) 本题要求编写程序,计算2个正整数的和、差、积、商并输出。题目保证输入和输出全部在整型范围内。 输入格式: 输入在一行中给出2个正整数A和B。 输出格式: 在4行中按照格式“A 运算符 B = 结果”顺序输出和、差、积、商。 输入样例: 3 ...

小鱼波波波 6万+

关于页面里面嵌套视频播放器,使用弹出层之后会被视频挡住

http://www.iqiyi.com/player/20140611102651/Player.swf?albumId=250686800&tvId=250686800&autoplay=true&cyclePlay=false&exclusive=0&origin=flash&yhls=1471216797984&definitionID=569730c8c1f06f6ee31553269a

txghyt的专栏 4889

结构化数据特征构建神器openfe的实战代码

最近订阅专栏的几位同学一起参加了AI比赛,该比赛的数据形式是结构化的。随着特征和模型的不断迭代优化,达到了一个难以跨越的瓶颈。希望我能够给出一些有效的方法,帮助他们提高成绩。在个人的调研和体验后,向他们推荐了结构化数据特征构建神器openfe,最终也帮助他们提升了十来名的成绩,个人也感到十分的欣慰。特意写此博客,希望能够帮助更多的同学。 文章目录 1. 安装 2. 实战例子一 3. 实战例子二

herosunly的博客 3万+

【腾讯小龙虾WorkBuddy专栏04】一文搞懂WorkBuddy的「专家」和「专家团」

WorkBuddy专家与专家团:专业级AI协作解决方案 WorkBuddy的专家(Expert)与专家团(Expert Team)功能颠覆了通用AI的局限性,提供角色化、可交付的专业服务。 核心优势 专家:深度垂直领域的AI顾问,具备人设、方法论、工具链,如全栈开发专家能直接交付完整项目,而非代码片段。 专家团:多智能体协作,自动拆解复杂任务(如竞品分析、全栈开发)并分发给对应角色,并行执行后整合输出,效率提升显著。 使用场景 单专家:解决专业问题(如SQL优化、UI设计)。

AI人人懂 2019

nginx+rtmp配置,网页播放rtmp流(实测可用)

1、下载编译librtmp: git clone git://git.ffmpeg.org/rtmpdump cd rtmpdump/ make sudo make install 带--enable-librtmp重新编译安装ffmpeg,请参考:ffmpeg导入外部库libx264。 2、搭建nginx服务器: git clone https://github.com/arut/nginx-rtmp-module wget http://nginx.org/download/nginx-1.8.0

weixin_43796767的博客 2万+

SAP RAP 校验全流程:从 EML 读取到消息上屏与阻止落库

本文系统梳理了 SAP ABAP RAP 中的校验流程(The Validation Process),结合 Airline/Connection 案例,详细讲解了三类核心校验:语义键唯一性、外键有效性和字段间一致性。文章覆盖了 EML 的 READ ENTITIES 操作、reported-* 与 failed-* 结构的使用方法、消息创建与字段绑定技巧,以及处理草稿数据时的 UNION 查询策略。通过代码示例演示了如何实现校验逻辑、生成错误消息并阻止无效数据持久化,同时提供了常见问题的排查建议。全文注重

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 332

怎么屏蔽跳出来的登陆窗口_怎么拦截电脑网页浏览器弹出的广告窗口

我们在使用电脑办公或浏览网页时,忽然弹出特别烦人广告窗口,干扰了工作和学习。相信大家可能都被这些讨厌广告弹窗而困惑。虽然理解这些广告行为是支持产品“活下去”而为之。为了不影响到我们,可通过一些简单的设置手段避免广告窗口弹出。下面就常用的IE和Edge浏览器阻止这些“烦人”的广告弹窗的方法分享如下(OS 为Win10)。一、IE浏览器方法一通过控制面板设置拦截1.按下键盘的“win+R”键输入“co...

weixin_39676348的博客 5516

【Mode】多模干涉仪的设计 Multi-mode interferometer(MMI)

与 Splitter 器件一样,MMI 器件也是一种常见的分光器件,可以根据用户的需求将光束分成不同的比例。本文,我们将介绍如何仿真 MMI 器件。这里我们使用的是 1x2 MMI,其本质上是由四个部分组成的,中间的矩形多模式干涉区域以及左右两侧的三个 taper 模式转换区域。之前的教程中我们也提及了,为了获取稳定的模式场分布,通常,我们需要进行模式收敛性扫描。这里以官网给出的案例为例。如何提取 S 参数我们先暂时不做介绍,后续有时间了我们再做介绍。

u011699626的博客 1212

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

如何为Safari浏览器安装Flash插件?

很多朋友使用Safari浏览器的时候总会发现缺少一个插件——Flash,导致视频不能播放,甚至很多网站打开不完全,Safari 浏览器默认是不支持 Flash 视频播放的,今天macz小编为大家介绍如何安装 Flash 插件及播放。 1.打开某个视频网站,会发现网页提示缺少插件,不能播放视频。 2.这时候就可以点击缺少插件的按钮,会弹出窗口提示此网页上的内容需要的插件。 3.点击更多信息,此时浏览器会自动跳转至 Flash 安装页面。 4.点击右下角的立即安装,稍等片刻文件就会下载完成。 5.点击

macxingchendahai的博客 9620

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

html怎么导入flash视频,DW如何在网页中插入Flash视频?

在 Dreamweaver 的“文档”窗口中打开 index.html 页面,插入一个三列的表格,在由三列组成的表格的中间一列中放置的图形之上单击一次。选择“插入”>“媒体”>“Flash 视频”。在“插入 Flash 视频”对话框中,从“视频类型”弹出式菜单中选择“渐进式下载视频”。 关于…关于 Flash 视频 使用 Dreamweaver 中的“插入 Flash 视频”命令,可将...

weixin_39670246的博客 1174

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

jsp网页视频播放器

最近在做一个类似优酷在线播放的网站。视频上传部分已经解决,用的是structs2自带的上传组件,然后就开始做视频播放部分。参考了目前主流的视频网站,他们的视频基本上都是基于flv的,因为它形成的文件极小、加载速度极快,使得网络观看视频文件成为可能,它的出现有效地解决了视频文件导入Flash后,使导出的SWF文件体积庞大,不能在网络上很好的使用等缺点。   目前许多在线视频网站都采用此视频格式。如

操千曲而后晓声,观千剑而后识器 1250
上一篇: IE Security Zone与Proxy的关系
下一篇: ios上libevent在dns解析时崩溃的解决
optman
博客等级 码龄26年 64粉丝 128原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值