今天偶然看到一篇老外的BLOG,讲如何直接将HTML注入到IE的新窗口中去.什么意思呢?其实就是这样,
在.net中,通过调用IE的对象模型(COM的),首先在.NET中,添加对COM的引用,加入Microsoft Internet Controls and Microsoft HTML Object Library. , 之后的代码为
public void DisplayHTML(string html)
{
// Open up a new Internet Explorer.
SHDocVw.InternetExplorer ie = new SHDocVw.InternetExplorerClass();
SHDocVw.IWebBrowserApp wb = (SHDocVw.IWebBrowserApp) ie;
wb.Visible = true;
object noValue = System.Reflection.Missing.Value;
wb.Navigate("about:blank", ref noValue, ref noValue, ref noValue, ref noValue);
// Get access to its document.
mshtml.IHTMLDocument2 htmlDoc2 = ie.Document as mshtml.IHTMLDocument2;
// Update the document.
htmlDoc2.writeln(html);
htmlDoc2.close();
}
调用的方法
DisplayHTML("<title>Browser Demo</title><b>Hello</b><br><i>world</i>");
呵呵,其实也挺简单的,就是向方法中传入HTML串,然后调用IE对象模型的一些方法,打开一个IE新窗口,显示里面的内容,但可惜其中的一些参数我还没找到介绍.这用在什么地方呢?呵呵,用在WINFORM中比较好,可以在WINFORM中调用IE了.
分享到:
相关推荐
文件列表中的"连接IE浏览器窗口的代码.mht"很可能包含了一个MHTML(多用途互联网邮件扩展类型)文件,这是一种单一文件格式,可以保存网页的全部内容,包括HTML、图像和其他资源。这个文件可能是一个包含了具体实现...
同样,借助IWebBrowser2接口,开发者可以插入自定义的工具栏按钮,这些按钮可以触发特定的动作,如打开新窗口、打印当前页面或者执行任何与IE浏览器兼容的命令。在实现过程中,需要处理按钮的点击事件,这通常涉及...
4. **显示结果**:获取搜索引擎返回的HTML结果后,可以将其注入到一个新的浏览器窗口或者在当前页面内显示。 **五、网络编程挑战** 开发这样的功能时,开发者可能会遇到的一些挑战包括: 1. **安全性和权限**:...
BHO使得开发者能够创建自定义的组件,这些组件可以集成到IE中,从而增强或修改浏览器的行为。 #### 二、关于软件定制(Program Customization) 传统的软件定制方法通常涉及窗口子类化,这是一种允许开发者更改现有...
《ieBetter:为老旧的IE6-8注入现代浏览器特性》 在互联网发展的早期,Internet Explorer(简称IE)是占据主导地位的浏览器,尤其是IE6、IE7和IE8版本,它们在当时广泛使用但技术上已经落后。然而,随着Web技术的...
在IE中,BHO作为一种定制手段,可以实现诸如添加工具栏、改变右键菜单、拦截页面加载、注入JavaScript等众多功能。通过BHO,开发者能够实现对浏览器界面、行为和功能的深度定制。 三、什么是BHO? BHO是COM...
然后返回转换后的URL给前端,前端再在新窗口或者IFrame中加载。 2. **插件/控件**:使用ActiveX(IE)、Silverlight(已过时)或者Flash等技术提供预览控件。这种方式通常需要用户安装相应的插件,现在已不太常用,...
PB9_Webkit_DEMO.zip 是一个压缩包文件,它包含了一个基于Webkit技术的控件DEMO,用于在PowerBuilder 9(简称PB9)环境中实现非IE浏览器内核的网页显示功能。Webkit是一种开源的网页渲染引擎,被广泛应用于Safari、...
随着HTML5的出现,`MessageChannel`和`postMessage`API为跨窗口和跨框架的数据通信提供了新的途径。在MFC应用中,可以监听`CHtmlView`的`BeforeNavigate2`事件,注入一个`<iframe>`,并在其中加载带有`...
这是因为JavaScript在页面加载过程中有一个短暂的机会窗口,可以使用旧页面的权限对新加载页面的内容进行操作。这包括但不限于读取或设置`document.cookie`、修改表单提交的URL、注入代码以及可能导致内存破坏的操作...
Chrome Frame 会把最新版的Chrome Webkit 内核和JavaScript 引擎注入到IE中, IE浏览器将获得Chrome的性能和功能 目录 摘要 I ABSTRACT II 专业名词清单 III 第一章 绪论 1 1.1 研究背景与意义 1 1.2国内外相关...
在传统的Web开发中,由于同源策略的限制,不同源的页面或者窗口之间无法直接进行通信,但`postMessage`提供了一个安全且灵活的解决方案。 1. **跨域数据传递**: - `postMessage`方法允许来自不同源的脚本进行异步...
a)防止ASP木马和木马图片,清晰的后台界面 超级管理员的二级密码验证 b)SQL注入记录IP和注入信息(有待改进啊...高手指点) c)表单SQL过滤 13.超快速无组件上传功能(比原装化境快50倍,通过原化境和网上资料修改而...
9. **HTML注入**:在文档中注入隐藏的`input`元素和`div`元素,这可能是为了绕过某些浏览器的广告拦截机制。 10. **编码解码**:`fV6`函数用于Base64编码和解码,这部分可能是为了隐藏或加密部分代码内容,使其不...
实例241 在弹出的新窗口中选择图片 372 8.6 在页面中播放图片 374 实例242 幻灯片式播放图片 374 实例243 无间断的图片循环滚动效果 376 8.7 图片的其他效果 377 实例244 导航地图 377 8.8 播放音乐 378 实例245 为...
标签中提到的"geckofx"是该项目的核心库,"IE"代表Internet Explorer,可能是因为Geckofx与IE的WebBrowser控件相比,提供了更现代和标准的Web渲染能力。而"浏览器"标签则强调了这个库的主要应用场景——构建带有内置...
Cairo是一个跨平台的2D图形库,常用于创建高质量的图形输出,包括PDF文档、SVG图像和窗口系统上的图像。在WebKitBrowser中,Cairo可能用于处理图形渲染和页面布局,以实现平滑的滚动和高质量的图像展示。 综上所述...
2. **禁用条件注释**:由于respond.js依赖于HTML5的`<meta>`标签来处理媒体查询,所以需要确保在老版IE中禁用传统的条件注释,以防止它们覆盖或忽略响应式设置。 3. **使用min-width**:respond.js主要支持`min-...
**标题解析:** "vs2017 MFC Webview2 Edge" 指的是使用Visual Studio 2017中的Microsoft Foundation Classes (MFC)框架来集成和操作Edge浏览器的新特性WebView2。 **描述详解:** 在描述中,提到了两个关键点: 1....
1. **静态链接库**:文件名中的“静态版”意味着这些库是静态链接的,这意味着开发者在编译应用时会将库的代码直接合并到他们的可执行文件中。这样做的优点是不需要在目标系统上安装额外的库文件,但可能导致生成的...