mshtml.IHTMLElement getAttribute ошибочное поведение
В приложении я использую mshtml.IHTMLElement.getAttribute(mimetype)
чтобы извлечь Mimetype в течение mshtml.HTMLDocument
,
Пример:
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
основанный на географических местоположениях. Он может получить доступ к книге Excel, зайдя в браузер вручную и нажав на ссылку.
1 ответ
Хорошо! Я думаю, я наконец понял это!
Виновником здесь является mimeType
, На моем компьютере установлен MS Office 2010, а на компьютере моего друга - Office 365.
Внутри моего кода C# я искал mimeType = "Microsoft Office Excel 97-2003 Worksheet"
в mshtml.HTMLDocument
и это работало нормально. Теперь в поисках того же mimeType
на веб-странице, представленной на машине моего друга уступил None
, Проблема заключалась в том, что XLS
получает mimeType = "Microsoft Excel 97-2003 Worksheet"
когда машина имеет Office 365 и mimeType = "Microsoft Office Excel 97-2003 Worksheet"
для старых версий Office.