delphi EmbeddedWB iframe height issue
Eu tenho poucas páginas no banco de dados MySQL, que eu quero mostrar como "apresentação de slides" no meu formulário Delphi (7). Estou tentando usar o EmbeddedWebBrowser para isso e gerando meu arquivo HTML dinamicamente, usandoiframe
tags - para exibir mais de uma página da web no momento.
o problema é que, quando carrego esse arquivo html no EmbeddedWB, a altura é de apenas 150 pixels, no entanto, no IE, FF, o chrome parece OK.
Meu código Delphi:
embeddedwb1.LoadFromFile('mypage.html');
alguma sugestão?
PS: as páginas da minha coleção não são do mesmo domínio.
Como reproduzir: Coloque um componente do navegador da Web incorporado para formar, defina
RegisterAsBrowser
parâmetro para
True
, no modo "silencioso", adicionei este evento ao EmbeddedWebBrowser:
procedure TForm1.EmbeddedWB1ScriptError(Sender: TObject; ErrorLine, ErrorCharacter, ErrorCode, ErrorMessage, ErrorUrl: String; var ContinueScript, Showdialog: Boolean);
begin
continuescript:=true;
showdialog:=false;
end;
então eu gerei com um código html loop simples para ... mostrado acima .. Se o site da minha página tiver iframe "filho", ele não está mostrando corretamente a altura do iframe filho (de outro domínio) .. Se esse arquivo ads.html (gerado por este aplicativo delphi simples) é aberto no IE normal (11), mostrando o iframe filho corretamente ... Tentei alterar os parâmetros do navegador de navegador incorporado (existem muitos), mas sem sucesso .. Desculpe por este "exemplo de trabalho completo "- preciso aprender a escrever com melhor qualidade, mas 1) meu inglês não é bom 2) sou novo aqui, preciso aprender muito :) mas esse problema é quase crítico, preciso resolvê-lo até quarta-feira para form1, fazendo o seguinte:
Embeddedwb1.LoadFromFile ('mypage.html');
exemplo de 'mypage.html':
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=11"></head>
<body>
<iframe style="position:absolute;width:100%;height:100%" src="http://www.expresspaid.net/?x=ptcview&view=bHNETmxjTXd1ck4wQWxYWmx6YWRkS0xSWGVZSklWSlJ3aWVOdzVkOXNhND0,">
</iframe>
</body>
</html>
ATUALIZARAPÓS UMA SEMANA DE GOOGLING, CORRIGEI ESTE PROBLEMA! :)
a solução foi:
quando eu gerei o arquivo .html do Delphi (escrevi todo o código dinamicamente no arquivo de texto e depois o abri no EmbeddedWB)
Eu escrevi a tag iframe assim:
htmlpage:=htmlpage+`'<iframe width="100%" height="800" src="'+mypagestring+'"></iframe>'+#13+#10;
mas não foi bom ..
minha nova e ativa tag html:
htmlpage:=htmlpage+'<iframe sandbox="allow-same-origin allow-scripts allow-popups allow-forms" width="100%" height="800" src="+mypagestring+"></iframe>'+#13+#10;
como você vê, o uso desandbox
no iframe pai me ajudou a mostrar iframe filho completo, não apenas um pedaço disso :)