mshtml.IHTMLElement getAttribute 不稳定行为
mshtml.IHTMLElement getAttribute erratic behaviour
在应用程序中,我使用 mshtml.IHTMLElement.getAttribute(mimetype)
提取 mshtml.HTMLDocument
中的 mimetype。
示例:
www.mywebsite.com/index.html。此网页有 1 个 mimetype,它是一个 Excel 工作簿。
Dim oHTML_Element As mshtml.IHTMLElement
Dim HTMLDoc As mshtml.HTMLDocument
HTMLDoc = CType(oBrowser.Document, mshtml.HTMLDocument)
'//mimtype = "Microsoft Office Excel 97-2003 Worksheet"
For Each oHTML_Element In HTMLDoc.getElementsByTagName("a")
If oHTML_Element.getAttribute("mimetype") is Nothing then
MsgBox ("NONE FOUND")
Else
MsgBox( oHTML_Element.getAttribute("mimetype").ToString())
End If
End For
问题:
我 运行 这个应用程序位于位置 1(亚太地区),当我访问该网页时,我得到一个弹出窗口 MsgBox
显示 MIMETYPE
我的同事 运行 这个应用程序位于位置 2(亚洲),当他访问该网页时,他得到一个弹出窗口 MsgBox
显示 NONE FOUND
。
网页访问不是问题,我们大约在同一时间访问网页,它是一个静态页面,换句话说,它不提供 MIMETYPE
基于地理位置的服务。他可以通过手动进入浏览器并单击 link.
来访问 Excel 工作簿
好的!我想我终于明白了!
这里的罪魁祸首是mimeType
。在我的机器上,我安装了 MS Office 2010,而在我朋友的机器上,他安装了 Office 365。
在我的 C# 代码中,我在 mshtml.HTMLDocument
中搜索 mimeType = "Microsoft Office Excel 97-2003 Worksheet"
,它工作正常。现在,在我朋友机器上呈现的网页上搜索相同的 mimeType
,得到 None
。问题是当一台机器有 Office 365 时 XLS
得到一个 mimeType = "Microsoft Excel 97-2003 Worksheet"
而旧版本的 Office 得到 mimeType = "Microsoft Office Excel 97-2003 Worksheet"
。
在应用程序中,我使用 mshtml.IHTMLElement.getAttribute(mimetype)
提取 mshtml.HTMLDocument
中的 mimetype。
示例:
www.mywebsite.com/index.html。此网页有 1 个 mimetype,它是一个 Excel 工作簿。
Dim oHTML_Element As mshtml.IHTMLElement
Dim HTMLDoc As mshtml.HTMLDocument
HTMLDoc = CType(oBrowser.Document, mshtml.HTMLDocument)
'//mimtype = "Microsoft Office Excel 97-2003 Worksheet"
For Each oHTML_Element In HTMLDoc.getElementsByTagName("a")
If oHTML_Element.getAttribute("mimetype") is Nothing then
MsgBox ("NONE FOUND")
Else
MsgBox( oHTML_Element.getAttribute("mimetype").ToString())
End If
End For
问题:
我 运行 这个应用程序位于位置 1(亚太地区),当我访问该网页时,我得到一个弹出窗口 MsgBox
显示 MIMETYPE
我的同事 运行 这个应用程序位于位置 2(亚洲),当他访问该网页时,他得到一个弹出窗口 MsgBox
显示 NONE FOUND
。
网页访问不是问题,我们大约在同一时间访问网页,它是一个静态页面,换句话说,它不提供 MIMETYPE
基于地理位置的服务。他可以通过手动进入浏览器并单击 link.
好的!我想我终于明白了!
这里的罪魁祸首是mimeType
。在我的机器上,我安装了 MS Office 2010,而在我朋友的机器上,他安装了 Office 365。
在我的 C# 代码中,我在 mshtml.HTMLDocument
中搜索 mimeType = "Microsoft Office Excel 97-2003 Worksheet"
,它工作正常。现在,在我朋友机器上呈现的网页上搜索相同的 mimeType
,得到 None
。问题是当一台机器有 Office 365 时 XLS
得到一个 mimeType = "Microsoft Excel 97-2003 Worksheet"
而旧版本的 Office 得到 mimeType = "Microsoft Office Excel 97-2003 Worksheet"
。