0

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

4

1 回答 1

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 也不支持。

于 2015-07-02T22:00:32.117 回答