关于MSHTML_Html格式

关于MSHTML_Html格式本文翻译自http://msdn.microsoft.com/workshop/browser/mshtml/overview/overview.aspMSDNHome>MSDNLibra

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺


本文翻译自
http://msdn.microsoft.com/workshop/browser/mshtml/overview/overview.asp

MSDN Home > 
MSDN Library > 
Programming and Reusing the Browser > 
Overviews/Tutorials

关于MSHTML

訪问动态HTML(DHTML)对象模型的全部接口以IDispatch为基类,并且也是被用于脚本的对象模型的基础。因此对要操纵对象模型的不论什么人来说都非常重要的是熟悉定义在动态的HTML介绍的概要和MSHTML包括的对象模型參考中的结构和功能。

MSHTML參考接口和脚本对象这一节说明了对象怎样在DHTML对象模型里面映射到接口。举例来说,使用这一个映射,你能够看到IHTMLDocument2接口映射到文档对象。对接口的进一步的研究说明了怎样通过get_put_方法訪问对象的属性。对象的方法映射到可用的接口的方法,并且事件能够用标准的对OLE自己主动化连接点来捕获。

怎样使对象模型接口的样例的演示在Colbtn、Driller和WalkAll演示样例中,这些演示样例在Colbtn演示样例源码页面Driller演示样例源码页面WalkAll演示样例源码页面上。

  • 使用接口的建议
  • 获得文档接口
  • 使用文档接口
  • 相关的主题

使用接口的建议

通常,在文档中能够用脚本完毕的不论什么事都能够通过使用接口操纵对象模型来完毕。因此推荐在写使用对象模型接口的代码之前, 开发人员应该在一个 HTML文档里面使用脚本设计功能原型。

下列HTML样例说明怎样用脚本导航文档的all集合并且获得文档的每一个元素的标签名字。等价的使用对象模型接口的Microsoft (R) Visual C++(R)的代码演示样例在Driller演示样例源码页面WalkAll演示样例源码页面上能够找到。

样例

<HTML>

<HEAD>

<TITLE>Page Title</TITLE>

</HEAD>

<SCRIPT LANGUAGE=”JavaScript”>

function Loaded()

{

    var c = document.all.length;

    var i;

    for(i = 0; i < c; i++)

    {

        spanTAGS.innerHTML = spanTAGS.innerHTML + document.all.item(i).tagName + “<BR>”;

    }

}

</SCRIPT>

<BODY onload=”Loaded()”>

<SPAN id=”spanTAGS”></SPAN>

</BODY>

</HTML>

获得文档接口

要開始使用对象模型接口,就要从文档获得IHTMLDocument2接口。一旦你有了这个接口,你就能存取文档中全部的元素。怎样获得文档接口依赖于你的应用程序的实现。下列场合都须要以不同的方式获得文档接口。

  • 集成MSHTML时
  • 集成浏览器控件的一个实例时。
  • 从一个网页中包括的一个Microsoft ActiveX(R)控件。

集成MSHTML时获得文档接口

当集成一个MSHTML对象的时候,使用 CoCreateInstance创建HTML文档对象。 一旦创建了对象,你能够调用它的QueryInterface 方法,请求IID_IHTMLDocument2。WalkAll演示样例源码页面的WalkAll演示样例说明了实现方法。

集成浏览器控件时获得文档接口

当集成浏览器控件的时候,运行下列步骤获得文档接口:

  1. 调用 IWebBrowser2::get_Document 获得文档的 IDispatch 接口。(译者注:MFC的CHtmlView的GetHtmlDocument方法,浏览器控件的Document属性或者DHtmlEdit控件的DOM属性也能够用于获取文档接口)
  2. 调用在前面步骤中获得的IDispatch指针的的QueryInterface,请求IID_IHTMLDocument2。

从ActiveX控件获得文档接口

ActiveX文档的存取动态HTML这一节解释了怎样从ActiveX (R)控件获得文档接口。

使用文档接口

使用文档接口

一旦你获得了文档接口,你就能够使用不论什么一个IHTMLDocument2接口获得或改动文档的属性。这通常包括从文档包括的不同的元素中得到一些IHTMLElementCollection接口。

一个很普遍的集合对象是all集合对象。all集合对象是通过使用IHTMLDocument2::all 方法获得的。 这种方法返回一个包括文档的全部元素的IHTMLElementCollection接口。然后你能够使用IHTMLElementCollection::item方法枚举元素。 IHTMLElementCollection::item方法为你提供一个能够用于调用QueryInterface,请求IID_IHTMLElement的IDispatch指针。这将会返回给你一个你能用来为个别的元素获得或设置信息的IHTMLElement接口指针。

大多数的元素提供一个接口操纵那个特定的元素。这些元素相关的接口名字具有IHTMLXXXXElement的格式,这里XXXX是元素的名字。要获得元素的相应接口,能够在IHTMLElement接口上调用QueryInterface,请求被须要的元素相关的接口。举例来说,img 元素提供一个IHTMLImgElement接口以可能用来明白地操纵img元素。假设要查看可用的元素相关的接口列表,能够查看接口和脚本对象的接口列表。

相关的主题

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/167444.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 扩频调制matlab仿真

    扩频调制matlab仿真扩频调制1.扩频调制概念2.仿真代码(matlab)2.1主程序2.2产生m序列函数3.实验结果1.扩频调制概念扩展频谱是指将信号的频谱扩展至占用很宽的频带,简称扩频。扩展频谱通信系统是将基带信号的频谱通过某种调制扩展到远大于原基带信号带宽的系统。扩展频谱技术一般可以分为三类:1.直接序列扩谱,它通常用一段伪随机序列表示一个信息码元,对载波进行调制。2.跳频扩谱,它是发射机的载频在一个信…

    2022年5月8日
    54
  • 希尔排序是一种…排序方法_希尔排序法属于

    希尔排序是一种…排序方法_希尔排序法属于1,有关插入排序(1)插入排序的基本方法是:每步将一个待排序的元素,按其排序码大小插入到前面已经排好序的一组元素的适当位置上去,直到元素全部插入为止。(2)可以选择不同的方法在已经排好序的有序数据表中寻找插入位置,依据查找方法的不同,有多种插入排序方法。下面是常用的三种。1>直接插入排序2>折半插入排序3>希尔排序(3)直接插入排序基本思想:当插入第i(i>1)个元素时,前

    2022年8月12日
    5
  • html制作图片幻灯片效果代码,【JS+CSS3】实现带预览图幻灯片效果的示例代码

    html制作图片幻灯片效果代码,【JS+CSS3】实现带预览图幻灯片效果的示例代码一、前期准备1.1案例分析适用场景:单例布局1.2方法论V视图HTML+CSS+调试Cjs实现控制流程D数据优化扩展二、代码结构h2captionh3caption样式(CSS略)脚本功能开发>>内容输出Template改造输出幻灯片&控制按钮图片位置调整>>切换控制切换幻灯片.main_i_active切换控制按钮.ctrl…

    2022年7月13日
    17
  • awk命令详解

    awk命令详解概述awk是专门为文本处理设计的编程语言,与sed类似都是以数据驱动的行处理软件,主要用于数据扫描、过滤、统计汇总工作,数据可以来自标准输入、管道或者文件。awk在20世纪70年代诞生与贝尔实验室。现在使用的版本是1988年发布的Gnuawk。基础语法记录与字段awk是一种处理文本文件的编程语言,文件的每行数据都被称为记录,默认以空格或制表符为分隔符,每条记录被分成若干字段(列),awk每次从文件中读取一条记录。语法格式:awk[选项]‘条件{动作}条件{动作}……’

    2022年7月11日
    28
  • 【图文详解】【pycharm】pycharm更换背景颜色

    【图文详解】【pycharm】pycharm更换背景颜色首先 File Settings 然后如图所示 其中下拉选择有各种背景 下方有效果 可根据个人喜好设置最后 琉佳提醒 不要忘记保存 未保存等于没有设置

    2025年9月18日
    3
  • JavaScript实现进制转换

    JavaScript实现进制转换

    2022年3月12日
    38

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号