0

我将开发一个 Firefox 扩展,当<input type="file" ... >找到标签并选择一个文件时,它应该在加载的页面中放置一个按钮。

同样,我认为 Skype 工具栏做了类似的事情:当网站包含电话号码时,Skype 扩展程序会自动将其转换为可以单击以呼叫 Skype 联系人的按钮。

我在 GNU/Linux 系统上,不幸的是,Skype 扩展在 Linux 版本的 Firefox/Skype 上不起作用,所以我什至无法尝试对任何东西进行逆向工程......

firefox 扩展包含文件 overlay.js:该文件包含扩展的主要逻辑。在这里,我可以<input type="file" ... >使用以下代码简单地找到节点:

onFileChosen: function(aEvent) {
var input = aEvent.explicitOriginalTarget; 
if(input.type=="file"){
    alert(input.value); }
}

window.addEventListener("change", function(e) {xpitest.onFileChosen(e)},false);

So, when a file has been chosen, an alert window appears and shows the file name.

但是,选择文件后,如何在页面中添加按钮?

我一直在尝试各种 document.parentNode 和类似的东西,但似乎没有任何效果。

或者有没有可能我不能把东西放到加载的页面中?

谢谢

4

1 回答 1

4

在 chrome 上下文中,您可以使用 top.window.content.document 获取当前内容文档(例如带有文件选择器的页面)。那时,就像你的 JS 在页面上运行一样。如果这没有帮助,请尽可能多地发布您的代码。另请参阅在 chrome 代码中使用窗口

而且您绝对可以将内容注入页面。

于 2009-05-09T21:36:14.147 回答