html - Mechanical Turk 无法解析 HTML5 - 如何最好地检查它?
问题描述
当尝试一个简单的 HIT 测试批次时,我发现提交按钮不起作用。然后我注意到,在查看布局 ID 时,它说There was an error parsing the HTML5 data in your hit template.
这只是我基于现有模板手动构建的快速 HIT,但我认为我一定是在某个地方搞砸了 HTML,因为我是手动编辑的。
当我尝试将 HIT 的源代码复制/粘贴到 W3 验证器中时,它所抱怨的并不是我接触的模板的一部分,而且似乎主要是因为我的源代码不是完整的 HTML 文档,因为MTurk 将包装它:
Warning: Consider adding a lang attribute to the html start tag to declare the language of this document.
Error: Start tag seen without seeing a doctype first. Expected <!DOCTYPE html>.
Error: Element head is missing a required instance of child element title.
Warning: The type attribute for the style element is not needed and should be omitted.
是否有一种简单的方法可以访问 HIT 的完整包装 HTML 以进行验证?或者一些更好的方法来解决我的 HTML。
解决方案
您是正确的,MTurk 将包装您提供的 HTML。您可以看到它将添加到HTMLQuestion 文档中的样板 XML。这些文档适用于使用 API 的开发人员,但它会向您展示您的 HTML 发生了什么。
也就是说,应该没关系。只需制作有效的 HTML,就可以了。例如,<title>
当工人执行您的任务时,该标签不会显示,但将其留在里面不会对任何事情造成伤害。
此外,一个常见的错误是在第一行省略<!DOCTYPE html>
。它是 HTML 规范的一部分,但浏览器对此并不严格,所以大多数人不这样做。但是如果你忽略它,MTurk 和 W3 验证器都会对你咆哮。
推荐阅读
- c++ - 在 C++ 中采样 3 个整数而不进行替换
- java - Hibernate/JPA - 使用 IS NULL 比较时,UUID 的集合无法确定数据类型
- facebook - 谷歌登录无法在应用浏览器中的 Facebook 中工作
- brightway - 验证影响评估方法数据时的错误和区域特征因素的问题
- java - jboss如何像http://localhost:8088/plant/app/一样加载lnk?
- python - Python:chardet.detect 带有一个大的二进制对象
- django - 联系表格发送电子邮件成功,但我的邮箱中没有消息 - django
- c++ - 旅行商问题的编译器优化
- html - 如何使用引导程序使此代码响应/更好?
- javascript - 成员未定义 discord.js