JavaScriptCDN導入失敗ソリューション

cdnを介してjqueryを導入することもありますが、必然的に間違いを犯します。どうすればよいですか?cdnとローカルインポートを一緒に使用して判断できます。cdnインポートが成功した場合、ローカルjqueryはインポートされません。CDNインポートが失敗した場合は、ローカルjqueryがインポートされます。

対応するjqueryをアドレスにインポートして変更するだけで、残りは変更する必要はありません。

言うまでもありませんが、コードを見てください。

最初の方法

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		
		<!-- CDN引入 -->
		<script src="https://www.jq22.com/jquery/jquery-3.3.1.j"></script>
	</head>
	<body>
		
	</body>
	<!-- 当CDN引入失败的时候指向这段代码 -->
	<script type="text/javascript">
	 if (typeof jQuery == 'undefined') {
     
     
	 document.write(unescape("%3Cscript src='../js/jQuery_js.js' type='text/javascript'%3E%3C/script%3E"));
	 }
	</script>
	
</html>

document.writeメソッドでURLエンコードを直接使用し、「<」を「%3C」としてエンコードしてから、unescape()メソッドを使用して文字列を復元します。

unescape()メソッドを使用して文字列を変換し直すと、出力が通常のスクリプト引用コードであることがわかります。

ここで、「通常の文字を使用しないのに、文字エンコードを使用するのはなぜですか?」という質問があります。実際、これには理由があります。つまり、コードはXML、XHTML、またはHTMLで正常に実行できます。 CDATA(ラベル)にコードを含める必要があります。

2番目の方法

<!-- CDN引入 -->
<script src="https://www.jq22.com/jquery/jquery-3.3.1.j"></script>
		<!-- 本地引入 -->
<script>window.jQuery || document.write(unescape("%3Cscript src='../js/jQuery_js.js' type='text/javascript'%3E%3C/script%3E"))</script>

上記は最初の原則と同じです。つまり、||演算子を使用して、window.jQueryがfalseの場合、ローカルjqueryライブラリがロードされます。

おすすめ

転載: blog.csdn.net/m0_46188681/article/details/108897638