KORJAUS asiaan - TWebBrowser emuloi oletuksena ikivanhaa IE 6.0:aa

delphikoodaaja

Kutsu allaolevaa SetIEMode -proseduuria vaikkapa pääformin OnCreate -tapahtumasta:

Uses
Registry, SysUtils;

procedure TfrmYoutubePlayer.FormCreate(Sender: TObject); // <------ esimerkki -->
begin
SetIEMode;
end;

Tämän pitäisi korjata asia.
HUOM: Korjaus on sovellusnimikohtainen.

Eli jos sinulla on Sovellus1.exe ja Sovellus2.exe
tulee allaolevaa SetIEMode -proseduuria kutsua molemmista.

Lisätietoja aiheesta:
https://weblog.west-wind.com/posts/2011/May/21/Web-Browser-Control-Specifying-the-IE-Version

Aiheesta OLI aiemmin viesti myös suomi24:ssä, vaan eipä ole enää (MIKSEI ???? ; Kuka poistelee viestejä täysin asiattomasti ? Onko sefiffioikeuksia annettu jollekulle palstahäirikölle, joka sabotoi Delphi -palstaa ?)

Toki on teoriassa mahdollista toteuttaa sama vaikkapa ICS:llä, INDY:llä, tai synapsella.
MUTTA: JOS et itse kontrolloi web -sivun koodia, niin joka kerta, kun web -sivu muuttuu, työmäärä noilla vaihtoehtoisilla tavoilla voi olla kohtuuttoman suuri. TWebBrowser -komponenttia käyttämällä työmäärä web -sivun muutoksiin reagoimiseksi on huomattavasti pienempi.

procedure SetIEMode;
const
IE_EmulationVersion = 11001; // Internet Explorer 11. Webpages are displayed in IE11 Standards mode, regardless of the !DOCTYPE directive.
KeyName = '\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION';

var
Reg : TRegistry;
ExeName : String;

begin
ExeName := ExtractFileName(ParamStr(0));
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_CURRENT_USER;
if Reg.OpenKey(KeyName, True) then begin
// OK:
Reg.WriteInteger(ExeName, IE_EmulationVersion);

end ELSE begin
// Tapahtui virhe yritettäessä avata/luoda rekisteriavainta.

end;
finally
Reg.Free;
end;
end;

2

393

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • "Aiheesta OLI aiemmin viesti myös suomi24:ssä, vaan eipä ole enää (MIKSEI ???? ; Kuka poistelee viestejä täysin asiattomasti ?"

      Epäilen robottia.

      "MUTTA: JOS et itse kontrolloi web -sivun koodia, niin joka kerta, kun web -sivu muuttuu, työmäärä noilla vaihtoehtoisilla tavoilla voi olla kohtuuttoman suuri. TWebBrowser -komponenttia käyttämällä työmäärä web -sivun muutoksiin reagoimiseksi on huomattavasti pienempi."

      Nyt meni ohitse mitä tarkoitat tuolla työmäärällä sivun muutoksiin reagoimiseksi?

      Minusta tässä nyt on isompana ongelmana se, että komponentti on 5v takainen IE11 ja vuoden kuluttua vanhimmat siitä riippuvaiset laitteet ovat hävinneet. Desktop puolella se alkoi jo homehtumaan 2,5v sitten.

      Tarkoittaa sitä, että se on niin vanha voi tulla ongelmia sen takia.

      Suosittelen hävittämään sen IE11 komponentin pois ja ottaa tilalle CEF:n, eli Chromium Embedded Frameworkin: https://en.wikipedia.org/wiki/Chromium_Embedded_Framework

    • Anonyymi

      Hienoa, että tuonkin ongelman pystyy jotenkin korjaamaan!

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Suomen kansa haluaa Antti Lindtmanista pääministerin

      Lindtman on miltei tuplasti suositumpi kuin etunimikaimansa Kaikkonen. Näin kertoo porvarimedian teettämä kysely. http
      Maailman menoa
      198
      4008
    2. Vain 21% kannattaa Lindtmania pääministeriksi

      se on selvästi vähemmän kuin puolueen kannatus, mites nyt noin?
      Maailman menoa
      111
      2553
    3. Miten löydän sinut

      Ja saan sanottua kaiken mitä haluan sinulle kertoa? Ja kuinka kuuntelisit minua sen hetken? Kuinka voin ilmaista sen mit
      Ikävä
      30
      2174
    4. Yöllinen autolla kaahari Heinolan seudulla

      Asukkaita häiriköivän nuoren herran autokaahaus keskustelu poistettu, onko jokin hyvävelijärjestelmä käytössä ?
      Heinola
      80
      1380
    5. Vaikea tilanne

      Hieman kolkuttaa omatuntoa, kun on osoittanut kiinnostusta väärää naista kohtaan. En ymmärrä miten toinen on voinut te
      Ikävä
      86
      1248
    6. Milloin kaivatullasi

      .. on nimipäivä?
      Ikävä
      48
      1129
    7. Kehtaisitko näyttäytyä

      kaivattusi seurassa?
      Ikävä
      74
      996
    8. Ne viimeiset kerrat

      Kun katsoit minua niin lämpimästi. En unohda sitä ❤️
      Ikävä
      56
      824
    9. Emme koskaan keskustelleet kasvotusten syistä välirikollemme

      Enkä voisi kertoa perimmäistä rehellistä syytä. Kerroin sinulle pintapuolisen ”paketin” ja otin tavallaan omalle vastuu
      Ikävä
      57
      824
    10. S24 Lieksa miksi on paikallinen entinen Kansallinen Kokoomus valtuutettu sali niin kallis?

      Vailla alennuksia? gogo express joensuu kertakäynti 10 euroa avoinna 5-24. Miksi pitää Lieksassa tukea paikallista yritt
      Lieksa
      71
      784
    Aihe