2013-05-29 54 views
2

可以將HTMLService應用嵌入到iframe中嗎?iFrame中的應用腳本HTMLService應用

嵌入式例:http://jsbin.com/axesex/1/edit

應用程序可以被嵌入谷歌網站內,但不進任何其他標準的網頁。控制檯拋出錯誤...

拒絕在框架中顯示'https://script.google.com/a/macros/netpremacy.com/s/AKfycbxITmxBMsHIh_u82tbvfICzNesEUJh2MRe7izyDE9cgvaLPCZI/exec',因爲它將'X-Frame-Options'設置爲'SAMEORIGIN'。

如果您需要更多信息,請讓我知道。

+0

這是問題跟蹤項目,您可以添加您的詳細信息和星/遵循此功能要求 - https://code.google.com/p/google-apps-script-issues/issues/detail?id=2394 –

+0

感謝您的評論 –

回答

3

更新2017年3月24日

是的,但你需要在你的輸出設置額外的標誌以使其能夠採用iFrame:

// Serve HTML with no X-Frame-Options header (in Apps Script server-side code). 
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); 
output.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL); 
+0

謝謝埃裏克。你知道爲什麼不?作爲企業轉售商,將HtmlService應用程序集成到現有企業內部Web應用程序或Intranet站點中將非常有用。你能否給我詳細說明爲什麼沒有這個功能? 這個問題最初來自於我試圖在Chrome擴展中嵌入HtmlService應用程序。然後,我會強制將Chrome擴展插件發佈給域中的所有用戶。終端用戶在試用期間將使用該應用來捕獲非正式反饋。任何想法或解決方法? –

+1

我相信目前有安全問題阻止它。 –

+0

好的。謝謝。我構建了一個解決方法,使標準html表單發送帶請求字符串中數據的get請求。我的Chrome擴展程序運行良好。 –

-1

一種可能等同可能是使用JSONP。基本上修改Google Apps腳本以輸出作爲參數傳遞給函數的JSON(文本/ javascript mime類型)(您將在客戶端創建該函數。應用程序腳本的輸出如下所示:

client_side_handler(JSON HERE...); 

而且在客戶端頁面,您將有一個腳本的東西,如:

function client_side_handler(json){ 
    //make all my wildest dreams come true here. 
} 

要調用的應用程序腳本,你就會有另一個腳本標記,指定的應用程序腳本作爲一個src。謝天謝地,腳本標籤沒有iframes的跨站點限制。

+0

您可以根據文檔 – drmartin