Chr*_*aun 3 google-sites google-apps-script
我正在使用Google Apps脚本在我的Google网站上放置GeoChart.当我未登录到我的Google帐户时查看该页面会在顶部显示一个灰色横幅,其中包含以下状态:"此应用程序是由其他用户创建的,而不是由Google创建的." 在这里看到它.
有没有办法删除此横幅或将其移动到页面底部,以便它看起来更好?我在这里找到了一个简短的讨论(参见第四条评论),但这不适用于我在HtmlOutput对象中使用的doGet
function doGet() {
return HtmlService.createHtmlOutputFromFile('prate').setSandboxMode(HtmlService.SandboxMode.IFRAME);
}
Run Code Online (Sandbox Code Playgroud)
用于抑制使用HtmlService创建的WebApp的警告的两个选项是:
自定义CSS,例如在Stylesheet.html中(假设您已从WebApp脚本模板开始).
.warning-bar {
visibility: hidden;
}
Run Code Online (Sandbox Code Playgroud)
我试过这个,发现它对最终的显示效果没有影响.如果class="warning-bar"iframe的HTML中有一个元素,那么该元素将被隐藏.同样,如果我们尝试通过id修改警告栏,#warning; 对iframe之外的元素没有影响.
父元素没有CSS支持,所以这是一个死胡同.
使用客户端JavaScript来操纵iframe之外的元素.通过向JavaScript.html添加代码(再次假设WebApp脚本模板),我们可以尝试更改文档元素.
使用jQuery:
$('.warning-bar:first',parent.document).hide();
Run Code Online (Sandbox Code Playgroud)
使用纯JavaScript:
top.getElementById('warning').style.display = 'none';
Run Code Online (Sandbox Code Playgroud)
这些都不奏效.Google用于托管Google Apps脚本的配置会阻止在iframe中运行的JavaScript访问父页面中的项目.这是JavaScript控制台中显示的错误:
未捕获的SecurityError:阻止具有原点" https://n-gtoiuxrqufcpexrnkeysovsfb7ibnjwczjyz6ii-script.googleusercontent.com "的框架访问具有原始" https://script.google.com " 的框架.协议,域和端口必须匹配.
他们强迫我们脚本的iframe拥有一个与周围文档不同的主机域,从而使单域安全策略能够阻止我们尝试执行的确切操作.
根据您在问题中链接的问题,避免该恼人消息的唯一选择是切换到付费的Google Apps域(例如商业或教育).
| 归档时间: |
|
| 查看次数: |
4791 次 |
| 最近记录: |