3
每當我嘗試在單獨的paperscript標記中調用javascript函數時,都會收到未捕獲的引用錯誤。我嘗試了測試代碼嘗試調用函數時引用錯誤
HTML體:
<canvas id="c"></canvas>
<script type="text/javascript" src="vendor/paper.js"></script>
<script type="text/paperscript" src="foo1.js" canvas="c"></script>
<script type="text/javascript" src="foo2.js"></script>
畫布將不會在這個例子中使用,它只是一些paper.js需求而努力。
所以對於腳本:
foo1.js(paperscript)
function blah(){ console.log("blah"); }
foo2.js(JavaScript的)現在
window.onload = function{ blah(); }
,如果我加載HTML,控制檯告訴我blah()拋出一個引用錯誤。但是,如果我改變
type="text/paperscript"
到
type="text/javascript"
爲foo1.js,那麼控制檯將顯示 「嗒嗒」 並不會引發錯誤。爲什麼是這樣?
這可能與瀏覽器如何運行的JavaScript做。通常,瀏覽器會在運行任何代碼之前等待所有腳本加載。但是因爲'foo1.js'是'text/paperscript',它會被跳過,'foo2.js'會立即運行。確保'foo2.js'中的代碼在'foo1.js'上有魔術效果後運行 – Halcyon