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

370

    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. Onhan tää tyhmää ajatella sua kun tuskin ees muistat mua

      Hyvää yötä sinne jonnekin. 💔
      Ikävä
      26
      2534
    2. Ikuiset kaipaajat

      Miksette vaan mene sen kaipauksen kohteen luokse ja puhu sille suoraan? Mitä järkeä on kaipailla jotain puolituttua vuo
      Ikävä
      77
      2336
    3. Persut rahoittavat velkarahalla rikkaiden ökyelämää

      Minkä vuoksi persut eivät leikkaa rikkailta, joilla on maksukykyä? Tuskinpa tuo persujen käytös saa Suomen kansalta hyv
      Maailman menoa
      66
      2313
    4. Riikka ottaa miljardi euroa EU:n yhteisvelkaa Suomelle

      Niin kääntyi irvipersun takki taas, vaikka vaalilupauksissa oli ettei yhteisvelkaa Suomi enää koskaan ota. No nyt otti m
      Maailman menoa
      22
      2023
    5. Kerro kaivattusi etunimi

      Naisille
      Ikävä
      84
      1759
    6. En tiedä ymmärrätkö

      Kuinka paljon merkitset mulle. Näet minut minuna etkä silti käännä selkääsi. Tökit jatkuvasti kepillä jäätä ja menit ehk
      Ikävä
      7
      1549
    7. Kun ei numeroa

      niin en edes voi viestittää, et suunnitelmiin tuli muutos. Ikävä on, ja kasvaa vaan🤍
      Ikävä
      30
      1378
    8. Veronmaksajat kustantavat yrittäjien eläkkeitä jo yli 500 miljoonalla

      Suomalaista yrittäjää ei kommunistista erota. Aktiivisen "yrittämisen" maksattaa yritystukina yhteiskunnalla, ja vieläpä
      Yrittäjyys
      16
      1261
    9. Kenenkä halli se on tulessa nelostiellä

      11 yksikköä paikalla
      Pyhäjärvi
      4
      1103
    10. Se on siinä

      Jami kun vielä loppuu niin Lappajärvellä ei oo yhtään mitään toimintaa.Purkamista piisaa kymmenen vuoden ajalle.Maakunna
      Lappajärvi
      32
      947
    Aihe