Google Apps Script Docs插件侧边栏空白 ERR_BLOCKED_BY_CLIENT报错排查
Google Docs 插件非默认账号下侧边栏空白问题
问题表现
使用Google Apps Script开发的Google Docs插件多数场景可正常运行,但存在以下异常:
- 若Chrome浏览器中当前使用的G Suite账号不是浏览器账号列表排序第一的账号,点击插件启动入口后侧边栏完全空白,无法加载预期插件内容
- 控制台出现大量
net::ERR_BLOCKED_BY_CLIENT报错,多数报错指向chrome-extension://invalid/资源加载失败,对应报错栈来自Docs自身的离线接口、核心运行脚本 - 上述大部分报错在点击启动插件前就已存在,即便未安装该自定义插件也会出现;在Brave浏览器中可复现问题,单账号登录场景下也存在偶发空白的情况
控制台报错参考:
Failed to load resource: net::ERR_BLOCKED_BY_CLIENT /offline/iframeapi?ouid=<censored>=5:1 GET chrome-extension://invalid/ net::ERR_BLOCKED_BY_CLIENT 3620742667-docs_offline_iframe_api_bin.js:206 GET chrome-extension://invalid/ net::ERR_BLOCKED_BY_CLIENT So @ 3620742667-docs_offline_iframe_api_bin.js:206 (anonymous) @ 3620742667-docs_offline_iframe_api_bin.js:209 G @ 3620742667-docs_offline_iframe_api_bin.js:63 gp @ 3620742667-docs_offline_iframe_api_bin.js:209 fp @ 3620742667-docs_offline_iframe_api_bin.js:209 q.Oc @ 3620742667-docs_offline_iframe_api_bin.js:343 q.Tc @ 3620742667-docs_offline_iframe_api_bin.js:339 (anonymous) @ 3620742667-docs_offline_iframe_api_bin.js:185 ...(后续重复的离线接口、核心脚本报错省略) 2551766479-mae_html_user_bin_i18n_mae_html_user__iw.js:58 Uncaught Sd @ 2551766479-mae_html_user_bin_i18n_mae_html_user__iw.js:58 Yf @ 2551766479-mae_html_user_bin_i18n_mae_html_user__iw.js:91 (anonymous) @ 2551766479-mae_html_user_bin_i18n_mae_html_user__iw.js:24 eh.U @ 2551766479-mae_html_user_bin_i18n_mae_html_user__iw.js:125 Jd @ 2551766479-mae_html_user_bin_i18n_mae_html_user__iw.js:55 a @ 2551766479-mae_html_user_bin_i18n_mae_html_user__iw.js:53
空白侧边栏效果:
触发原因
- 控制台中占比最高的
chrome-extension://invalid/相关报错是Google Docs自身的已知问题:多账号登录场景下,Docs尝试加载Chrome官方离线编辑扩展时,无法正确匹配当前活跃账号对应的扩展实例,返回了无效的扩展ID触发拦截,这类报错和自定义插件代码无关,也不会直接导致插件加载失败。 - 侧边栏空白的核心诱因是Google Workspace 插件的多账号上下文隔离缺陷:浏览器登录多个Google账号时,Docs的插件加载逻辑默认绑定账号列表排序第一的默认账号上下文,如果当前活跃使用的账号不是默认账号,插件侧边栏的iframe会因为跨账号上下文权限校验失败,被浏览器同源安全策略拦截加载。这类拦截和用户自行安装的广告拦截类扩展无关,Brave浏览器因为自带默认跟踪拦截规则,安全策略更严格,即便是单账号登录场景,也可能因为规则误判偶发拦截插件iframe加载。
修复方案
插件开发者侧适配方案
- 在侧边栏初始化逻辑最前端增加异常捕获,不要强依赖Docs离线API能力,避免离线接口加载失败直接阻断整个侧边栏的JS执行。
- 增加账号上下文检测逻辑:侧边栏加载后先通过
google.script.run调用服务端轻量接口校验当前活跃账号身份,如果检测到上下文不匹配,直接在侧边栏显示明确的操作提示,不要直接留空白页。 - 不要在侧边栏HTML头部直接放置需要身份鉴权的资源引用,避免资源加载失败直接导致整页白屏。
终端用户侧临时解决方法
- 调整浏览器账号排序:打开Chrome账号管理面板,将需要使用插件的G Suite账号调整到账号列表第一位,重启浏览器后再打开Docs启动插件。
- 隔离账号上下文:打开新的无痕窗口/访客窗口,单独登录目标G Suite账号,在该独立窗口内打开文档启动插件,彻底规避多账号上下文冲突。
- 针对Brave浏览器用户:将Google Docs域名加入Shields白名单,临时关闭该域名下的跟踪拦截规则,即可解决单账号场景下的偶发白屏问题。
内容的提问来源于stack exchange,提问作者Yuval.R
相关产品推荐
相关产品推荐

