条件分岐した時に、JavaScriptの外部ファイルを読み込む設定を忘備録として記載します。
HTMLに記載するときに使用してください。
目次
jQueryの場合
jQuery で読み込む場合、スクリプトがリモートドメインからロードされた場合にのみ <script> タグを追加します (例: http://hogehoge.com/script.js
)。
スクリプトがローカルドメイン (例: /script.js
) からのものである場合、jQuery は単にそれをメモリ内で実行し、<script> タグを作成しません。
そのため、開発ツールのネットワークタブでは、script.jsの読み込みが表示されないです。
<script>
if (!(navigator.userAgent.match(/(iPhone|iPad|iPod|Android)/i))) {
//デスクトップパソコンの時だけ
jQuery.noConflict();
(function ($) {
$.ajaxSetup({cache:true}); //キャッシュを有効にする
$.getScript("./dist/js/scripy.js");
})(jQuery);
}
</script>
JavaScriptの場合
document.writeは非推奨なので、document.createElementを使用します。
これは、開発ツールのネットワークタブで表示されます。
<script>
if (!(navigator.userAgent.match(/(iPhone|iPad|iPod|Android)/i))) {
//デスクトップパソコンの時だけ
const script = document.createElement('script');
script.src = './dist/js/script.js';
var bodyTag = document.getElementsByTagName('body')[0];
bodyTag.appendChild(script);
}
</script>