我是一个年轻的开发人员,这周我只是想在我的手的JavaScript首次从Java中的后台来了。我发现Firefox的一个很好的附件,允许用户从选定的文本复制链接。它相对较小,但我想尝试配置它,所以它从一个按钮运行,而不是一个(右键点击/选择事件)逆向工程Firefox扩展
免责声明:有问题的扩展是开源的,并在GNU通用公共许可证2.0版
我不是反向工程人的辛勤工作,我只是试图找出是什么使附加蜱以及如何它的运作适用的东西,不是一个插件。
源可以在这里找到: https://addons.mozilla.org/en-US/firefox/files/browse/77730/(这是相当小的,只是一个罐子,所以不要害怕读)
回到点:这是一个整洁的小插件,允许用户选择网页中的多个链接,并通过右键单击文本并选择复制选定链接来复制/粘贴所选链接。
所以两个部分,我的问题的:
如何从一个按钮,而不是右键点击运行此类附加的? (我假设它与EOL功能有关)
转换附加组件时除了跨浏览器兼容性之外,还有什么需要注意的吗?我应该联系作者寻求帮助还是会冒犯?
任何和所有帮助赞赏!
* *
我敢肯定,我传递“真”,欢迎没有任何理由。 也相当肯定把这个成内部类型的脚本 我在考虑的来源和制作出来的东西是小尝试:
HTML:
<input type="button" id="grablinkstest" value="CopyLinks" onclick="welcome(true);"/>
JAVASCRIPT:
function welcome() {
alert("welcome command works");
var focusedWindow = document.commandDispatcher.focusedWindow;
var focusedDoc = document.commandDispatcher.focusedWindow.document;
var argc = gCopyLinks.GetLinks.arguments.length;
var argv = gCopyLinks.GetLinks.arguments;
var reMask;
var selLinks = [];
for(i = 0; i < focusedDoc.links.length; i++) {
if((!bSelected || focusedWindow.getSelection().containsNode(focusedDoc.links[i], true)) && (argc <= 1 || focusedDoc.links[i].href.match(reMask))) {
selLinks[j] = focusedDoc.links[i].href;
j++;
}
}
}
如果“逆向工程”这个词令任何人感到困扰。让我知道,我会回答这个问题 – Cuber
命令调度程序和commandDispatcher.focusedWindow似乎不能转换成简单的网页脚本。我猜这是问题所在。 – Cuber