WebBrowser控件跨域访问页面内容
原文出处 :http://blog.csdn.net/nocky/article/details/6056802
源码出处:http://www.codecentrix.com/blog/wnd2doc_csharp/GetDocumentFromWindowCsharp.zip
原作者的博客:http://codecentrix.blogspot.com/
现整理:
经过一天的折腾发现最后还是IE策略给限制了跨域访问,之前使用编程的办法和植入Script代码的办法,都是拒绝访问的。
不过现在用了下边的方法就可以解决了,代码也不多。Dll和代码均在工程文件里
//注意,需要手动引用 Interop.SHDocVw.dll,和.net 自带的Microsoft.mshtml
下边是实例:
using mshtml;
//需要调用的Frame
IHTMLWindow2 win = (IHTMLWindow2)webBrowser1.Document.Window.Frames["frame_some"].DomWindow;
//获得Iframe doc
IHTMLDocument2 doc = CodecentrixSample.CrossFrameIE.GetDocumentFromWindow(win);
//body的信息
MessageBox.Show(doc.body.innerHTML);
//填充input
mshtml.IHTMLElementCollection inputs;
inputs = (mshtml.IHTMLElementCollection)doc.all.tags("INPUT");
mshtml.IHTMLElement element = (mshtml.IHTMLElement)inputs.item("txt_msg", 0);
mshtml.IHTMLInputElement inputElement = (mshtml.IHTMLInputElement)element;
inputElement.value = "填充信息";
WebBrowser控件跨域访问页面内容相关推荐
- webbrowser控件 有数据 但页面空白_如何在Excel中实现可以切换不同数据系列的滚珠图?...
▲更多精彩内容,请点击上方Excel小铲子▲ 操作系统版本 Windows 10 64位 Excel版本 Microsoft Excel 2016 64位 案例文档下载 链接:https://pan. ...
- 英文操作系统下WebBrowser控件无法显示本地页面的解决方法
解决方法有两种: 1.将程序安装在英文路径即页面全路径中不含中文. 2.修改系统区域设置,改为中国,具体如下: Control Panel->Region and Language Format ...
- C#控件跨线程内容更新
在使用C#开发winform应用程序时,经常会碰到对控件跨线程访问造成的异常.在winform中UI线程和工作线程是分开的,但在实际使用中经常会需要在工作线程更新UI线程中创建的控件. 方法1:禁用跨 ...
- 解决WebBrowser控件会导致应用程序占用内存居高不下问题
WebBrowser 是一个 .NET 控件类,在 .NET Framework 2.0 版中新增.WebBrowser 类使用户可以在窗体中导航网页,下面我们来看在开发中碰到WebBrowser控件 ...
- phonegap jQuerymobile 跨域访问
1.phonegap不存在跨域访问问题,原因是phonegap使用的是 file:// 协议,Phonegap wiki里面说: "The cross-domain security pol ...
- VB webbrowser 控件的应用(跨域 内嵌网页元素的访问)
自动登录财付通,难点在于会出现验证码,并且验证码页是在iframe元素下的,出于各种安全考虑,webbrowser控件不提供这种访问机制!当然,第一想到的是将这个网页拿出来,可是输入完毕验证码后,点击 ...
- Silverlight 2 跨域访问控件与WebService的资料整理
跨域访问控件: In other words, a page retrieved from somehost containing a Silverlight object tag with sour ...
- 如何跨服务器访问html 页面,html页面如何跨域访问另一页面内容,并将部分内容呈现出来?...
html代码: 简介 我需要将接口界面的部分内容,显示在id为p4的块中,我自己这边服务器请求是跨域访问,如何操作? jquery ajax来完成,load()方法不能跨域,所以不能用:我自己的代码如 ...
- html的页面怎样直接跨域访问,【HTML】iframe跨域访问问题
概述 本地同一浏览器访问本地HTML文件和访问服务器端HTML文件,本地Iframe没有自适应高度,而服务器端的Ifrane自适应了高度. 1.问题重现: Chrome 版本 41.0.2272.10 ...
最新文章
- 语言都是相通的,学好一门语言,再学第二门语言就很简单,记录一下我复习c语言的过程。...
- [MySQL]Every derived table must have its own alias
- 从春晚说起:总有一种无耻让我们泪流满面
- 中国最懂自动驾驶量产公司秀肌肉:自动驾驶算力怪兽、百亿参数云端超大模型、百万公里路测里程...
- 操作电脑小心“伤”手
- 12行代码AC——UVa 151 - Power Crisis(约瑟夫环)
- Java高并发之锁优化
- apache rewrite机制
- Oracle Database 11g 数据库普通用户登录时提示 ORA-28002: the password will expire within 5 days
- django在window和linux,从windows导入Django项目到linux时出错
- python urlopen错误_urlopen()出错
- Atitit 价值观与理念总结 Diy自力更生尽可能 提高独立性 减少依赖 大而全优先于小而美 适度分权防止集权导致大决策失误 方式多种多样 综合是王道 简单快速优先 努力实现人们喜闻乐见的服务 信
- ViewStub 简介
- Editplus从下载到使用
- 关于LANP的相关常识题
- 大型企业开发的ERP系统主要包括几个模块
- Python 实现局域网视频聊天工具
- 在Java语言的if语句是什么表达式,if语句中的条件表达式中只能使用
- casual Convolution 和 dilated Convolution
- Give up sending metadata request since no node is available
热门文章
- OpenCV霍夫直线houghlines点集的实例(附完整代码)
- C++使用位操作将数字乘以7的算法实现(附完整源码)
- OpenGL 加载模型Model
- C++用递归实现链表的逆转(附完整源码)
- C++多态案例二-制作饮品
- C++构造及析构执行顺序
- 匿名函数,结合闭包的写法,js对象的案例
- 3Linux内存映射,mmap()函数
- 一个base.css
- 百米路由器2登陆地址_女孩子也要会的无线路由器连接技巧,再也不求男生了...