V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  shinemoon  ›  全部回复第 2 页 / 共 2 页
回复总数  40
1  2  
2013-03-30 22:28:29 +08:00
回复了 janrone 创建的主题 程序员 chrome 插件发送消息 遇到问题 ?
@janrone 对,是long-live的连接

发过来倒不用了,就像我提到的,我大致试了下你的代码,的确会得到同样的结果,原因什么的,因为个人偏好long lived connection, 倒是没有动力去仔细挖掘:)
2013-03-29 23:18:13 +08:00
回复了 janrone 创建的主题 程序员 chrome 插件发送消息 遇到问题 ?
@janrone

第二点是说不晓得什么原因我这边看起来runtime.onMessage居然是undefined,奇怪...不管了

port很简单,几个要点:

1. 你要在你注入的content script当中,声明并且连接你的port,同时添加onMessage事件

例如:
var port = chrome.extension.connect({name:'raw_page'});
port.onMessage.addListener(function(msg) {
......


2. 在你的background中,等待连接,并且,捕捉这个接口,同时设定listener动作

例如:

chrome.extension.onConnect.addListener(function(port) {
switch(port.name){
case ('raw_page'):
rawPagePort = port;
rawPagePort.onMessage.addListener(function(msg) {

.....
你可以不用这么复杂,之所以用name之类的是,当你扩展需要有很多个不同页面向后台发起多个port连接时,有了name,你可以清除的分清和控制不同的port,从而可以清楚的向该port定向发送;

3. 需要互通信息的时候,很简单,在background里直接postMessage好了:
rawPagePort.postMessage({message:'show message',value:value});

4. 反之依然,当你需要从content script向background发送消息,也只需要对着这个port做postMessage就OK了。
2013-03-29 23:08:24 +08:00
回复了 janrone 创建的主题 程序员 chrome 插件发送消息 遇到问题 ?
2013-03-29 18:26:28 +08:00
回复了 janrone 创建的主题 程序员 chrome 插件发送消息 遇到问题 ?
@janrone

1. 确认你的content script 成功注入了tab?有没有试着打印或者alert确认下?

2. 顺手试了下,反正在我添加所谓的onMessage listener之前,tabs.sendMessage的尝试都会得到你遇到的同样的错误(确认tabid无误),但是当我试着按照一样的方法runtime.onMessage时,却发现chrome.runtime下居然没有onMessage? (Chrome v24)

如果是我,我还是更喜欢一直以来用的方式,那就是用port.sendMessage 和port.onMessage.. 百试不爽...
2013-03-29 10:28:54 +08:00
回复了 janrone 创建的主题 程序员 chrome 插件发送消息 遇到问题 ?
大致看了下,因为我自己一直习惯都用Port来传递消息,没有直接用你的代码,但是从API定义来看:

tabs.sendMessage是向你指定的tab内的content script发送消息,所以只有addlistener放在你的content script才有用吧;runtime是指代background,它是用来接收来自tab的content script或者扩展其他页面的消息的....

纯纸上分析,仅做参考..
2013-03-29 10:16:58 +08:00
回复了 kukat 创建的主题 Vim 吐槽下自称vim粉的某同事
同样不用插件,但是真心佩服用鼠标这点,几乎不可想象啊....
2013-03-27 16:48:42 +08:00
回复了 shinemoon 创建的主题 git [求教] git相对hg来说的优势究竟在哪里
@yegle 同新手,作为Branch的确让我有时候也比较困惑...定期merge倒是没问题,关键是怎样drop掉不用的临时branch? 强迫症的本人表示看到那些枝桠很纠结。
2013-02-24 17:41:33 +08:00
回复了 yaotian 创建的主题 程序员 “我老了,所以我选择了VIM"
我也依然还是vim,没那么多原因,一个字而已, '懒'
2013-02-18 11:46:36 +08:00
回复了 linlis 创建的主题 分享创造 2013年还坚持写独立博客的同学们来报个名吧
嗯 从2003到现在快满10年了,换过不少空间,而且写的频率也越来越低,但是应该会一直写下去的....

http://mooninsky.net
这贴感情真挚啊,不能不顶一下
2013-01-25 13:49:45 +08:00
回复了 iqav 创建的主题 微信 很讨厌用微信,有类似的朋友吗?
微信我已经删掉了...用的很早而且很久,最主要的原因就是我受不了它的UI了....而且使用率对我来说也并不多..
妹子软不软是关键:不软的话,弄个联想的win本,售后好,问题少,一了百了;软的话,上mac,如前面有兄弟讲的,那是个坑...
2013-01-18 14:00:30 +08:00
回复了 yeshang 创建的主题 分享发现 2012年我支付宝年支出
@yeshang 哈哈 老乡啊,办公室还有一个也是岳阳人,他的base放在岳阳,所以大概50000多,排名98.3%上下(另外一个株洲同事也类似水平),但是同样的50000多,放在杭州是在85%左右,所以这个榜单挺有意思的,能够反映出一些各地经济发展(或者至少电子商务的)发展态势啊——
2013-01-17 14:03:43 +08:00
回复了 shinemoon 创建的主题 git [求教] git相对hg来说的优势究竟在哪里
@yegle
@openroc
以及其余诸位
感谢细致回答,也大致读了下材料,似乎:

1. 技术上,Mercurial feels like a “Git Lite“.这句话似乎粗暴但有点道理;
2. 生态上,似乎git压倒性的占优势,虽然hg对一两个人规模的toy code已经够用了,但是会不会有一天,如果,只是如果bitbucket挂了,哪里还有靠谱的服务提供商?
2013-01-16 18:07:26 +08:00
回复了 tomyiyun 创建的主题 分享发现 美国程序员用五分之一的工资雇中国外包来替他工作
@caoyue 有人在verizon那边回帖的时候提了一个问题,如果有一个严格的NDA签署,同时他供职的公司并不是如文中写的比较敏感的基础设施公司的话,会不会好说很多,呵呵
2013-01-16 14:01:11 +08:00
回复了 tomyiyun 创建的主题 分享发现 美国程序员用五分之一的工资雇中国外包来替他工作
Verizon 官方blog的原PO:

http://securityblog.verizonbusiness.com/2013/01/14/case-study-pro-active-log-review-might-be-a-good-idea/

实在是太电影化了,不能不赞啊。
2013-01-16 13:54:31 +08:00
回复了 tomyiyun 创建的主题 分享发现 美国程序员用五分之一的工资雇中国外包来替他工作
很有可操作性,每年只需要付给外包公司5w刀,自己就逍遥了,最搞笑的是,绩效review永远都是公司最杰出的那一档——For the last several years in a row he received excellent remarks. His code was clean, well written, and submitted in a timely fashion. 算是对天朝从业人员的肯定吧...
2013-01-16 13:10:02 +08:00
回复了 TONYHEAD 创建的主题 随想 地下铁路是不是蜜罐?
偶尔用用应急,坦白讲,真不太在意...
每天基本上就只开这个频道的...就是重播率太高了...
1  2  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1663 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 30ms · UTC 16:56 · PVG 00:56 · LAX 08:56 · JFK 11:56
Developed with CodeLauncher
♥ Do have faith in what you're doing.