Results 1 to 8 of 8

Thread: Youtube Embedded probleem

  1. #1

    Youtube Embedded probleem

    Hoi allemaal,

    Ik heb een progje gemaakt waarmee ik youtube filmpjes wil laten zien. Op zich werkt het met de TWebbrowser prima. Ik kan dan gewoon websites inladen zoals youtube en dan kun je via die website de youtube film starten.

    Maar als ik de embedded functie van de youtube film gebruik, dan gaat het mis. Ik krijg dat telkens de foutmelding zoals op het plaatje.

    Screenshot: Click image for larger version. 

Name:	YoutubeDelphi.jpg 
Views:	24 
Size:	98.6 KB 
ID:	7754

    Als ik dan vervolgens op JA druk dan komen er nog twee vergelijkbare meldingen.

    Als code gebruik ik:

    Code:
    Webbrowser1.Navigate('d:\test.html');
    Als dat een "normale" website bevat dan werkt alles prima, maar zodra ik daar in die Test.html een embedded youtube filmpje zet, krijg ik de foutmelding. Klik ik gewoon zelf op test.html dan werkt het in IE, Edge en Chrome allemaal.

    De code van de Test.html is overigens:
    Code:
    <iframe width="560" height="315" src="https://www.youtube.com/embed/XqYWcp1JH7Y" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
    Weet iemand van jullie waar deze melding aan ligt en wat ik er aan kan doen, want op diverse PC's geprobeerd en overal zelfde melding.

    Groetjes.

  2. #2
    Fornicatorus Formicidae VideoRipper's Avatar
    Join Date
    Mar 2005
    Location
    Vicus Saltus Orientalem
    Posts
    5,274
    TWebBrowser wordt in IE 4 (geloof ik, het kan ook IE 6 zijn) compatibiliteitsmodus uitgevoerd.
    Dus ook al heb je IE11 geïnstalleerd op je PC, het gedraagt zich als een hele oude versie.
    TMemoryLeak.Create(Nil);

  3. #3
    Quote Originally Posted by RuudPenris View Post
    ... en wat ik er aan kan doen.
    En je kunt het beïnvloeden via de registry.

    Zie https://www.cyotek.com/blog/configur...rowser-control

    Overigens kun je het ook per user instellen en is toegang tot HKEY_LOCAL_MACHINE niet nodig (meestal is dit alleen toegankelijk voor Administrators).

    Ik gebruik:
    Delphi Code:
    1. procedure SetBrowserCompatibilityMode(pExeName: string);
    2. // [url]https://msdn.microsoft.com/en-us/library/ee330730(v=vs.85).aspx[/url]
    3. var
    4.   vReg: TRegistry;
    5. begin
    6.   vReg := TRegistry.Create(KEY_WRITE);
    7.   try
    8.     vReg.RootKey := HKEY_CURRENT_USER;
    9.     if vReg.OpenKey('Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION', true) then
    10.     begin
    11.       if not vReg.ValueExists(pExeName) then
    12.       begin
    13.         vReg.WriteInteger(pExeName, 11001); // Internet Explorer 11
    14.       end;
    15.       vReg.CloseKey;
    16.     end;
    17.   finally
    18.       vReg.free;
    19.   end;
    20. end;
    21.  
    22. //...
    23.  
    24. SetBrowserCompatibilityMode(ExtractFileName(Application.EXEName));
    Last edited by GolezTrol; 30-Apr-18 at 15:51.

  4. #4
    Dank jullie wel voor de reacties. Ik ga het proberen en hou jullie daarna hier op de hoogte.

  5. #5
    Ik heb de oplossing gevonden.
    Door chromium te gebruiken omzeil ik het IE probleem. Nadeel is wel dat er grote DLL bij het progje moeten komen, maar het werkt nu wel prima.

  6. #6
    Quote Originally Posted by RuudPenris View Post
    Ik heb de oplossing gevonden.
    Door chromium te gebruiken omzeil ik het IE probleem. Nadeel is wel dat er grote DLL bij het progje moeten komen, maar het werkt nu wel prima.
    Tsja, dat kan ook. Dan moet je honderd megabyte extra bij je programmaatje leveren.
    (Lukt je dat overigens met één DLL?)

    Mijn oplossing zou ook moeten werken (want dat gebruik ik ook) en die gebruikt gewoon IE.

  7. #7
    Ik kreeg jouw oplossing niet aan het werken helaas. Heb je misschien dan een simpel voorbeeld progje? Want inderdaad er zijn 4 bestanden van in totaal 50 mb die ik moet bijvoegen. Vooral 1 dll bestand van meer dan 40.

  8. #8
    Quote Originally Posted by RuudPenris View Post
    Heb je misschien dan een simpel voorbeeld progje?
    Gewoon in je project dit in een FormCreate() opnemen.

    Delphi Code:
    1. SetBrowserCompatibilityMode(ExtractFileName(Application.EXEName));

    Je kunt daarna e.v. in de registry kijken of de key er daadwerkelijk in staat.
    Je zult zien dat er ook al andere programma's (zoals AcroRd32.exe) in die key staan.

    Code:
    HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION
    Overigens kan het wel zijn dat je je test.html pagina even "correct" moet maken. Die pagina kan ik standaard ook niet direct in IE openen. Dan geeft de development console aan dat je <!DOCTYPE html> erboven moet plaatsen. Als je dat doet is ie wel zichtbaar in IE.

    Name:  KV5Wk9I.png
Views: 35
Size:  88.7 KB

    PS. Jouw voorbeeld video kan sowieso niet afgespeeld worden via een iframe maar dat is een restrictie die bij YouTube ligt
    Last edited by rvk; 01-May-18 at 16:17.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •