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