2014-06-10 53 views
0

我有兩個發佈的Web應用程序(腳本1和腳本2)嵌入在谷歌網站頁面。傳達給兩個腳本最簡單的方法似乎是GET參數來調用頁面:如果我創建腳本的鏈接如何在兩個谷歌應用程序腳本之間進行溝通嵌入一個谷歌網站?

function doGet(requestInfo) 
{ 
    var tab = requestInfo.parameters['tab']; 
} 

但是:

https://sites.google.com/a/some.place.com/home?tab=1 

然後,兩個嵌入的腳本可以讀取參數1

var url = SitesApp.getActivePage().getUrl(); 
<a href='url + "?tab=1"' target="_top"> <a/> 

然後通過設置目標_self,_parent,_top或彈出如在一個_blank頁面點擊請求要麼加載到第一腳本的幀的鏈接後新標籤。這並不理想。

如果我使用ScriptApp類:

var url = ScriptApp.getService().getUrl(); 
href='url + "?tab=1"'; 

腳本1,然後點擊該鏈接僅將參數發送腳本1,而不是腳本2.

有間通信的更好的方法嵌入在網站中的兩個腳本?

回答

0

沒有切實可行的辦法。 您的第一個使用目標的方法會因爲瀏覽器的限制而失敗,而不是因爲氣體,iframe無法定位頂部。 第二種方法只發送給一個腳本。

保持腳本始終運行(使用hmtService時間間隔或帶重複服務器處理程序的uiService)並保持檢查某個共享存儲區,但它會消耗您的配額和其他問題,但它可能但不切實際。此外,它需要額外的工作來保持每個用戶/會話的視圖。

+0

感謝您確認我的恐懼。什麼瀏覽器限制不允許iframe中的鏈接指向_top?這個小塊讓我覺得這是一個天然氣問題:[link](https://developers.google.com/apps-script/guides/html/restrictions#anchor_tags) – user3726809

相關問題