`

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

阅读更多

如何让网页上的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);

分享到:
评论

相关推荐

    右下角播放弹出视频播放窗口

    "视频"代表这是一个与视频播放相关的技术,而“弹出”则强调了它的交互方式,即在用户界面中以弹出窗口的形式显示。 根据压缩包内的文件名称,我们可以推测其包含以下组件: 1. `16sucai_style.css`:这可能是整个...

    网页Flash背投广告和强制弹出窗口代码.rar

    网页Flash背投广告和强制弹出窗口是网络广告设计中的一种常见手法,尤其在早期互联网时代,Flash技术广泛应用于创建动态、吸引人的广告内容。这些技术的运用旨在提高广告的可见性和互动性,从而增加品牌曝光率和用户...

    支持视频、图片弹出窗口代码

    在IT行业中,创建一个支持视频、图片弹出窗口的代码是一项常见的需求,它能提供良好的用户体验,让用户在不离开当前页面的情况下查看多媒体内容。标题提到的"支持视频、图片弹出窗口代码"就是针对这种需求的解决方案...

    jQuery 弹出窗口 模式窗口 模式层

    总之,jQuery弹出窗口和模式层技术是现代网页设计不可或缺的一部分,它们使得网站能够以更加直观、引人入胜的方式与用户进行交互。无论你是初学者还是经验丰富的开发者,理解并熟练掌握这些插件的使用方法都将对你的...

    JQuery弹出窗口小插件ColorBox

    综上所述,`jQuery ColorBox`以其灵活的配置、丰富的功能和出色的用户体验,成为了网页开发中弹出窗口解决方案的首选之一。无论你是新手还是经验丰富的开发者,都可以轻松上手并充分利用这个插件来提升你的项目品质...

    使用Dreamweaver8在网页中插入Flash视频参考.pdf

    在弹出的“插入Flash视频”对话框中,有两个视频类型供选择:“渐进式下载视频”和“流视频”。前者允许视频在下载过程中就开始播放,而后者则需要Flash Communication Server支持以实现即时流式传输。对于大多数...

    thickBox 基于jquery的超轻量级插件,点击图片、登陆、等类似弹出窗口,

    当用户点击触发元素(如图片或按钮)时,`ThickBox`会将指定的内容(如图片、网页或者视频)嵌入到这个弹出窗口中。它支持多种类型的媒体,包括图片、HTML页面、IFrame、Flash以及YouTube视频等。 二、核心功能 1....

    广告特效代码4款(弹出式窗口)DIV+CSS

    气泡式弹出窗口是一种流行的设计形式,它们通常以半透明或带有边框的小窗口形式出现,内容可以是文本、图片、视频甚至Flash动画。这种设计允许用户在不离开当前页面的情况下查看或互动,提升了网页的互动性和功能性...

    AJAX弹出动态加载网页和图像的窗口源代码

    这是一个非常酷的弹出对话框程序,用于网页设计中,在弹出对话框时,他会让原来的页面以半透明状显示,然后,在同一页面中弹出一个新的对话框,在其中使用AJAX动态加载网页,或者图片等等。包含完整的使用例子和说明...

    30个网页常用FLASH特效源代码打包

    9. 弹出窗口或提示框:用于显示信息、提示或警告,不打断主页面浏览。 10. 图表和统计可视化:用动画形式展示数据,便于理解。 每一份.FLA源代码都是一个学习和借鉴的宝贵资源,开发者可以通过研究这些代码,理解...

    某地域风情公司FLASH网页模板

    4. **网页特效**:网页特效是通过编程或预设动画实现的视觉效果,例如滑动菜单、弹出窗口、平滑滚动、3D效果等,可以增强用户浏览体验。 5. **ActionScript**:ActionScript是Flash开发中使用的脚本语言,用于控制...

    页面右下角弹出式 视频广告

    页面右下角弹出式视频广告是一种常见的网页广告形式,它在用户浏览页面时,通常在页面的右下角突然出现一个小窗口,展示一段视频内容。这种广告设计旨在吸引用户的注意力,同时尽量不打扰到他们对主要内容的浏览。在...

    浏览器不能自动播放视频提示点击即可启用adobe flash player的解决方法.pdf

    5. 点击“管理例外情况”按钮,然后在弹出的窗口中添加需要启用Flash的特定网站地址,如YouTube等,并设置行为为“允许”。 6. 完成设置后,保存更改。这样,指定的网站可以正常播放Flash内容,而其他网站则不会自动...

    教你怎样获取网页中视频的链接地址.pdf

    - 如果遇到弹出窗口大小不可调整,可以尝试最大化窗口或在临时文件夹中寻找源文件。 - 地址不完整时,可以自行添加网站地址前缀,或者通过其他已知可下载的链接作为参考。 2. RealPlayer 流媒体网址获取: 使用 ...

    veeqi_flash_10.20

    1. **动态效果**:Flash允许开发者创建丰富的动态效果,如动画过渡、滑动菜单、弹出窗口等,极大地提升了用户体验,使得用户在浏览网页时能更直观地理解和操作导航。 2. **交互性**:Flash组件可以与用户进行交互,...

    flash插件卸载工具

    Flash插件,全名Adobe Flash Player,是一款广泛应用于各类网页浏览器的多媒体播放器,它能够支持播放动画、视频以及交互式内容。随着互联网技术的发展,HTML5逐渐取代了Flash,因为HTML5在性能、安全性和移动端支持...

    Windows8系统中播放网页视频没声音怎么办?.docx

    在“常规”选项卡中,选择“删除浏览记录”,在弹出的窗口中,确保选中“临时互联网文件”、“历史记录”、“Cookie”和“ActiveX筛选数据”,然后点击“删除”。完成清理后,关闭并重新启动浏览器。 3. **重置IE...

    网站开发常用广告flash脚本(8个很值)

    在描述中提到的8个不同的Flash脚本,可能包括各种类型的广告样式,如滑动横幅、弹出窗口、旋转木马式展示等,每个都有其独特的效果和应用场景。 1. 滑动横幅:这是一种常见的广告形式,通过脚本控制多个广告图片在...

    Windows Update升级后不能显示Flash Player内容.docx

    综上所述,当遇到Windows Update升级后无法显示Flash Player内容的问题时,用户可以通过启用相关的ActiveX控件和调整弹出窗口设置来解决。同时,对于持续存在的问题,建议查阅官方文档或寻求专业技术支持。

    第13章多媒体与网页特效.pptx

    插入 Flash 视频的步骤是:打开【插入】面板,单击【常用】选项卡中的【媒体:Flash 】按钮,弹出【插入 Flash 视频】对话框,然后指定 .flv 文件的相对路径,选择外观皮肤,设置视频的宽度和高度,最后单击【确定】...

Global site tag (gtag.js) - Google Analytics