代码之家  ›  专栏  ›  技术社区  ›  Thariama

开发FireFox扩展,剪贴板

  •  1
  • Thariama  · 技术社区  · 14 年前

    我想收听一个事件(剪贴板事件?)为了改变剪贴簿的内容。

    事实上,我没有找到如何在剪贴板内容被填充后抓取它(使用ctrl+c)。

    我试图重新定义快捷键ctrl+c,但这样我只能在按下快捷键之前得到剪贴板中的内容。

    我需要在哪种情况下吸引我?有什么建议吗?

    1 回复  |  直到 14 年前
        1
  •  1
  •   Thariama    13 年前

    我发现了如何在Firefox中捕捉事件。下面的代码片段显示了如何侦听crtl+c/meta+c。按下组合键ctrl+c时,将调用函数dehyphenate\u clipboard:

    on_key_down : function(e)
    {
        if
        (
            (mac && e.metaKey && e.keyCode == 67) || // Mac : Meta-C
            (!mac && e.ctrlKey && e.keyCode == 67)
        )
        { __er__.dehyphenate_clipboard_on_keyup = true; } // set flag
    },
    
    on_key_up : function(e)
    {
        if
        (
            __er__.dehyphenate_clipboard_on_keyup ||
            (e.ctrlKey && e.keyCode == 67)  // Ctrl-C
        )
        {
            __er__.dehyphenate_clipboard_on_keyup = false; // reset flag 
            __er__.dehyphenate_clipboard();
        } 
    },