我引用JavaScript的HTML頁面上進行如下:Document.ready在外部文件中?
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.1.min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/mobile/1.0b1/jquery.mobile-1.0b1.min.js"></script>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&region=GB"></script>
<script type="text/javascript" src="js/shared.js"></script>
<script type="text/javascript">
$('document').ready(function() {
// In-page code: call some functions in shared.js
});
</script>
在shared.js定義的函數不是包裹在裏面$('document').ready
。所以:
它是安全的假設,在
shared.js
定義的函數都可以以「在頁面代碼」?如果我拉出在頁面代碼到名爲
local.js
一個單獨的文件(保持它包裹在$('document').ready
),它仍然是安全的假設,在shared.js
定義的功能有哪些?最後,是不是我在
$('document').ready
裏面包裝shared.js有問題?我發現如果我包裝它,它的功能將不再可用於頁內代碼。
原因問題3的是,我打這個問題:Uncaught TypeError: Property ... is not a function - after page has loaded
,並想知道是否是與我是如何組織我的代碼。
更新:感謝您的答案。現在很清楚,在shared.js中使用$('document').ready
會從全局範圍中刪除這些函數。不過,我只是想澄清一點原來的問題3.
我可以假設,如果我做到以下幾點:
- 內我的頁面代碼,裏面裝
$('document').ready
,調用從共享功能.JS - 在shared.js功能是指jQuery的,谷歌地圖,或元素在我的網頁
不會有問題呢?
換句話說,假設頁面在調用shared.js
內部函數的時候已經加載,即使我沒有在$('document').ready
中包含該文件中的所有內容,也安全嗎?
+1很好的解釋 – kapa