2016-04-04 8 views
0

In einer Anwendung verwende ich mshtml.IHTMLElement.getAttribute(mimetype), um den Mimetype innerhalb einer mshtml.HTMLDocument zu extrahieren.mshtml.IHTMLElement getAttribute erratisches Verhalten

Beispiel:

www.mywebsite.com/index.html. Diese Webseite hat 1 Mimetype und es ist eine Excel-Arbeitsmappe.

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 

Das Problem: ich diese Anwendung leite in Lage-1 (Asia Pacific) sitzen, wenn ich, dass die Homepage zuzugreifen, erhalte ich ein Pop-up MsgBox Anzeigen MIMETYPE Mein Kollege diese Anwendung in läuft sitzen location-2 (Asia), wenn er auf diese Webseite zugreift, erhält er ein Pop-up MsgBox, das NONE FOUND anzeigt. Der Zugriff auf die Webseite ist nicht das Problem, und wir greifen ungefähr gleichzeitig auf die Webseite zu und es ist eine statische Seite, mit anderen Worten, es dient nicht MIMETYPE basierend auf Geo-Standorten. Er kann auf die Excel-Arbeitsmappe zugreifen, indem er manuell in den Browser wechselt und auf den Link klickt.

Antwort

0

Ok! Ich denke, ich habe es endlich herausgefunden!

Der Schuldige ist hier die mimeType. Auf meinem Computer habe ich MS Office 2010 installiert, während auf dem Computer meines Freundes hat er Office 365.

In meinem C# -Code suchte ich nach mimeType = "Microsoft Office Excel 97-2003 Worksheet" innerhalb mshtml.HTMLDocument und es funktionierte gut. Nun, die Suche nach dem gleichen mimeType auf der Webseite, die auf der Maschine meines Freundes gerendert wurde, ergab None. Das Problem war, dass XLS eine mimeType = "Microsoft Excel 97-2003 Worksheet" erhält, wenn ein Computer über Office 365 und mimeType = "Microsoft Office Excel 97-2003 Worksheet" für ältere Office-Versionen verfügt.

Verwandte Themen