Suche Info zu WebGadget; Grafikfehler in Google Earth Plugin

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
Franky
Beiträge: 1132
Registriert: 29.08.2004 16:31
Wohnort: Münsterland
Kontaktdaten:

Suche Info zu WebGadget; Grafikfehler in Google Earth Plugin

Beitrag von Franky »

Hallo zusammen,

ich brauche Informationen zum WebGadget (Welche IE-Version nutzt es, wie lautet die Offizielle bezeichnung des Teils), um eine Fehlermeldung abgeben zu können bzw. bekannte Probleme suchen zu können.

Zum Hintergrund:

Ich habe hier eine Software, die im WebGadget eine Google Earth Karte anzeigt (Google Earth Plugin).
Jetzt habe ich genau einen Kunden, bei dem es zu Grafikfehlern kommt, da die Karte nicht korrekt geladen wird.

Rufe ich die erstellte Website im IE auf (er hat version 9.08122.16421), wird alles wie gewollt angezeigt.
Rufe ich Google Earth selbst auf (Version 6.2.2.6613; Genau wie das Plugin), wird ebenfalls alles wie gewollt angezeigt.

Der Kunde hat als Browser IE und Chrome installiert.

Nach dem Ausschlussverfahren gehe ich davon aus, dass es sich um eine interne inkompatibilität handelt.
  • Google Earth zeigt korrekt an -> Kein directX-Problem
  • Internetexplorer zeigt korrekt an -> IE-Version <> WebGadget-Version
  • Problem tritt nur bei einem Kunden auf -> Fehler muss irgendwo in der Konfiguration liegen
  • Karten werden angezeigt; Auch wenn teilweise falsche Ausschnitte gezeigt werden -> Kein Problem mit Firewall und Co
  • Internetexplorer zeigt korrekt an -> GE-Plugin ist im Allgemeinen nicht schuld.
Um Antworten wird gebeten.

Gruß

Franky
Falsch zugeordnetes Zitat des Tages: "O'zapft is" - Edward Snowden :)
Benutzeravatar
Deluxe0321
Beiträge: 336
Registriert: 19.05.2006 00:31
Kontaktdaten:

Re: Suche Info zu WebGadget; Grafikfehler in Google Earth Pl

Beitrag von Deluxe0321 »

Servus,
hast du Zugriff auf das HTML? Wenn nicht schau, bzw. versuche

Code: Alles auswählen

<meta http-equiv="X-UA-Compatible" content="IE=edge"> 
in den <head> "reinzumogeln".

Falls inkompatibilitäten mit dem Webgadget auftreten sollten räumst du diese
mit der Zeile oben aus dem Weg.

Grüße
Ich habe keine Lösung, aber ich bewundere das Problem.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Suche Info zu WebGadget; Grafikfehler in Google Earth Pl

Beitrag von ts-soft »

Das WebGadget nutzt max. IE8!

Das ist für das COMobject der vorgegebene Standard von MS.
Um IE9 zu nutzen ist ein Usereingriff in die Registry erforderlich.

Also kein PB Bug, sondern ein IE Problem.

Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Deluxe0321
Beiträge: 336
Registriert: 19.05.2006 00:31
Kontaktdaten:

Re: Suche Info zu WebGadget; Grafikfehler in Google Earth Pl

Beitrag von Deluxe0321 »

ts-soft hat geschrieben:Das WebGadget nutzt max. IE8!
Stimmt!

Code: Alles auswählen

HTML.s +"<html><head>" + #CRLF$
HTML.s +"<meta http-equiv='X-UA-Compatible' content='IE=edge'> " + #CRLF$
HTML.s +"<title></title>" + #CRLF$
HTML.s +"<script type='text/javascript'>" + #CRLF$
HTML.s +"function getInternetExplorerVersion()" + #CRLF$
HTML.s +"// Returns the version of Windows Internet Explorer or a -1" + #CRLF$
HTML.s +"// (indicating the use of another browser)." + #CRLF$
HTML.s +"{" + #CRLF$
HTML.s +"   var rv = -1; // Return value assumes failure." + #CRLF$
HTML.s +"   if (navigator.appName == 'Microsoft Internet Explorer')" + #CRLF$
HTML.s +"   {" + #CRLF$
HTML.s +"      var ua = navigator.userAgent;" + #CRLF$
;HTML.s +"      alert(ua);"+#CRLF$
HTML.s +"      var re  = new RegExp('MSIE ([0-9]{1,}[\.0-9]{0,})');" + #CRLF$
HTML.s +"      if (re.exec(ua) != null)" + #CRLF$
HTML.s +"         rv = parseFloat( RegExp.$1 );" + #CRLF$
HTML.s +"   }" + #CRLF$
HTML.s +"   return rv;" + #CRLF$
HTML.s +"}" + #CRLF$
HTML.s +"function checkIEVersion()" + #CRLF$
HTML.s +"{" + #CRLF$
HTML.s +"   var msg = 'Youre not using Windows Internet Explorer.';" + #CRLF$
HTML.s +"   var ver = getInternetExplorerVersion();" + #CRLF$
HTML.s +"   if ( ver> -1 )" + #CRLF$
HTML.s +"   {" + #CRLF$
HTML.s +"      if (ver >= 8.0)" + #CRLF$
HTML.s +"		msg = 'das ist die Version '+ver;" + #CRLF$
HTML.s +"	  else if ( ver== 8.0 )" + #CRLF$
HTML.s +"         msg = 'using Windows Internet Explorer 8.';" + #CRLF$
HTML.s +"      else if ( ver == 7.0 )" + #CRLF$
HTML.s +"    	  msg = 'using Windows Internet Explorer 7.';" + #CRLF$
HTML.s +"      else if ( ver == 6.0 )" + #CRLF$
HTML.s +"    	  msg = 'using Windows Internet Explorer 6.';" + #CRLF$
HTML.s +"      else" + #CRLF$
HTML.s +"    	  msg = 'You should upgrade your copy of Windows Internet Explorer';" + #CRLF$
HTML.s +"    }" + #CRLF$
HTML.s +"   alert( msg );" + #CRLF$
HTML.s +" }" + #CRLF$
HTML.s +"</script><body onload='javascript:checkIEVersion();'></body></html>" + #CRLF$

If OpenWindow(0,0,0,800,600,"Test",#PB_Window_ScreenCentered | #PB_Window_SystemMenu )
  WebGadget(0,0,0,800,600,"about:blank")
  Repeat
    Event = WaitWindowEvent()
    If Event = #PB_Event_Gadget
      If EventGadget() = 0
        If EventType() = #PB_EventType_DownloadEnd  
          If Not LoadDone
            SetGadgetItemText(0,#PB_Web_HtmlCode,HTML.s)
            LoadDone = #True
          EndIf
        EndIf
      EndIf
    EndIf
  Until Event= #PB_Event_CloseWindow 
EndIf
ts-soft hat geschrieben: Das ist für das COMobject der vorgegebene Standard von MS.
Um IE9 zu nutzen ist ein Usereingriff in die Registry erforderlich.
Zur Hand welcher das wäre?

Danke!
Ich habe keine Lösung, aber ich bewundere das Problem.
Antworten