2012-09-06 71 views
1

是否可以在Google Apps腳本的HtmlService中使用localStroage? 我試過下面的代碼,但它顯示錯誤消息,因爲localStorage沒有定義。是否可以在HTMLService中使用localStorage?

function doGet() { 
    var ui = HtmlService.createHtmlOutputFromFile('main'); 
    return ui; 
} 

<!DOCTYPE html> 
<html> 
    <head> 
    <script>localStorage.setItem('howGood', 'awesome');</script> 
    </head> 
<body> 
    </body> 
</html> 
+0

有趣的,沒有嘗試的localStorage自己還,但你可以使用服務器端的ScriptDb [1],而不是 - 工作正常。 [1] https://developers.google.com/apps-script/scriptdb –

回答

7

本地存儲支持IFRAME沙盒模式:

function doGet() { 
    return HtmlService.createHtmlOutputFromFile('Index') 
     .setSandboxMode(HtmlService.SandboxMode.IFRAME); 
} 

<script> 
    localStorage.setItem("mynote", "test msg"); 
    var note = localStorage.getItem("mynote"); 
    alert(note); 
</script> 
+0

謝謝,這對我有用! – Srikanth

0

localStorage是HTML 5的一部分,它不受Apps Script支持。 如果你看看documentation,它說Apps Script目前支持HTML 4.01。

但是,您可以在Issue Tracker中打開增強請求以請求此功能。

作爲替代方案,您可以根據需要使用UserProperties或CacheService。

+1

粗體語句部分'localStorage是HTML 5的一部分,**不受Apps Script支持**'不是正確。 [documentation](https://developers.google.com/apps-script/html_service#Caja)還包含如果瀏覽器支持HTML5的某些功能的信息。我創建了一個採用[Caja playground](http://caja.appspot.com/)的Canvas Clock示例的腳本,它使用HTML5的元素。它工作正常。這裏是工作的[script](http://goo.gl/asVRN)和[sources](http://goo.gl/28KFt)。 – megabyte1024

+0

感謝您的澄清。希望應用腳本很快就會支持! – Srikanth

1

localStorage不受支持。它可能在未來得到支持,並且問題跟蹤器功能請求是適當的。現在

+0

謝謝!添加了一個[這裏](http://code.google.com/p/google-apps-script-issues/issues/detail?id=1809) – Srikanth

相關問題