国内大部分浏览器都支持视频弹出播放功能,但是网上却没有类似的例子。

在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# 实现优酷视频弹出小窗口播放相关推荐

  1. html生成小窗口,用JS制作9种弹出小窗口(HTML)

    进入许多网站时,有弹出式小窗口,它们五花八门,使我们捉摸不透下面就来介绍用JS制作9种制作弹出小窗口: 1.最基本的弹出窗口代码 其实代码非常简单: window.open ("page.h ...

  2. JS设置弹出小窗口。

    经常上网的朋友可能会到过这样一些网站,一进入首页立刻会弹出一个窗口,或者按一个连接或按钮弹出,通常在这个窗口里会显示一些注意事项.版权信息.警告.欢迎光顾之类的话或者作者想要特别提示的信息.其实制作这 ...

  3. 怎么让优酷视频在网页中自动播放方法

    优酷视频在网页中自动播放: 方法一 1.首先在优酷复制得到欲贴视频的代码, <embed src="http://player.youku.com/player.php/sid/XMz ...

  4. html点击按钮弹出悬浮窗_JS设置弹出小窗口。

    经常上网的朋友可能会到过这样一些网站,一进入首页立刻会弹出一个窗口,或者按一个连接或按钮弹出,通常在这个窗口里会显示一些注意事项.版权信息.警告.欢迎光顾之类的话或者作者想要特别提示的信息.其实制作这 ...

  5. JS制作9种制作弹出小窗口

    进入许多网站时,有弹出式小窗口,它们五花八门,使我们捉摸不透下面就来介绍用JS制作9种制作弹出小窗口: 1.最基本的弹出窗口代码         其实代码非常简单:         < SCRI ...

  6. JS教程()js弹出小窗口(没有浏览器窗口地址栏,工具栏,菜单栏,显示栏,只有关闭和最小化按钮)

    使用js弹出小窗口(没有浏览器窗口地址栏,工具栏,菜单栏,显示栏,只有关闭和最小化按钮)代码如下:<input type="text" name="ok" ...

  7. html自动弹出一个小窗口,JS弹出小窗口实例

    JS弹出小窗口实例 演示地址: 具体代码: -//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1 ...

  8. flexible wincc 弹窗_wincc flexible弹出小窗口怎么做?

    比如我在画面有2个按钮,按后分别会弹出各自的小窗口,按1按钮弹出小窗口,里面有几个选择按钮,如果此时再按2按钮,1按钮的小窗口会自动关闭弹出2按钮对应的小窗口. 最佳答案 你的窗口1对应一个bool变 ...

  9. 网页引用优酷视频并添加封面自动播放

    引用优酷视频可以减轻公司的服务器压力,而且和自己上传保存视频相比会方便轻松许多,不过相对的需要忍受广告. 首先你需要在优酷里找到你要引用的视频,或者自己上传.然后打开会有一个分享按钮: 以我使用的第二 ...

最新文章

  1. java基础进阶一:String源码和String常量池
  2. Semantic UI
  3. ASP.NET MVC 2 验证
  4. vue 将行转换成对象_Vue简化版实现
  5. leecode之aoti
  6. linux重新开始学习
  7. 51nod1437 迈克步
  8. 我的家乡主题网页设计
  9. 现场取证之流量分析总结
  10. Linux高可用集群搭建
  11. postgresql 日期相减
  12. 用Android-X86和VirtualBox打造高性能Android开发环境
  13. maven下载jar包下载不下来的解决方法
  14. springboot中使用generator自动生成mybatis的接口、实体类和映射文件-springboot学习笔记
  15. 35、sparkSQL及DataFrame
  16. Putty的噩梦——渗透工具PuttyRider使用心得分享
  17. QAD任命新大中华区董事总经理
  18. Discuz!教程之添加自定义广告位
  19. 谷歌地图Api部分使用
  20. 在Ubuntu 18.04 LTS安装ROS 2 Bouncy版机器人操作系统

热门文章

  1. 优大麦自动接单软件助手神器
  2. windows php open_basedir,PHP open_basedir的一些问题
  3. 正常开机但无法进入桌面的问题
  4. 湖南大学计算机网络实验二------水
  5. c语言常用条件判断,C语言菜鸟基础教程之条件判断
  6. 民办双非二本学院,能有多少人上岸计算机研究生?看文华学院信息学部2022考研光荣榜...
  7. html5blog简单特效代码,个人博客网站背景视觉滚动特效代码
  8. Ansys-静力学分析-圆轴扭转的学习体会
  9. XP停止更新,腾讯电脑管家已于2月底推出了“扎篱笆”计划
  10. 拨动心弦的鲜花摄影作品欣赏