Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何判断标签是网站还是图像?_Javascript_Google Chrome Extension - Fatal编程技术网

Javascript 如何判断标签是网站还是图像?

Javascript 如何判断标签是网站还是图像?,javascript,google-chrome-extension,Javascript,Google Chrome Extension,我想做一个chrome扩展,检查标签是图片还是网站。让我详细说明一下:我只想在选项卡是图像时插入或执行一些代码,例如,如果选项卡URL是: 因此,如果我制作了一个背景脚本来检查URL是否为images*.jpg,那么它将为所有看起来像图像但实际上不是的内容执行代码,例如: 它看起来像图像的URL,但实际上不是。问题是,有时即使没有扩展,选项卡实际上也是一个图像,如下所示: 这是一个图像,但背景脚本不知道 那么,如何判断标签是图像还是网站呢?API中是否有处理此问题的内容?向相关资源发出HEAD请

我想做一个chrome扩展,检查标签是图片还是网站。让我详细说明一下:我只想在选项卡是图像时插入或执行一些代码,例如,如果选项卡URL是:

因此,如果我制作了一个背景脚本来检查URL是否为images*.jpg,那么它将为所有看起来像图像但实际上不是的内容执行代码,例如:

它看起来像图像的URL,但实际上不是。问题是,有时即使没有扩展,选项卡实际上也是一个图像,如下所示:

这是一个图像,但背景脚本不知道

那么,如何判断标签是图像还是网站呢?API中是否有处理此问题的内容?

向相关资源发出HEAD请求并读取内容类型响应标头。不过,您可能需要发出跨源请求,但如果您正在开发Chrome扩展


您可能会查找与image/*。

匹配的MIME类型,但请求将是异步的。我将如何适应它@这就是xhr的优点,它是异步的。看看文档:,添加readystatechange处理程序,或者同步打开它,有很多不同的方法可以使用它。我知道XHR的优点在于它的异步特性。但是在这种情况下,我想重定向到一个本地页面,如果选项卡是一个图像,那么函数应该立即返回,而不是等待XHR完成。我可以通过创建另一个本地页面来执行XHR,看看它是否是图像,然后重定向到我的本地页面或原始网站,但是,如果是网站,它将全天循环运行网站>背景脚本>本地页面,执行XHR>网站>背景…@ibrahimmahrir您可以强制请求与open方法的第三个参数同步:我相信这是不推荐的!使用/插入一个内容脚本,检查唯一的主体元素是否是图像,其src是否等于选项卡URL。@wOxxOm可能是一个比我更好的解决方案,但idk在不同版本的chrome@Hatchet同意这个周末就换了!所以这不是理所当然的事!不确定浏览器版本会如何影响这一点。多年来,我一直在使用userscript,它使用上述方法,似乎是可靠的。