我正在使用Google Apps脚本在我的Google网站上放置GeoChart。当我没有登录我的谷歌帐户时查看页面在顶部显示一个灰色横幅,状态为:"此应用程序由其他用户创建,而不是由Google创建。"见here。
有没有办法删除此横幅或将其移至页面底部以使其看起来更好?我找到了一个简短的讨论here(参见第四条评论),但这不适用于我在doGet
function doGet() {
return HtmlService.createHtmlOutputFromFile('prate').setSandboxMode(HtmlService.SandboxMode.IFRAME);
}
答案 0 :(得分:8)
对于任何关心的人,我通过在iframe中嵌入包含此问题的google页面并使用负边距来解决这个问题。不能看到酒吧。只要其他人可以使用建议
就把它扔出去答案 1 :(得分:5)
从使用HtmlService制作的WebApp中抑制该警告的两个选项似乎是:
自定义CSS,例如在Stylesheet.html中(假设您已从WebApp脚本模板开始)。
.warning-bar {
visibility: hidden;
}
我尝试了这个,发现它对最终显示效果没有影响。如果iframe的HTML中包含class="warning-bar"
元素,则将隐藏该元素。同样,如果我们尝试按id修改警告栏,#warning
;对我们的iframe之外的元素没有任何影响。
父元素没有CSS支持,所以这是一个死胡同。
使用客户端JavaScript来操纵iframe之外的元素。通过向JavaScript.html添加代码(再次假设WebApp脚本模板),我们可以尝试更改文档元素。
使用jQuery:
$('.warning-bar:first',parent.document).hide();
使用纯JavaScript:
top.getElementById('warning').style.display = 'none';
这些都不奏效。 Google用于托管Google Apps脚本的配置会阻止在iframe中运行的JavaScript访问父页面中的项目。这是JavaScript控制台中显示的错误:
未捕获的SecurityError:阻止具有原点“https://n-gtoiuxrqufcpexrnkeysovsfb7ibnjwczjyz6ii-script.googleusercontent.com”的帧访问具有原点“https://script.google.com”的帧。协议,域和端口必须匹配。
他们强制我们的脚本的iframe拥有一个与周围文档不同的主机域,从而使单域安全策略能够阻止我们尝试执行的确切操作。
< / LI> 醇>根据您在问题中链接的问题,避免这种恼人信息的唯一选择是切换到付费的Google Apps域(例如商家或教育)。
答案 2 :(得分:1)
如果您使用IFRAME标签将Google Script Web应用程序嵌入另一个网站,则警告横幅将被隐藏。确保将页面的X-Frame-Options标头设置为XFrameOptionsMode.ALLOWALL,这将允许任何网站对Web应用程序页面进行框架化。
请参见docs。
答案 3 :(得分:0)
我已成功使用Chrome扩展程序Custom JavaScript for websites。它允许您在任何域上运行任何JavaScript。
要隐藏Google警告横幅,只需在自定义JavaScript窗口中输入以下代码:
document.getElementById('warning').style.display = 'none';
点击保存。它将立即应用。
答案 4 :(得分:0)
如果将其嵌入google site中,则横幅不会显示。