需要帮助在delphi中将HTML5表单元素显示到webbrowser中

时间:2015-06-25 11:20:47

标签: delphi twebbrowser tembeddedwb

我正在努力从HTML5添加新的表单元素,如输入类型的电子邮件,URL等到webbrowser 。我能够以适当的方式将这些控件保存到HTML文件中。但是,在将该HTML文件加载回webbrowser时,我没有正确地获得该输入类型。无论我设置什么类型,我都将输入类型作为“文本”。请有人帮帮我。

1 个答案:

答案 0 :(得分:2)

值得指出的是,我一直在和Manasee谈论这个并看过代码,所以这个答案更多地针对有类似问题的人。

假设您已在本地保存HTML5文件,请首先确保在Internet Explorer加载时HTML5元素的行为符合预期。 Internet Explorer(以及TWebBrowser)倾向于使用兼容的视图,因此可能会呈现为IE8或更早版本,这将阻止HTML5元素工作。

如果它在IE中没有表现为HTML5那么你就会遗漏一些东西。我建议同时使用:

<!DOCTYPE html>

作为文件的第一行,并且:

<meta http-equiv="X-UA-Compatible" content="IE=edge">

作为HEAD的第一行。

如果IE将您的文件呈现为HTML5但您的嵌入式TWebBrowser没有,那么这表明文件的加载方式存在问题。可以通过多种方式将HTML加载或注入到浏览器中,其中一些方法将使TWebBrowser模拟早期版本。

所以试试吧:

webbrowser.Navigate('file://C:/myFile.html');

最后一点。不要在XP上尝试这个 - 它不支持识别HTML5的IE版本,因此TWebBrowser也不会。