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.

Другие вопросы по тегам