IE 10 via vbscript starten
Hallo
Seit Tagen versuche ich ein Script wieder zum Laufen zu bringen.
Das Script soll den IE starten und den Inhalt der Homepage als Variable reinkopieren (Script unten ist vereinfacht). Dieses (bereits etwas ältere) Script funktioniert nur bis IE 8. Den IE 10 kann ich starten und die Homepage wird angezeigt, jedoch ignoriert er den "<meta http-equiv=X-UA-Compatible content=IE=8>" bzw setzt er den Dokumentenmodus auf IE 5 / Quirks. Wenn ich das den IE starte und die Seite via document.navigate "seite.htm" aufrufe, funktioniert es.
Hat jemand eine Idee, an was das liegen könnte?
Option Explicit
Dim strHTMLHead, strHTMLBody
Dim objIE
strHTMLHead = "<meta http-equiv=X-UA-Compatible content=IE=8>"
strHTMLBody = "<div id=text> VBScript Formular... </div>"
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
objIE.Navigate "about:blank"
objIE.Document.Head.InnerHTML = strHTMLHead
objIE.Document.Body.InnerHTML = strHTMLBody
Seit Tagen versuche ich ein Script wieder zum Laufen zu bringen.
Das Script soll den IE starten und den Inhalt der Homepage als Variable reinkopieren (Script unten ist vereinfacht). Dieses (bereits etwas ältere) Script funktioniert nur bis IE 8. Den IE 10 kann ich starten und die Homepage wird angezeigt, jedoch ignoriert er den "<meta http-equiv=X-UA-Compatible content=IE=8>" bzw setzt er den Dokumentenmodus auf IE 5 / Quirks. Wenn ich das den IE starte und die Seite via document.navigate "seite.htm" aufrufe, funktioniert es.
Hat jemand eine Idee, an was das liegen könnte?
Option Explicit
Dim strHTMLHead, strHTMLBody
Dim objIE
strHTMLHead = "<meta http-equiv=X-UA-Compatible content=IE=8>"
strHTMLBody = "<div id=text> VBScript Formular... </div>"
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
objIE.Navigate "about:blank"
objIE.Document.Head.InnerHTML = strHTMLHead
objIE.Document.Body.InnerHTML = strHTMLBody
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 221986
Url: https://administrator.de/contentid/221986
Ausgedruckt am: 25.11.2024 um 14:11 Uhr
4 Kommentare
Neuester Kommentar
Hallo arduino,
das kommt daher das die Seite "about:blank" keinen <!DOCTYPE> besitzt. Solche Dokumente ruft der IE immer im Quirks-Mode auf. Du musst also eine leere Seite z.B. mit "<!DOCTYPE html>" zu Beginn der Seite erstellen in der du zuätzlich den Compatibility-Flag setzt. Auf diese Seite navigierst du dann mit VBS.
Da der IE das COMPATIBILITY META FLAG nur auswertet wenn die Seite geladen wird, wirst du den Mode mit nachträglichem Einfügen nie umstellen können!
Grüße Uwe
das kommt daher das die Seite "about:blank" keinen <!DOCTYPE> besitzt. Solche Dokumente ruft der IE immer im Quirks-Mode auf. Du musst also eine leere Seite z.B. mit "<!DOCTYPE html>" zu Beginn der Seite erstellen in der du zuätzlich den Compatibility-Flag setzt. Auf diese Seite navigierst du dann mit VBS.
Da der IE das COMPATIBILITY META FLAG nur auswertet wenn die Seite geladen wird, wirst du den Mode mit nachträglichem Einfügen nie umstellen können!
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=8" />
<title>Test</title>
</head>
<body>
</body>
</html>
Zitat von @arduino:
objIE.Document.Head.InnerHTML = Variable schreibt die Variable in den Head bzw Document.Body... in den Body-Tag.
Wie aber bringe ich ihn dazu, diesen Tag über den Head zu setzen?
Wie geschrieben, auch wenn du dies schaffen würdest, würde es dir nichts bringen, denn der IE wertet das DOCTYPE nur beim ersten Laden der Seite aus!objIE.Document.Head.InnerHTML = Variable schreibt die Variable in den Head bzw Document.Body... in den Body-Tag.
Wie aber bringe ich ihn dazu, diesen Tag über den Head zu setzen?