我是一個年輕的開發人員,這周我只是想在我的手的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