2013-07-17 61 views
0

在Google Apps腳本中,我試圖在模板HTML中使用jQuery。我收到以下錯誤:

ReferenceError: "$" is not defined.

的index.html

<html> 
    <head> 
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
    </head> 
    <body> 

    My favorite Google products: 
    <? var data = ['Gmail', 'Docs', 'Android']; ?> 
    <? $(data).each(function(){ ?> 
    <?= this ?> 
    <?}); ?> 

    </body> 
</html> 

Code.gs

function doGet() { 
    return HtmlService 
    .createTemplateFromFile('index') 
    .evaluate(); 
} 
+0

在我的情況。我錯誤地包含在我的腳本 – Nevermore

回答

2

標籤<?這意味着代碼在服務器上運行,和服務器端似乎jQuery沒有加載,所以$引用不存在。

像這樣的事情應該沒有問題的工作:

<html> 
    <head> 
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
    <script> 
     $(function() { 
      var data = ['Gmail', 'Docs', 'Android']; 
      var products = $('#products'); 
      $(data).each(function(index, value) { 
      products.append('<li>' + value + '</li>'); 
      }); 
     }); 
    </script> 
    </head> 
    <body>  
    My favorite Google products: 
    <ul id="products"/> 
    </body> 
</html> 
+0

jQuery庫理解代碼爲HTML服務建議應適用後:最佳實踐 - '異步加載數據,不在模板中'https://developers.google.com/apps-script/guides/html-service-best-practices?hl=es#load_data_asynchronously_not_in_templates – wchiquito