Firefox扩展,将当前网页的HTML链接复制到剪贴板,而不仅仅是URL 形势
我需要自动将HTML链接复制到 在当前Firefox选项卡中查看到其他所见即所得编辑器。这 这与只复制URL的纯文本不同,也不是 与仅粘贴网页标题的纯文本相同。这 与导航到另一个 具有指向感兴趣页面的HTML链接,使用 鼠标光标,然后键入CTRL-C将其复制到当前操作系统中 系统剪贴板(Linux和Windows,不应使任何 差异)。只有剪贴板的更新是自动的;这个 将从剪贴板粘贴到目标应用程序中 手动 期望的结果如下:Firefox扩展,将当前网页的HTML链接复制到剪贴板,而不仅仅是URL 形势,firefox,key-bindings,browser-automation,clipboard-interaction,Firefox,Key Bindings,Browser Automation,Clipboard Interaction,我需要自动将HTML链接复制到 在当前Firefox选项卡中查看到其他所见即所得编辑器。这 这与只复制URL的纯文本不同,也不是 与仅粘贴网页标题的纯文本相同。这 与导航到另一个 具有指向感兴趣页面的HTML链接,使用 鼠标光标,然后键入CTRL-C将其复制到当前操作系统中 系统剪贴板(Linux和Windows,不应使任何 差异)。只有剪贴板的更新是自动的;这个 将从剪贴板粘贴到目标应用程序中 手动 期望的结果如下: 用户从Firefox中浏览任何网页 用户键入的某些用户指定的键序列不是 与标
http://...
谷歌
,而是
你会看到当你在StackOverflow中以
网络浏览器:
现在,Firefox扩展和Bookmarklet即将面世,
但它们都不涉及鼠标运动和/或按键的净减少
开销,这是此过程中最浪费时间的方面
正在发生。我对现有扩展的搜索已被禁用
没有什么能完全满足我的需求(见研究部分)
下)。因此,我认为我可能需要推出自己的扩展(或
修改一个现有的),除非有人能给我指出一个现有的
提供此功能的扩展
我想到的扩展应该可以在Firefox版本11或更高版本中使用
在Linux或任何版本的Windows上运行更高版本。只有
应该需要Firefox和合适的Firefox扩展,而不是任何扩展
其他特殊软件
粘贴的目标应为:
我回答我自己的问题: 如果两个和都安装在同一个Firefox浏览器中,
CTRL-SHIFT-F11
绑定将自动停止工作。对我来说,修复方法是简单地卸载,因为我不使用它
我实际上并不需要编写自己的Firefox扩展,但我确实需要
需要从中删除一些复制richtext链接的代码
扩展并将其直接应用为
绑定到扩展中,如下所示:
CTRL-SHIFT-F12
以打开配置菜单将富文本链接复制到当前页面
content/colt.js
扩展名中的文件):
var url=content.document.location.href;
var text=content.document.title;
//如果选择了文本,请使用用户选择而不是标题:
var selection=document.commandDispatcher.focusedWindow.getSelection().toString();
如果(选择!=“”)
{
文本=选择;
}
var richText=“”;
var xfer=Components.classes[“@mozilla.org/widget/transferable;1”].createInstance(Components.interfaces.nsinterferable);
addDataFlavor(“text/html”);
var htmlString=Components.classes[“@mozilla.org/supports string;1”].createInstance(Components.interfaces.nsistupsstring);
htmlString.data=richText;
xfer.setTra
var url = content.document.location.href;
var text = content.document.title;
// Use the users selection instead of the title if text is selected:
var selection = document.commandDispatcher.focusedWindow.getSelection().toString();
if (selection != "")
{
text = selection;
}
var richText = "<a href=\"" + url + "\">" + text + "</a>";
var xfer = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable);
xfer.addDataFlavor("text/html");
var htmlString = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
htmlString.data = richText;
xfer.setTransferData("text/html", htmlString, richText.length * 2);
var clipboard = Components.classes["@mozilla.org/widget/clipboard;1"].getService(Components.interfaces.nsIClipboard);
clipboard.setData(xfer, null, Components.interfaces.nsIClipboard.kGlobalClipboard);