非同期の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:p="http://primefaces.org/ui">
このエラーは、HTML 5 DOCTYPEを使用すると発生しますが、XHTML DTDが見つからないため、他のエラーが発生します。
そこで、async="async"
asyncを使用する代わりに属性を試しました。その後、すべてのエラーが消えました。
これは、このようなコンテキストでJavaスクリプトを非同期にロードするための正しい方法ですか?これを修正するためのより良い方法があれば教えてください。
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/scriptで読むことができるように、「async」はHTML5属性であるため、JavaScriptを非同期でロードするには別の方法を使用する必要があります。
1つのトリックは、終了タグの直前にスクリプトを移動することです。
この回答が示唆するように、use "require.js"を使用することもできます:requirejsタイムアウトで非同期リソースをロードする
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加