异步Java脚本加载显示错误

问题描述 投票:3回答:1

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

与元素类型“脚本”关联的属性名称“异步”必须后跟'='字符。 + 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:p="http://primefaces.org/ui">

此错误在我使用HTML 5 DOCTYPE时发生,但由于未找到XHTML DTD,它还会导致一些其他错误。

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

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

javascript html jsf-2 asynchronous-javascript
1个回答
2
投票

正如您在这里可以读到的https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script,“异步”是HTML5属性,因此您必须使用另一种方式来异步加载JavaScript。

一个技巧是将脚本移到结束标记之前。

您也可以使用use“ require.js”,因为此答案表明:Load async resource with requirejs timeout

© www.soinside.com 2019 - 2024. All rights reserved.