浏览器插件/chrome扩展应用与网页通信时报错Uncaught TypeError: Cannot read property ‘sendMessage’ of undefined

727次阅读
没有评论

问题:

最近在开发一个chrome扩展应用时需要web页面和浏览器扩展通信,看文档说用chrome.runtime.sendMessage,但是调用时遇到这个报错:

Uncaught TypeError: Cannot read property ‘sendMessage’ of undefined

网上搜索了一通,居然都没人解决,甚至stackoverflow上这个问题下都没有回答,就很头大,解决问题后才知道,这个问题确实有些白,可能只有新手才会遇到吧,哈哈哈。

解决:

网上很多文档都有说,扩展应用与网页通信需要调用chrome.runtime.sendMessage,但是很关键的一点没说:

chrome.runtime.sendMessage需要在content_scripts配置下的js文件里调用,而不是直接在web页面的js文件里直接调用。

也就是说chrome.runtime.sendMessage的web页面和浏览器扩展/js通信其实是通过注入的js与扩展通信。

 

facingscreen
版权声明:本站原创文章,由 facingscreen2022-08-21发表,共计430字。
转载说明:本文为搜栈网原创文章,除特殊说明外皆由CC-4.0协议发布,转载请注明出处,如有帮助欢迎打赏。
评论(没有评论)
验证码