我想通過提供基於用戶點擊的不同HTML頁面來更改其UI的單個GAS項目。我無法弄清楚如何從腳本提供不同的HTML,替換當前的瀏覽器頁面並保留狀態。任何幫助讚賞。謝謝。從同一個腳本提供不同的HTML頁面?
回答
使用google.script.run您可以在html頁面上運行服務器上的任何腳本。通過communicating with the server您可以訪問PropertiesService,這使您可以在頁面之間存儲信息。我個人喜歡HTML Service createHtmlOutput(html),因爲我可以編輯html而無需編輯單獨的頁面。
我決定在這裏回答你的問題,以便我可以使用代碼部分。
問:
我其實希望避免操縱HTML和服務於存儲在項目 完全不同的HTML文件。我如何讓 頁面再次調用腳本,並用新的 內容替換本身?
我們猜測,完全替換頁面並不是真正想要的,因爲用戶會遭遇頁面刷新。但是你可以像這樣創建的div:
<style>#R01{display:none;}</style>
<div class="replaceable" id="R01"></div>
如果你把你所有更換的內容一樣,div的,那麼你可以通過這樣的電話從服務器請求的內容:
google.script.run
.withSuccessHandler(updateConversation)
.withFailureHandler(showStatus)
.getConversation();
,並把新內容到適當的div中,然後用另一對來更改css,並關閉舊內容和新內容。從而避免頁面刷新。不要忘記先將舊數據保存到PropertiesService中。所以我不認爲改變整個頁面是一條路,但我可能是錯的。我認爲只要更改一些內部內容就可以避免整個頁面刷新的需要。如果你想使用CSS Sprites
改變圖像可以避開其他下載我用兩個選項:
- 具有帶有按鈕或文本區域與平變化設置爲一個回調到一個功能的主頁服務器端並獲取新的頁面數據,然後用新頁面替換當前頁面或頁面的一部分。
- 在URL中傳遞參數並讓服務器端doGet()解析參數並分支根據這些值加載給定頁面。
我已經有效地使用了這兩者的組合。基本上我有一個div有我的「菜單」和一個div,這是要更換的部分。我的菜單發生變化,然後將數據發送回服務器以獲取動態主體。 HTML返回,然後我replace using innerHTML。
在相同的代碼中,我提供了pass menu values via the published URL的功能。這使我可以直接轉到一些值,如果我這樣選擇,因爲我有一個Google站點,我們將腳本嵌入到頁面中,並且菜單選項可能是特定於該頁面的。它允許我們使用iFrame來顯示Web應用程序並直接進入相關界面。
- 1. 如何將腳本的不同功能放在同一個html頁面中?
- 2. HTML/PHP相同的頁面腳本
- 3. 在同一個html頁面上使用不同的D3版本
- 4. 如何讓一個超鏈接提供不同的頁面?
- 5. 通過從不同的html頁面調用,在另一個html頁面的div中加載一個html頁面
- 6. 將兩個不同的文本放在HTML頁面的同一個地方
- 7. 在一個html頁面中加載不同的頁面?
- 8. MS Access - 2個不同頁面頁腳
- 9. 如何從不同的HTML頁面
- 10. ViewPagerIndicator爲每個頁面提供不同的菜單?
- 11. Rails。針對不同腳本的不同頁面
- 12. 如何在同一頁面中使用兩個不同的jQuery腳本?
- 13. 從html頁面提供javascript文件
- 14. mod_rewrite通過php腳本提供html頁面
- 15. 一個文本框一個按鈕在HTML中的兩個不同的頁面
- 16. 通過從其他HTML頁面提取的DIV生成HTML頁面的腳本
- 17. 如何在向同一個html頁面添加文本時運行php腳本?
- 18. 如何爲不同用戶提供具有相同登錄頁面的不同用戶頁面?
- 19. 在同一頁面中使用兩個不同的jQuery版本
- 20. jQuery的從同一個頁面.load和不同的ID插入
- 21. jQuery的load()方法從不同的頁面圖像和腳本
- 22. 春天啓動不提供一個HTML頁面
- 23. Jsp和Servlets在同一個HTML頁面
- 24. 點擊從不同的頁面影響另一個頁面
- 25. 對同一頁上的多個html表單重用JavaScript腳本
- 26. 如何向不同的ajax頁面提供不同的css文件?
- 27. ASP.NET MVC 4爲不同頁面上的用戶提供不同的權限
- 28. 如何爲不同的用戶提供不同的登錄頁面?
- 29. 如何爲不同的用戶提供不同的登錄頁面?
- 30. 爲不同的ASP.NET MVC 3區域提供不同的登錄頁面
是的,謝謝。這是關於PropertiesService的一個好主意。實際上,我希望避免操縱HTML並提供存儲在項目中的完全不同的HTML文件。 如何讓頁面再次調用腳本並用新內容替換自己? 謝謝。 – skyser5
我在上面的答案部分添加了對你的問題的答案,因爲它可以使用代碼段,所以它有點更好。謝謝 – Cooper