用户点击并保持[chrome扩展名]的触发功能

时间:2013-09-22 02:00:19

标签: javascript google-chrome

当用户点击并按住Chrome扩展程序中的任何页面时,如何触发功能? 这是我正在使用的,它不起作用:

的manifest.json

{
    "manifest_version": 2,

    "name": "Harvix extension",
    "description": "Shortcut to search on Harvix",
    "version": "0.0.1",

    "content_scripts": [
        {
            "matches": ["http://*/*"],
             "js": ["jquery.js", "core.js"]
        }
    ],

    "permissions": [
        "tabs", "<all_urls>"
    ]
}

core.js

var timeout;
function open(text) {
    $('#myElement').mousedown(function() {
        timeout = setTimeout(null, 1000);
    }).bind('mouseup mouseleave', function() {
        clearTimeout(timeout);
    });
    alert('hello');
}

chrome.browserAction.onClicked.addListener(function(tab) {
    chrome.tabs.executeScript(null, {code: open(window.getSelection().toString())});
});

1 个答案:

答案 0 :(得分:0)

core.js中,将其替换为:

chrome.browserAction.onClicked.addListener(function(tab) {
    chrome.tabs.executeScript(null, {code: open(window.getSelection().toString())});
});

有了这个:

$('body').on('click', '*', function () {

    open(window.getSelection().toString());        

});

这将克服无法在内容脚本中定位chrome.browserAction对象的问题。