delphi EmbeddedWB iframe高度问题

时间:2016-05-30 02:09:30

标签: delphi iframe height

我在MySQL数据库中有几个网页,我想在我的Delphi(7)表单上显示为“幻灯片”。 我正在尝试使用EmbeddedWebBrowser,并使用iframe标签动态生成我的HTML文件 - 目前显示的网页超过1个。

问题是,当我将这个html文件加载到EmbeddedWB时,高度只有150px左右,但在IE中,FF,chrome看起来还不错。

我的Delphi代码:

embeddedwb1.LoadFromFile('mypage.html');

有什么建议吗?

PS:我的收藏中的网页不是来自同一个网域。

如何重现: 将Embeddedwebbrowser组件放置到form,set

RegisterAsBrowser

参数

True

,对于“静音”模式,我将此事件添加到EmbeddedWebBrowser:

procedure TForm1.EmbeddedWB1ScriptError(Sender: TObject; ErrorLine, ErrorCharacter, ErrorCode, ErrorMessage, ErrorUrl: String; var ContinueScript, Showdialog: Boolean); 
    begin 
    continuescript:=true;
    showdialog:=false; 
    end;

然后我生成了一个简单的...循环html代码如上所示..如果mypage网站中有“子”iframe,它没有正确显示子iframe高度(来自另一个域).. 如果这个ads.html文件(由这个简单的delphi应用程序生成)在正常的IE(11)中打开,它正确显示子iframe ...我试图改变embeddedwebbrowser参数(有很多),但没有成功。抱歉这个“完整的工作示例” - 我需要学习如何写出更好的质量,但1)我的英语不好2)我是新来的,必须学到很多:)但这个问题几乎是关键,我必须解决它直到星期三 我在form1上放了一个按钮,表格如下:

embeddedwb1.LoadFromFile( '的mypage.html');

'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&amp;view=bHNETmxjTXd1ck4wQWxYWmx6YWRkS0xSWGVZSklWSlJ3aWVOdzVkOXNhND0,">
</iframe>
</body>
</html>

更新

一周后我就搞固了这个问题! :)

解决方案是:

当我从Delphi生成.html文件时(将整个代码动态写入文本文件,然后在EmbeddedWB中打开)
我写了这样的iframe标签:

htmlpage:=htmlpage+`'<iframe width="100%" height="800" src="'+mypagestring+'"></iframe>'+#13+#10;

但它并不好......

我的新工作html标签:

htmlpage:=htmlpage+'<iframe sandbox="allow-same-origin allow-scripts allow-popups allow-forms" width="100%" height="800" src="+mypagestring+"></iframe>'+#13+#10;

如您所见,在父iframe中使用sandbox帮助我显示完整的子iframe,而不仅仅是其中的一部分:)

0 个答案:

没有答案