前提・実現したいこと
今ローディング画面を作っているのですが、非同期通信で読み込んだJavaScriptファイルの関数を使おうとしています。
発生している問題・エラーメッセージ
Uncaught ReferenceError: func is not defined
該当のソースコード
jQueryの宣言は省略しています。
load.js
javascript
1var urlArray = [ 2 "〜", 3 "〜", 4 "〜", 5 "〜", 6 "〜", 7 "〜", 8 "〜", 9 "〜", 10 "/source/script.js", 11 "〜", 12 "〜", 13 "〜" 14 ] 15 const jsFileCount = 11;//使うJSファイルの量 16 var jsFile = 0 17 var savedFileCount = 0 18 var loadedBoolean = true 19 var countPercent; 20 var savedPercent = 0 21 var valiable = false 22 var startCount = setInterval(function () { 23 savedPercent = countPercent 24 if (loadedBoolean == true) { 25 loadedBoolean = false 26 $.getScript( 27 urlArray[jsFile] 28 ).done(function (script, textStatus) { 29 loadedBoolean = true 30 savedFileCount++ 31 jsFile++ 32 }).fail(function (jqxhr, settings, exception) { 33 console.log("外部ファイルの読み込みに失敗しました。") 34 }) 35 } 36 countPercent = Math.floor(savedFileCount / jsFileCount * 100) 37 console.log(countPercent + "%") 38 $("#splash_text").text(countPercent + "%") 39 $("#splash_bar").animate({ 40 width: countPercent + "%" 41 }, 100) 42 43 //もし終わったら終了 44 if (savedFileCount == jsFileCount) { 45 clearInterval(startCount) 46 func() 47 } 48 }, 100)
script.js
javascript
1function func (){ 2 alert("正常に読み込まれました。") 3}
試したこと
script.jsにはテスト用にfuncの関数がありますが、本当は他のコードが入っています。
しかし、上記のエラーコードが出ていたのでもしかして読み込まれていないのでは...と思い、
script.jsに
javascript
1alert("正常に読み込まれました。")
をそのまま書くと、しっかりと表示されました。
よってscript.jsは読み込まれていたはずなのですが、関数を使おうとするとエラーが出てしまう問題が発生しています。
補足情報(FW/ツールのバージョンなど)
Google Chrome
jQuery 3.2.1
何か不明な点がございましたらコメントにて教えていただけると嬉しいです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/29 01:54
2021/10/29 01:58
2021/10/29 02:17
2021/10/29 03:01
2021/10/29 03:27
2021/10/29 09:04
2021/10/29 09:07
2021/10/29 09:16
2021/10/29 09:24 編集
2021/10/29 09:38
2021/10/29 09:51
2021/10/29 10:00