想编写一个脚本来检测网页上链接目标的文件大小。
现在我有一个函数可以找到PDF文件的所有链接(即href以'.pdf'结尾)并将字符串'[pdf]'附加到innerText。我想扩展它,以便我还可以附加一些文本,告知用户目标是一个大文件(例如大于1MB)。
由于
答案 0 :(得分:4)
假设文件位于同一个域下,您应该能够使用XMLHttpRequest执行HEAD请求。
然而,这应该是在服务器端真正做到的事情。使用额外请求执行此操作无任何好处。
答案 1 :(得分:4)
某些网络服务器可能会为Content-Length
请求提供HEAD
标头。您可以使用XmlHttpRequest发送HEAD
请求并查看您获得的内容。
以下是我的一个IIS服务器所说的PDF文件:
HTTP/1.1 200 OK
Content-Length: 127791
Content-Type: application/pdf
...
但是,除非脚本专门处理HEAD请求,否则Web服务器(由PHP或ASP.net提供的文件)直接传递的任何内容都将无效。
答案 2 :(得分:0)
你不能这样做,或者至少 - 不能以任何实际的跨浏览器方式。
如果您事先知道文件大小,例如在生成链接到文件的文档时,您可以将大小硬编码到HTML文档中。
<a href="large_file.pdf" onclick="return confirm('Want to download a large file?')">large_file.pdf</a>