我爲JavaScript使用了一個外部.js文件,但我遇到了一個問題,我的HTML無法找到我的任何JavaScript函數。我知道這些函數的工作原理,因爲如果我將它從外部文件移動到我的html文件中,它可以正常工作。我在Chrome瀏覽器的JavaScript控制檯中遇到的錯誤是我的功能沒有定義。我也知道,我的外部頁面的路徑工作,因爲我有一些帆布標籤閱讀JavaScript完美罰款。JavaScript函數無法在外部.js文件中工作
回顧一下,這個工程:
HTML:
<canvas id="Canvas7"></canvas>
的JavaScript:
window.onload = function() {
var g=document.getElementById("Canvas7");
var ctx=g.getContext("2d");
var grd=ctx.createRadialGradient(75,50,5,90,60,100);
grd.addColorStop(0,"red");
grd.addColorStop(1,"white");
ctx.fillStyle=grd;
ctx.fillRect(10,10,150,80);
// ...
};
但下面給我的錯誤 「未捕獲的ReferenceError:的getLocation沒有定義」:
HTML:
<button onclick="getLocation()">Click here</button>
的JavaScript:
window.onload = function() {
var x=document.getElementById("location");
function getLocation(){
if (navigator.getlocation){
navigator.getlocation.getCurrentPosition(showPosition,showError);
}
else{
x.innerHTML="GeoLocation is not supported by this browser.";
}
}
// ...
}
這不是一個巨大的問題,因爲我可以只保留JavaScript的在我的HTML文件,但它佔用了大量的空間,我寧願保持組織的一切。如果有人知道我可以如何解決這個問題,將不勝感激。
您確定在onclick事件被觸發之前正在執行JavaScript嗎? – railgun 2013-05-04 00:03:09
@DonovanGlover我發佈的所有JavaScript都在'window.onload = function(){'中,並且我的所有8個canvas標籤都正常工作,它只是每次創建函數chrome都會給我未捕獲的ReferenceError:getLocation不是定義的錯誤。 – 2013-05-04 00:14:57
你可以發佈你使用的''語法。 – garromark 2013-05-04 00:28:02