具体的搭建操作就不记录了
记录下遇到的问题,便于以后记忆,详细的操作过程周末在进行补充
准备工作1:Chrome的插件,****.crx,里面主要用到了background.js(用于与本地通讯)、content_script.js(可以写接受页面的事件,可以写页面注入的js)、(这两个文件名字可以自定义)、icon.png、manifest.json,这四个文件。接下来就是在浏览器的 chrome://extensions
进行插件的编译和加载
准备工作2:本地通讯,网上有好多本地通许的例子,有C#的,有C++的 ,有python的,测试都是可用的,之前的问题是在C++和C#编译的本地应用,插件都能收到消息,但是python的不行,测试了好多还是不行,最后加载了几个关键的输入例和输出流的限制,就可以了,然后本地通许也需要一个manifest文件,用于记录本地通许的应用名字,和与插件进行通许的唯一ID。
准备工作3:在本地的google的Chrome中注册进去本地通许的manifest文件,也就是准备工作2的manifest文件,这样子,才能找到本地应用,然后才能通信
接下来就是本地通许和插件的相互通讯的,目前测试通讯走通了,然后便是针对需求,进行数据的传递了。
总结下遇到的两个问题,一个是插件给应用发消息发不过去,提示:Native host not found,是本地的主要比配置权限没有配置好,以及注册表的内容不能包含“”“”。
另外一个是本地应用于插件的通讯,本地应用发消息,插件收不到,提示就是没有接到应用的消息,经过查询发现是原因:chrome扩展没有收到应用程序发送的信息,确切的说是本地应用发送消息失败,本地应用发送的消息要进行位移操作。(Chrome浏览器扩展与客户端的本地应用之间的双向通信采用消息机制,该消息以JSON格式,UTF-8编码,带32位(操作系统本地字节序)的消息长度作为前缀)
最后就把通讯走通了。