问题标签 [google-caja]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
128 浏览

javascript - 当 HTML5 Files API(具体为 FileList)不可用时,如何获取文件的值?

Google Apps 脚本 HTML 服务 ( Caja ) 与 HTML5 API 不兼容,包括 Files API。因此,我无法从输入对象调用 Files 属性。

由于我在互联网上找到的所有解决方案都涉及 HTML5,因此非常感谢能够规避此问题并允许我处理每个单独上传的文件的方法。

0 投票
2 回答
1323 浏览

javascript - html页面上的动态填充选择菜单将在android webview上显示而不使用jquery mobile

我使用谷歌应用程序脚本制作了一个网络应用程序并将其部署在网络上。该应用程序在 PC 上运行良好,但是当我将其加载到 android 上的 webview 时,<select>不会显示动态填充的菜单(它们是空的)。

我知道 google caja 对 jquery mobile 有问题所以我不能使用 jquery mobile。

问题是是否有一种方法可以使<select>菜单仅使用 jquery 或 javascript 工作?或者也许我可以在android中做一些技巧?

这是我如何使用 jquery 填充菜单的示例:

HTML部分:

安卓部分:

先感谢您。

编辑:

看起来菜单不令人耳目一新。一开始我有一个内置选项:

这个选项在 jquery 部分被删除,但是菜单没有更新,它保持为空。

我已经尝试过没有积极的结果:

0 投票
1 回答
2087 浏览

gmail - Google Gmail 上下文小工具示例

所以我有兴趣学习如何编写一个 Gmail 小工具来做一些愚蠢的事情,但我没有这方面的经验。在过去的一个月左右,我零星地阅读了 API ( https://developers.google.com/gmail/contextual_gadgets ),但没有取得太大进展。我想知道是否有经验的人愿意回答以下问题:

1) 小工具到底需要哪些文件?只是清单和规范?他们应该有具体的名字吗?

2) https://developers.google.com/gmail/contextual_gadgets?csw=1#hello_world_example_manifest 这个链接有示例代码并说在example.com中替换您自己的信息,这是什么意思?为什么我们需要这样做?

3) 你是否有一些非常简单的小工具,例如一个你愿意分享的“hello world”?(我不是想窃取你的代码,我只是想看看一个完整的成品,看看我需要在我的项目中做什么)

非常感谢!

0 投票
1 回答
4124 浏览

angularjs - Google Apps 脚本中的 Angular JS

Google Apps 脚本是否支持 Angular JS?我可以使用外部库,如 jQuery、UnderscoreJS 但不能使用 Angular JS?

关于 CAJA 何时支持 Angular JS 的任何想法?

0 投票
1 回答
729 浏览

javascript - Google Apps 脚本 HTML 服务 - 无法让 Keypress 工作

使用 jQuery 可以正常工作:

但是,当按下一个键时,我想做一些事情。这两个我都试过了:

都不行!

0 投票
1 回答
186 浏览

google-apps-script - 不清楚如何解决 Google Apps 脚本中的 SES 初始化错误

我有一个脚本,我想在 Google 文本文档中作为对话框运行。当我用一个简单的脚本替换对 HtmlService.createHtmlOutputFromFile 的调用中的 URL 时,它可以正常工作。对于我的脚本,它似乎被 SES 初始化拒绝了。我在控制台中看到:

我假设我在某个地方违反了 GAS 安全限制,但我不知道如何找出在哪里。有没有办法找出我的代码中存在“安全规范违规”的地方?

0 投票
2 回答
373 浏览

javascript - 如何将白名单传递给 caja web 独立脚本

我正在使用http://caja.appspot.com/html-css-sanitizer-minified.js来清理用户 html,但是在某些情况下,我想将使用的标签限制为白名单。

我发现https://code.google.com/p/google-caja/wiki/CajaWhitelists描述了如何定义白名单,但我不知道如何将它传递给 html 提供的 html_sanitize 方法-css-sanitizer-minified.js

我试过调用 html.sanitizeWithPolicy(the_html, white_list); 但我收到一个错误:

由于缩小,这很难调试,但似乎 html-css-sanitizer-minified.js 不包含 html-sanitizer.js 文件中的所有内容。

我尝试使用 html-sanitizer.js 与 cssparser.js 结合而不是缩小版本,但在调用它之前出现错误,大概是因为我缺少其他依赖项。

我怎样才能使这项工作?

编辑: sanitizeWithPolicy 确实存在于缩小文件中,但在此过程中进一步丢失了一些东西。这表明此文件不能与自定义白名单一起使用。我现在正在调查是否有可能找出我需要包含哪些未缩小的文件来制作我自己的版本。

Edit2:我缺少两个文件https://code.google.com/p/google-caja/source/browse/trunk/src/com/google/caja/plugin/html4-defs.js?spec=svn1950&r=1950https://code.google.com/p/google-caja/source/browse/trunk/src/com/google/caja/plugin/uri.js?r=5170

但是我现在收到一个错误,因为 sanitizeWithPolicy 需要一个函数而不是白名单对象。此外,html4-defs.js 文件非常旧,因此必须构建 caja 项目才能获得更新的项目。

0 投票
1 回答
481 浏览

google-apps-script - Caja / Apps Scripts jQuery $(document).ready 未触发

我在 Apps Scripts 中有一个项目,我的 $(document).ready 中的代码永远不会被执行。我还在http://caja.appspot.com/上尝试了这个基本代码,但它也不起作用。

“不工作”文本出现。还尝试使用 jQuery 版本 2.xx

有任何想法吗?

谢谢

0 投票
1 回答
311 浏览

google-apps-script - HtmlService 独立 webapp CSS caja 显示问题

我在这里有一些简单的 CSS 来显示 web 应用程序的侧边栏,但是我无法让两个 DIV 并排显示。我使用了许多不同的 CSS 库,它们都具有相同的行为。

我的猜测是 caja 会碍事,但我不确定。

任何人都可以阐明这一点,或者提供解决方案吗?我希望有一个响应式设计,以便平板电脑/手机设备也可以使用这个应用程序。

代码.gs:

索引.html:

css.html:

0 投票
1 回答
498 浏览

javascript - 这个 Google Picker 警告是否无关紧要?

当我交付一个完整的开发时,我喜欢尝试确保浏览器控制台日志中出现的报告为零,但是 Google Chrome 中的 Google Picker 会输出一些我无法理解的内容,更不用说消除了。

在铬:

无法在“DOMWindow”上执行“postMessage”:提供的目标来源(“ https://docs.google.com ”)与收件人窗口的来源(“ https://script.google.com ” )不匹配。rpc.js?c=1&container=onepick:449(匿名函数) rpc.js?c=1&container=onepick:449

加载“ https://docs.google.com/picker?protocol=gadgets&origin=https%3A%2F%2Fscript …yM00%22%7D))&rpctoken=j40k2vrtblzp&rpcService=web4u667ke9q&thirdParty=时遇到无效的“X-Frame-Options”标头true': 'ALLOW-FROM https://script.google.com ' 不是公认的指令。标题将被忽略。

我在 Firefox 开发者控制台中没有看到任何类似的东西,除了以下看似无关的消息:

NS_ERROR_XPC_SECURITY_MANAGER_VETO:unity-global-property-initializer.js:238

在我的 GAS 脚本中使用 Google Picker 似乎以其他方式正常工作。

我能做些什么来消除这些警告吗?

他们是想告诉我一些我应该认真对待的事情吗?