异步java脚本加载显示错误

时间:2015-06-24 13:44:15

标签: javascript html5 jsf-2 asynchronous-javascript

异步java脚本加载显示以下错误:

  

与元素类型“script”关联的属性名称“async”必须   后跟'='字符。 + jsf

我在使用模板文件template.xhtml的JSF2.4应用程序中找到了这个。 DOCTYPE是

<!DOCTYPE html  PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:c="http://java.sun.com/jstl/core"
xmlns:wiz="http://www.tolven.org/jsf/wizard"
xmlns:p="http://primefaces.org/ui"
xmlns:trim="http://www.tolven.org/jsf/trim">

当我使用HTML 5 DOCTYPE时会出现此错误,但由于找不到XHTML DTD,因此会导致其他一些错误。

所以我尝试了属性async="async",而不仅仅是使用异步。 然后所有的错误都消失了。

这是在这样的上下文中异步加载java脚本的正确方法吗?如果你有更好的解决方法,请告诉我。

1 个答案:

答案 0 :(得分:2)

你可以在这里阅读https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script,&#34; async&#34;是一个HTML5属性,因此您必须使用另一种方式异步加载您的JavaScript。

一个技巧可能是在结束标记之前移动脚本。

您还可以使用&#34; require.js&#34;,因为此答案提示:Load async resource with requirejs timeout