2011-03-12 64 views
4

我非常困惑在Google App Engine中加載JavaScript。我正在使用Django模板。在Google App Engine中加載JavaScript

首先,在我的基地 HTML文件,我不能從本地說,d:/jquery.js加載我下載的jQuery代碼,像

<script src="d:\jquery.js" type="text/javascript" ></script></head>, 

這條線路是在我的基地HTML文件。它在我從遠程加載jQuery時起作用。像

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"type="text/javascript" ></script></head> 

我不知道爲什麼。

其次,我無法將我自己創建的JavaScript代碼加載到我的HTML文件中。假設我創建了一個JavaScript文件,例如layout.js,並且我嘗試在我的子HTML文件中像這樣加載它,順便說一下,它從基地 HTML繼承。

<body><script src="layout.js" type="text/javascript"></script></body> 

而且它根本不起作用。我嘗試過的唯一方法是將實際的JavaScript代碼放入基本HTML文件的主體中。像

<body><script> 
    $(document).ready(
     $("#yes").click(function() { 
      $("#no").hide("slow"); 
    })); 
</script> 

我不知道爲什麼要麼......我該如何解決它?

+0

你能字你的問題更清楚,或者至少把它分解成幾段?還要注意\是插入代碼的正確字符,而不是* – 2011-03-12 16:05:12

+4

您如何認真地期望您的前端代碼從本地計算機加載腳本? – 2011-03-12 17:01:39

回答

17

AppEngine不知道本地系統上的任何路徑;它只會上傳您配置的文件。通過在你的app.yaml文件中這樣一行做到這一點:

handlers: 
- url: /js 
    static_dir: js 

在這種情況下,/js代表您的主項目目錄的子目錄,你可以把你所有的靜態JavaScript文件在裏面。他們將被上傳到生產服務器,你可以將它們包含在你的HTML:

<script src="/js/jquery.js" type="text/javascript" ></script> 
+1

謝謝你回覆我,但我配置我的app.yaml就像你上面說的,並把我所有的javascirpt文件放入js子文件夾中。但仍然有錯誤,說404未找到... **請求URL:http:// localhost:8080/js/jquery.js 請求方法:GET 狀態碼:404未找到**,謝謝 – 2011-03-12 19:46:14

+9

檢查您的app.yaml中的url處理程序的順序。如果你沒有在/.*之上的/ js處理程序,那麼在/ js規則有機會之前,/.*規則將會捕獲所有GET請求(包括你的js目錄)。 – 2011-05-09 06:49:55