Apps Komut Dosyası, kullanıcıları kötü amaçlı HTML veya JavaScript'ten korumak için HTML hizmeti web uygulamalarını ya da Google Dokümanlar, E-Tablolar ve Formlar için özel kullanıcı arayüzlerini korumalı alana almak üzere iFrame'leri kullanır. (HTML hizmeti, e-posta gövdesi oluşturma gibi diğer durumlarda sanal alan kullanmaz.) Korumalı alan, istemci tarafı kodla ilgili sınırlamalar uygular.
Korumalı alan modu
IFRAME
hariç tüm korumalı alan modları artık kullanılamıyor. Eski sanal alan modlarını kullanan uygulamalar artık daha yeni olan IFRAME
modunu otomatik olarak kullanıyor. Eski modlar (NATIVE
ve EMULATED
) kullanılarak geliştirilmiş komut dosyalarınız varsa IFRAME
modunda düzgün şekilde çalışabilmeleri için taşıma talimatlarını uygulamanız gerekir.
setSandboxMode
yöntemi artık çağrıldığında herhangi bir etkisi olmuyor.
IFRAME modundaki kısıtlamalar
IFRAME
Korumalı alan modu, HTML5'teki iframe korumalı alan özelliğine dayanır ve aşağıdaki anahtar kelimeleri kullanır:
allow-same-origin
allow-forms
allow-scripts
allow-popups
allow-downloads
allow-modals
allow-popups-to-escape-sandbox
allow-top-navigation-by-user-activation
- Bu özellik yalnızca bağımsız komut dosyası projeleri için ayarlanır.
İçeriğin üst düzey göz atma bağlamında gezinmesine olanak tanıyan allow-top-navigation
anahtar kelimesi kısıtlanmıştır ve korumalı alanda özellik olarak ayarlanmamıştır. Komut dosyanızı yönlendirmeniz gerekiyorsa kullanıcıların işlem yapması için bunun yerine bir bağlantı veya düğme ekleyin.
Bağlantı hedefi özelliğini ayarlama
IFRAME
modunda bağlantı hedefi özelliğini _top
veya _blank
olarak ayarlamanız gerekir:
Code.js
function doGet() { var template = HtmlService.createTemplateFromFile('top'); return template.evaluate().setSandboxMode(HtmlService.SandboxMode.IFRAME); }
top.html
<!DOCTYPE html> <html> <body> <div> <a href="http://google.com" target="_top">Click Me!</a> </div> </body> </html>
Ayrıca, bu özelliği kapsayan web sayfasının head bölümündeki <base>
etiketiyle de geçersiz kılabilirsiniz:
<!DOCTYPE html> <html> <head> <base target="_top"> </head> <body> <div> <a href="http://google.com">Click Me!</a> </div> </body> </html>
Etkin içerik için HTTPS gereklidir
Komut dosyaları, harici stil sayfaları ve XmlHttpRequests gibi "etkin" içerikler HTTP üzerinden değil HTTPS üzerinden yüklenmelidir.