首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 互联网 >

谷歌插件与圆桌面通讯

2013-10-30 
谷歌插件与桌面通讯谷歌插件的运行是在一个封闭的沙盒中的,所以要想从本地读出相应的数据无法达到。这时,我

谷歌插件与桌面通讯

谷歌插件的运行是在一个封闭的沙盒中的,所以要想从本地读出相应的数据无法达到。这时,我们可以考虑SOCKET通信。

原理:本地运行一个SOCKET监听某个端口,插件向该服务端口发送信息,服务处理后,再返回相应的数据。

服务中使用的是SOCKET,实现代码如下

/// <reference path="../libs/jquery-1.7.2.min.js"/>var Communicate = {};Communicate.send = function (cmd, data, callback) {//jquery的ajax实现    var sendCmdData = "";    if (cmd === undefined || cmd === null) {        return;    }    sendCmdData += cmd;    if (data !== undefined || data !== null) {        sendCmdData += data;    }    var url = 'http://localhost:20000/' + sendCmdData    $.ajax({ url: url, async: false, success: callback });}Communicate.send = function (cmd, data, callback) {//xhr实现    var xhr = new XMLHttpRequest();    var sendCmdData = "";    if (cmd === undefined || cmd === null) {        return;    }    sendCmdData += cmd;    if (data !== undefined || data !== null) {        sendCmdData += data;    }    xhr.onreadystatechange = function () {        if (xhr.readyState == 4) {            if ((xhr.status >= 200 && xhr.status < 300) || xhr.status == 304) //200:Success.304:Tell browser to read cache.            {                //alert(xhr.responseText);                if (callback === undefined || callback === null) {                    return;                }                callback(xhr.responseText);            }        }    }    xhr.open("GET", 'http://localhost:20000/' + sendCmdData, true);    xhr.send(null);}

转载请注明出处http://blog.csdn.net/xxdddail/article/details/13507379

热点排行