尝试从我的 chrome 扩展程序访问 gmail 中的 iframe 时出现未定义的错误,但不是从开发者控制台访问
I get undefined error when trying to access iframes in gmail from my chrome extension but not from the developer console
我正在制作一个chrome扩展程序(内容脚本),它将在gmail顶部黑栏中的"更多"之后添加文本。这些元素封装在canvas_frame
iframe 中。
当我尝试通过以下方式访问这些元素时:
document.getElementById('canvas_frame').contentWindow.document.getElementById('gbz').innerHTML = scr;
我得到Uncaught TypeError: Cannot read property 'document' of undefined
.但是,如果我直接在 chrome 开发人员控制台中键入该代码,它可以工作。这是为什么呢?如何从我的 chrome 扩展程序访问和修改该元素。
我是javascript的新手,所以我可能会错过一些明显的东西。谢谢。
尝试
document.getElementById('canvas_frame').contentDocument.document.getElementById('gbz').innerHTML = src;
我自己构建了 Chrome 扩展程序并遇到了这个问题,有几种方法可以缓解它,一种是在 JS 中运行一个计时器循环寻找 #canvas_frame 并在找到它时停止它,另一种是侦听 DOM 节点插入事件,如果您正在寻找的元素已入, 开始做你想做的事情。
虽然canvas_frame一直是 Gmail 与之交互的"内容区域"元素,如果这是您需要做的,目前(截至几天前)我遇到了没有content_frame的 Google Apps Gmail 实例,或者更确切地说,在页面加载时立即有一个,然后它被删除, 我不确定谷歌在做什么恶作剧,但由于他们没有提供制作 Gmail Chrome 扩展程序的官方 API(非常不幸的是),我们作为扩展开发人员任由他们摆布......
- 难以访问的JS环境中的语法错误
- Phonegap:获取访问令牌时出现LinkedIn登录错误
- 使用jquery创建dom元素会导致ie9出现拒绝访问错误
- HTML5 Canvas访问控制允许原始错误
- 可以'无法正确访问NODE_ENV环境变量,这是NODE.js的错误吗
- nodeJS:使用(fs)尝试访问静态资源,但收到404错误
- 使用Javascript向ID数组发送通知时出现Facebook访问令牌错误
- Ajax—“;访问控制允许起源”;错误
- 为什么我得到“;错误:预期"同时访问字符串
- 如何访问npm模块抛出的自定义错误对象[error:[object object]]
- 使用typescript访问导入的服务时发生Angular2错误
- 尝试从我的 chrome 扩展程序访问 gmail 中的 iframe 时出现未定义的错误,但不是从开发者控制台访问
- JavaScript 变量访问错误
- 使用AJAX读取一个简单的文本文件.打开函数时出现拒绝访问错误
- 如何在 3 次登录尝试后重新加载页面并出现 401 未经授权的访问错误?在 asp.net
- 间歇性 HTTP 403 禁止访问错误调用相同的 Ajax 代码
- 在Ember ErrorRoute中访问错误模型
- iframe contentWindow在缩短document.domain后引发“拒绝访问”错误
- Json访问错误
- SCRIPT5022:无效访问错误xmlhttprequest