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

335

    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. Persujen VigeIius noIasi taas itsensä

      Kun uhriutui vuonna 2024 (siis persujen "vahtivuorolla") Tampereella aloittaneen perheryhmäkodin toiminnasta. ”Leviää k
      Maailman menoa
      29
      2237
    2. Persut ei kestä heidän johtajistaan tehtyä huumoria

      Laajalti tiedostettu tosiasia on, että autoritaariset johtajat ja erinäiset diktaattorit eivät kestä heidän kustannuksel
      Maailman menoa
      48
      2000
    3. Kuka omistaa entisen Veljeskodin?

      Kenellä on varaa pitää hiljattain remontoitua rakennusta tyhjillään? Tehdäänkö siitä Suomen kallein kirpputori vai mikä
      Ähtäri
      8
      1922
    4. Vasemmistoliitto peruisi sosiaaliturvan heikennykset

      He palauttaisivat työttömyysturvan ja asumstuen suojaosat, eli saisi jälleen tienata 300 euroa kuukaudessa ilman tukien
      Maailman menoa
      42
      1651
    5. Jos voisit kysyä

      Kaivatultasi vielä yhden kysymyksen, mikä se olisi? Aloitan: Mitä sinä halusit minusta?
      Ikävä
      130
      1276
    6. Välillä kyllä naurattaakin tämä kahden aikuisen meininki

      Se nyt on aivan selvä asia että kumpikin on päälakeensa myöten rakastunut, ja sinä se olet koko ajan ollutkin. 😘
      Ikävä
      62
      843
    7. Talk Show isäntä Jimmy Kimmel sai kenkää

      Vasurina heitti sopimatonta läppää murhatusta Charlie Kirkistä tai oikeammin murhaajan poliittisesta taustasta ja kuinka
      Maailman menoa
      117
      835
    8. Jos voisit palata yhteen risteykseen

      ..mikä se elämässäsi olisi?
      Ikävä
      66
      807
    9. Lamppu syttyi

      Tiedätkö mitä mies, olen aivan yhtä rakastunut suhun. Kyllä. Koita jaksaa eiköhän me kohta nähdä ❤️
      Ikävä
      63
      792
    10. Oli kiva nähdä sut

      vaikkakin kaukaa ja nopeasti. Tiedän kyllä tasan tarkkaan missä mennään, joten anteeksi jos pilasin päiväsi, ei ollut mi
      Suhteet
      19
      762
    Aihe