C# 实现优酷视频弹出小窗口播放
国内大部分浏览器都支持视频弹出播放功能,但是网上却没有类似的例子。
在2012年过年的时候,闲着没事,写了一个。支持部分优酷的视频弹出播放。
提供两个核心的类,当然还是需要其他类来完成。这是一个思路,需要网站的可以找我拿源码!
这应该算是首发吧,请各位网友转载时注明来源,尊重作者版权。-by潘敬
代码:
WebElem.cs 主要负责获取视频对象的elem实例
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing;
namespace MyWebBrowser
{public class WebElem{public WebElem(HtmlDocument document,bool scroll){this.Document = document;//取消滚动条if(scroll)document.GetElementsByTagName("html")[0].Style = "overflow:hidden";}public WebElem(HtmlDocument document){this.Document = document;document.GetElementsByTagName("html")[0].Style = "overflow:hidden";}private string _name;private string _obj;public HtmlDocument Document { set; get; }public HtmlElement FindElement(string name,string obj){_name = name;_obj = obj;HtmlElement _elem=null;//需要添加异常处理foreach (HtmlElement elem in Document.GetElementsByTagName(_name)){if (elem.Id == _obj){_elem = elem;int top = 0;int left = 0;HtmlElement _parent = null;_parent = elem.Parent;//循环取得父容器元素直到为空while (_parent != null){top += _parent.OffsetRectangle.Top;left += _parent.OffsetRectangle.Left;_parent = _parent.Parent;}this.Rectangle = elem.OffsetRectangle;this.Top = top;this.Left = left;break;}}return _elem;}public HtmlElement FindElement(string name){_name = name;HtmlElement _elem = null;//需要添加异常处理foreach (HtmlElement elem in Document.GetElementsByTagName(_name)){_elem = elem;int top = 0;int left = 0;HtmlElement _parent = null;_parent = elem.Parent;//循环取得父容器元素直到为空while (_parent != null){top += _parent.OffsetRectangle.Top;left += _parent.OffsetRectangle.Left;_parent = _parent.Parent;}this.Rectangle = elem.OffsetRectangle;Left = left;Top = top;MessageBox.Show(left+"");break;}return _elem;}public Rectangle Rectangle { set; get; }public int Top { set; get; }public int Left { set; get; }}}
FrmVideo.cs 主要是用来显示视频的
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MyWebBrowser;
using System.Runtime.InteropServices;namespace WebVideo
{public partial class FrmVideo : Form{public FrmVideo(){InitializeComponent();this.Resize += new EventHandler(Form4_Resize);this.Load += new EventHandler(Form4_Load);OnUnload += new Unload(FrmVideo_OnUnload);SystemMenu.InitMenu(this);}//SystemMenuprotected override void WndProc(ref Message m){if (m.Msg == SystemMenu.WM_SYSCOMMAND){switch (m.WParam.ToInt32()){case SystemMenu.IDM_EDITFUNDS:if (this.TopMost == true){this.TopMost = false;this.Text = ((WebBrowser)Controls[0]).DocumentTitle;}else{this.Text = ((WebBrowser)Controls[0]).DocumentTitle + " [置顶]";this.TopMost = true;}break;default:break;}}if (m.Msg == 0x0014) // 禁掉清除背景消息return;base.WndProc(ref m);}//End SystemMenuvoid FrmVideo_OnUnload(object sender, FormClosingEventArgs e){}public delegate void Unload(object sender, FormClosingEventArgs e);public event Unload OnUnload;void Form4_Load(object sender, EventArgs e){Elem.Style = string.Format(" position: absolute;left:0px;top:0px;height:{0}px;width:{1}px", this.Height - 35, this.Width - 15);//标题设置this.Text=((WebBrowser)Controls[0]).DocumentTitle+" [置顶]";}void Form4_Resize(object sender, EventArgs e){Elem.Style = string.Format(" position: absolute;left:0px;top:0px;height:{0}px;width:{1}px;z-index:1000000000", this.Height - 35, this.Width - 15);}public HtmlElement Elem {get {WebElem elem = new WebElem(this.Document);return elem.FindElement("DIV", "player");}}public HtmlDocument Document { set; get; }private void Form4_FormClosing(object sender, FormClosingEventArgs e){//f2.Controls.Add(this.Controls[0]);Elem.Style = "";Document.GetElementsByTagName("html")[0].Style="";OnUnload(this,e);}private void FrmVideo_Load(object sender, EventArgs e){this.ShowIcon = false;}}
}
转载请注明来源。
C# 实现优酷视频弹出小窗口播放相关推荐
- html生成小窗口,用JS制作9种弹出小窗口(HTML)
进入许多网站时,有弹出式小窗口,它们五花八门,使我们捉摸不透下面就来介绍用JS制作9种制作弹出小窗口: 1.最基本的弹出窗口代码 其实代码非常简单: window.open ("page.h ...
- JS设置弹出小窗口。
经常上网的朋友可能会到过这样一些网站,一进入首页立刻会弹出一个窗口,或者按一个连接或按钮弹出,通常在这个窗口里会显示一些注意事项.版权信息.警告.欢迎光顾之类的话或者作者想要特别提示的信息.其实制作这 ...
- 怎么让优酷视频在网页中自动播放方法
优酷视频在网页中自动播放: 方法一 1.首先在优酷复制得到欲贴视频的代码, <embed src="http://player.youku.com/player.php/sid/XMz ...
- html点击按钮弹出悬浮窗_JS设置弹出小窗口。
经常上网的朋友可能会到过这样一些网站,一进入首页立刻会弹出一个窗口,或者按一个连接或按钮弹出,通常在这个窗口里会显示一些注意事项.版权信息.警告.欢迎光顾之类的话或者作者想要特别提示的信息.其实制作这 ...
- JS制作9种制作弹出小窗口
进入许多网站时,有弹出式小窗口,它们五花八门,使我们捉摸不透下面就来介绍用JS制作9种制作弹出小窗口: 1.最基本的弹出窗口代码 其实代码非常简单: < SCRI ...
- JS教程()js弹出小窗口(没有浏览器窗口地址栏,工具栏,菜单栏,显示栏,只有关闭和最小化按钮)
使用js弹出小窗口(没有浏览器窗口地址栏,工具栏,菜单栏,显示栏,只有关闭和最小化按钮)代码如下:<input type="text" name="ok" ...
- html自动弹出一个小窗口,JS弹出小窗口实例
JS弹出小窗口实例 演示地址: 具体代码: -//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1 ...
- flexible wincc 弹窗_wincc flexible弹出小窗口怎么做?
比如我在画面有2个按钮,按后分别会弹出各自的小窗口,按1按钮弹出小窗口,里面有几个选择按钮,如果此时再按2按钮,1按钮的小窗口会自动关闭弹出2按钮对应的小窗口. 最佳答案 你的窗口1对应一个bool变 ...
- 网页引用优酷视频并添加封面自动播放
引用优酷视频可以减轻公司的服务器压力,而且和自己上传保存视频相比会方便轻松许多,不过相对的需要忍受广告. 首先你需要在优酷里找到你要引用的视频,或者自己上传.然后打开会有一个分享按钮: 以我使用的第二 ...
最新文章
- java基础进阶一:String源码和String常量池
- Semantic UI
- ASP.NET MVC 2 验证
- vue 将行转换成对象_Vue简化版实现
- leecode之aoti
- linux重新开始学习
- 51nod1437 迈克步
- 我的家乡主题网页设计
- 现场取证之流量分析总结
- Linux高可用集群搭建
- postgresql 日期相减
- 用Android-X86和VirtualBox打造高性能Android开发环境
- maven下载jar包下载不下来的解决方法
- springboot中使用generator自动生成mybatis的接口、实体类和映射文件-springboot学习笔记
- 35、sparkSQL及DataFrame
- Putty的噩梦——渗透工具PuttyRider使用心得分享
- QAD任命新大中华区董事总经理
- Discuz!教程之添加自定义广告位
- 谷歌地图Api部分使用
- 在Ubuntu 18.04 LTS安装ROS 2 Bouncy版机器人操作系统
热门文章
- 优大麦自动接单软件助手神器
- windows php open_basedir,PHP open_basedir的一些问题
- 正常开机但无法进入桌面的问题
- 湖南大学计算机网络实验二------水
- c语言常用条件判断,C语言菜鸟基础教程之条件判断
- 民办双非二本学院,能有多少人上岸计算机研究生?看文华学院信息学部2022考研光荣榜...
- html5blog简单特效代码,个人博客网站背景视觉滚动特效代码
- Ansys-静力学分析-圆轴扭转的学习体会
- XP停止更新,腾讯电脑管家已于2月底推出了“扎篱笆”计划
- 拨动心弦的鲜花摄影作品欣赏