相关疑难解决方法(0)

谷歌铬虫?

此消息始终出现在chrome开发人员工具的控制台中:

Port error: Could not establish connection. Receiving end does not exist. miscellaneous_bindings:232
chromeHidden.Port.dispatchOnDisconnect miscellaneous_bindings:232
Error in event handler for 'undefined': Cannot read property 'instanceId' of undefined TypeError: Cannot read property 'instanceId' of undefined
    at [object Object].<anonymous> (chrome-extension://mgijmajocgfcbeboacabfgobmjgjcoja/content_js_min.js:2:372)
    at chrome-extension://mgijmajocgfcbeboacabfgobmjgjcoja/content_js_min.js:1:182
    at miscellaneous_bindings:276:11
    at [object Object].dispatch (event_bindings:203:41)
    at Object.<anonymous> (miscellaneous_bindings:235:27) event_bindings:207
chrome.Event.dispatch event_bindings:207
chromeHidden.Port.dispatchOnDisconnect miscellaneous_bindings:235
Run Code Online (Sandbox Code Playgroud)

这是chrome中的错误还是我的chrome安装有问题?

javascript google-chrome

20
推荐指数
2
解决办法
1万
查看次数

Chrome扩展程序 - 从弹出窗口传递到内容脚本的消息

我正在尝试将数据从弹出窗口传递到内容脚本,但我没有运气.我让它以相反的方式工作(内容 - >弹出窗口).我想要做的就是将文本输入到弹出窗口中的输入中,然后单击一个提交按钮,该按钮会将该文本插入到网页的dom中.

这就是我所拥有的:

popup.html

chrome.extension.sendRequest({action:'start'}, function(response) {
    console.log('Start action sent');  
});
Run Code Online (Sandbox Code Playgroud)

contentscript.js

function startExtension() { console.log('Starting Extension'); }

function stopExtension() { console.log('Stopping Extension'); }

function onRequest(request, sender, sendResponse) {
    if (request.action == 'start')
        startExtension()
    else if (request.action == 'stop')
        stopExtension()
    sendResponse({});
}

chrome.extension.onRequest.addListener(onRequest);
Run Code Online (Sandbox Code Playgroud)

javascript messaging google-chrome google-chrome-extension

12
推荐指数
1
解决办法
1万
查看次数

Chrome 扩展程序“接收端不存在”。错误

我正在开发 Chrome 扩展程序,但最近我注意到我收到了以下错误(指向 的第一行popup.html):

未经检查的 runtime.lastError: 无法建立连接。接收端不存在。

我在这里找到了一个类似的问题。但是那里的错误是由background我没有在清单上声明的属性引起的。

chrome.extension.onMessage.addListenercontents.js脚本上使用来侦听事件并chrome.tabs.sendMessagepopup.js脚本上使用来发送事件。大多数情况下一切正常,但有时我会收到上述错误并且没有任何请求执行任何操作。

manifest.json格式如下:

{
    "manifest_version": 2,
    "name": "APP_NAME",
    "description": "APP_DESCRIPTION",
    "version": "APP_VERSION",
    "browser_action": {
        "default_icon": "icon.png",
        "default_popup": "popup.html"
    },
    "permissions": [
        "activeTab",
        "storage",
        "clipboardRead",
        "clipboardWrite"
    ],
    "content_scripts": [
        {
            "matches": [
                "<all_urls>"
            ],
            "js": [
                "content.js"
            ],
            "css": [
                "content.css"
            ]
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

消息侦听器示例:

{
    "manifest_version": 2,
    "name": "APP_NAME",
    "description": "APP_DESCRIPTION",
    "version": "APP_VERSION",
    "browser_action": {
        "default_icon": …
Run Code Online (Sandbox Code Playgroud)

javascript google-chrome-extension

8
推荐指数
1
解决办法
7380
查看次数

如何确定弹出页面是否打开?

我正在开发Chrome扩展程序,我正在寻找如何(从后台页面)查看弹出页面是否打开.我查看了消息传递,但我不确定这是否会帮助我或者是否有更简单的方法.

谢谢!

javascript google-chrome-extension

6
推荐指数
1
解决办法
1529
查看次数

消息回调不经常返回一个值 - Chrome扩展

我正在构建一个chrome扩展,它通过websockets与nodejs服务器通信.其重点是跟踪内容的浏览历史记录.这一切似乎都有效,但偶尔(30%的时间)传递给onMessage.addListener的函数中的回调不会正确触发.我来告诉你代码:

background.js

var socket = io('http://localhost:3000/');

var tabLoad = function (tab) {
    socket.emit('page load', tab);
};

var tabUpdate = function (tabid, changeinfo, tab) {
    var url = tab.url;
    if (url !== undefined && changeinfo.status == "complete") {
        tab.user_agent = navigator.userAgent;
        tab.description = '';
        tab.content = '';

        socket.emit('insert', tab);
    }
};

socket.on('inserted', function(page){
    socket.emit('event', 'Requesting page content\n');
    //page = {tab: page, id: docs._id};
    chrome.tabs.sendMessage(page.tab_id, {requested: "content", page: page}, function(data) {
        socket.emit('content', data);
    });

});

try {
    chrome.tabs.onCreated.addListener(tabLoad);
    chrome.tabs.onUpdated.addListener(tabUpdate);
} catch(e) { …
Run Code Online (Sandbox Code Playgroud)

javascript websocket google-chrome-extension node.js

3
推荐指数
1
解决办法
878
查看次数