2

拡張機能のボタンのダブルクリックを検出して別の Web サイトを開く必要があり、その Web サイトを現在のタブで開く必要があります。

index.js:

var buttons = require('sdk/ui/button/action');
var tabs = require("sdk/tabs");

var button = buttons.ActionButton({
  id: "mozilla-link",
  label: "Visit Mozilla",
  icon: {
    "16": "./icon-16.png",
    "32": "./icon-32.png",
    "64": "./icon-64.png"
  },
  onClick: handleClick
});

function handleClick(state) {
  tabs.open("http://www.mozilla.org/");
}
4

2 に答える 2

0

私の拡張機能の 1 つにも同様の要件があります。ボタンのクリックがシングルかダブルかを判断するために使用するコードは次のとおりです。

    var clickCnt = 0;   // Click counter
    var delay = 250;    // Maximum time (milliseconds) between clicks to be considered a double-click
    var timer;
    chrome.browserAction.onClicked.addListener(function(tab){
        clickCnt++; 
        if(clickCnt > 1){
            // Double-click detected
            chrome.tabs.executeScript({
                code:   '// Code to execute on double-click'
            });
            clickCnt = 0;
            clearTimeout(timer)
        }else{
            timer = setTimeout(function(){  
                // No clicked detected within (delay)ms, so consider this a single click 
                chrome.tabs.executeScript({
                    code:   '// Code to execute on single-click'
                });
                clickCnt = 0;
            }, delay);
        }
        return true;
    });
于 2015-12-01T22:07:17.350 に答える