私が取り組んでいるかなり JavaScript の多いサイトがあるので、コードをもう少し管理下に置くために、コードをいくつかの論理的な外部 JavaScript ファイル (.js ファイル) にグループ化しようとしました。ほとんどの場合、問題なく動作しますが、何らかの理由で、ファイルviewer.jsfile にある 1 つの関数がファイルから呼び出されるのを好みません (ajax.jsつまり、そうではありません)。Firebug コンソールはnb_displayError is not defined(問題の関数がnb_displayError().
viewer.jsHTML ファイルの script タグの上と下の両方に script タグを配置しようとしましajax.jsたが、どちらも違いはないようです。奇妙なことに、ファイル内の関数をajax.js別の JavaScript ファイルから呼び出すことができますが、これは特に失敗します。理由について何か考えはありますか?
参考までに、この問題を作成する関数呼び出しは次のように定義されています (特に難しいことではないと思います)。
function populateZoomLevel() {
var model = $('#modtype').children(':selected').text();
var lat = $("#loc-label").data('location').latitude;
var lon = $("#loc-label").data('location').longitude;
$.get("checkDomains.php", { result: 'zoomlevel', lat: lat, lon: lon, model: model })
.done(function(responseText){
if(responseText.substring(0, 7) == "error: "){ // Error flag
nb_displayError(responseText);
return; // Don't do anything further
}
$('#zoomlevel').html(responseText);
});
}