我正在开发一个浏览器扩展程序,旨在帮助用户消除他/她上传到当前网页的图像中嵌入的隐藏信息。为此,我需要检测用户上传操作的时间。目前我使用以下代码来检测上传操作:
$(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存在。
原谅我的愚蠢。我的问题是如何检测用户在当前标签/窗口或弹出窗口中上传图像文件的行为。虽然浏览器扩展解决方案是最好的,但任何答案都将非常感谢!