设计浏览器扩展以检测用户是否正在将文件上载到当前网页

时间:2014-10-30 04:12:07

标签: javascript jquery html browser-extension

我正在开发一个浏览器扩展程序,旨在帮助用户消除他/她上传到当前网页的图像中嵌入的隐藏信息。为此,我需要检测用户上传操作的时间。目前我使用以下代码来检测上传操作:

$(document).ready(function(){
    $("input[type='file']").change(function() {
      ...//Perform actions when all HTML elements like '<input type="file">' change values.
    });         
});

使用<input type="file">元素是从本地文件系统加载文件的最直接方式。在上面的代码中,我添加了&#34;更改&#34;所有<input type="file">元素上的事件侦听器,用于检测用户是否正在上载文件。

但是,许多网站使用间接方式让用户上传文件。具体来说,他们不会使用<input type="file">元素来选择要上传的文件,但会提供一个小图标/图片。单击时,图标/图像将触发弹出窗口,用户可以在其中选择要上载的本地文件。在这种情况下,上述代码不起作用,因为网页的源代码不包含<input type="file">元素,但用户确实以间接方式上传文件。

以当前网页为例。向下滚动此页面到&#34;您的答案&#34;部分,点击&#34; {} &#34;旁边的小图片图标将允许您从计算机中选择要上载的图像。但是,无法检测弹出窗口中的<input type="file">元素,因为浏览器扩展基本上在每个页面(选项卡)加载(即DOM准备好)上执行,并且当页面加载时,弹出窗口甚至不会&# 39; t存在。

原谅我的愚蠢。我的问题是如何检测用户在当前标签/窗口或弹出窗口中上传图像文件的行为。虽然浏览器扩展解决方案是最好的,但任何答案都将非常感谢!

0 个答案:

没有答案