لحماية المستخدمين من عرض محتوى HTML أو JavaScript ضار، استخدِم "برمجة تطبيقات Google". استخدام إطارات iframe في وضع الحماية لتطبيقات الويب لخدمة HTML أو المستخدم المخصّص الواجهات الخاصة بـ "مستندات Google" و"جداول بيانات Google" و"نماذج Google". (خدمة HTML لا تستخدم وضع الحماية في الحالات الأخرى، مثل إنشاء نص رسالة إلكترونية). وضع الحماية تفرض قيودًا على التعليمات البرمجية من جهة العميل.
وضع الحماية
تم إيقاف جميع أوضاع وضع الحماية الآن باستثناء IFRAME
. التطبيقات التي تستخدم وضع حماية قديم
تستخدم الآن الأوضاع وضع IFRAME
الأحدث تلقائيًا. إذا كانت لديك نصوص برمجية
تم تطويرها باستخدام الوضعين الأقدم (NATIVE
وEMULATED
)، يجب عليك
اتّبِع تعليمات نقل البيانات للتأكّد من
أن تعمل بشكل صحيح ضمن وضع IFRAME
.
setSandboxMode
ليس لها أي تأثير عند استدعائها.
القيود في وضع Iframe
يعتمد وضع الحماية في IFRAME
على
ميزة وضع حماية iframe
في HTML5، باستخدام الكلمات الرئيسية التالية:
allow-same-origin
allow-forms
allow-scripts
allow-popups
allow-downloads
allow-modals
allow-popups-to-escape-sandbox
allow-top-navigation-by-user-activation
: تمّ ضبط هذه السمة فقط على مشاريع النصوص البرمجية المستقلة.
الكلمة الرئيسية allow-top-navigation
، التي تسمح للمحتوى بالتنقّل
سياق التصفح على المستوى الأعلى، فهو محظور ولا يتم تعيينه كسمة في
وضع الحماية. إذا كنت تريد إعادة توجيه النص البرمجي، فأضف رابطًا أو زرًا
المستخدم اتخاذ إجراء بشأنه بدلاً من ذلك.
إعداد سمة هدف الرابط
في الوضع IFRAME
، عليك ضبط سمة هدف الرابط على إحدى القيمتَين التاليتَين:
_top
أو _blank
:
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>
يمكنك أيضًا إلغاء هذه السمة باستخدام العلامة <base>
في رأس الصفحة.
من صفحة الويب المضمنة:
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<div>
<a href="http://google.com">Click Me!</a>
</div>
</body>
</html>
يجب استخدام HTTPS للمحتوى النشط
نشط" المحتوى مثل النصوص البرمجية وأوراق الأنماط الخارجية وXmlHttpRequests، يجب تحميلها عبر HTTPS وليس HTTP.