2016-11-28 56 views
5

Próbuję osadzić stronę, która jest dynamicznie budowana przy użyciu skryptu Google Apps w Google Apps Script w mojej witrynie w iFrame, ale zawartość iFrame nie jest wyświetlana. Skrypt Google Apps Script ma zasady tego samego pochodzenia, które uniemożliwiają jego załadowanie.Umieszczanie skryptu Google Apps w iFrame

Co staram się zrobić to (usunąłem cały link):

<iframe src="https://script.google.com/a/macros/SCRIPT_ID"></iframe> 

Błąd otrzymuję to:

Refused to display 'https://script.google.com/a/macros/SCRIPT_ID' 
in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'. 

Czy istnieje sposób, aby zmienić politykę i obciążenia zawartość w iFrame?

Odpowiedz

8

Firma Google niedawno włączyła tę funkcję. Od dłuższego czasu ma status "prośby o funkcję". Link here

Możesz teraz jawnie zdefiniować Opcje ramek X.

Aby umożliwić umieszczanie w innej domenie, opcja powinna być HtmlService.XFrameOptionsMode.ALLOWALL

Google dokumentacja na ten temat:

https://developers.google.com/apps-script/reference/html/html-output#setXFrameOptionsMode(XFrameOptionsMode)

Przykład:

function doGet() { 
    return HtmlService.createTemplateFromFile('form.html') 
     .evaluate() // evaluate MUST come before setting the Sandbox mode 
     .setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL); 
} 

Nadzieja ta pomaga!

+2

Dzięki dużo! Zadziałało! – Technotronic

+2

pracował również dla mnie! –

0

Miałem ten problem w formularzu odpowiedzi doPost, tylko w trybie deweloperskim, i poprawiłem go, zmieniając target = "_ self" na target = "_ top" w początkowym formularzu doGet.

<form method="POST" id="ss-form" target="_top" action="<?!=SETTINGS.PUBLISHED_URL?>">