【发布时间】:2016-06-19 07:20:17
【问题描述】:
我使用 JavaScript 为 Chrome 编写了一个用户脚本扩展,以防止视频和音频标签在页面加载时自动下载
这是代码:
var videoTags = document.getElementsByTagName("Video");
var i;
for(i=0; i<videoTags.length; i++)
{
videoTags[i].setAttribute("preload", "none");
videoTags[i].removeAttribute("autoplay");
}
var audioTags = document.getElementsByTagName("audio");
var i;
for(i=0; i<audioTags.length; i++)
{
audioTags[i].setAttribute("preload", "none");
audioTags[i].removeAttribute("autoplay");
}
这是 manifest.json 文件:
{
"content_scripts": [ {
"exclude_globs": [ ],
"exclude_matches": [ ],
"include_globs": [ "*" ],
"js": [ "script.js" ],
"matches": [ "http://*/*", "https://*/*" ],
"run_at": "document_start"
} ],
"converted_from_user_script": true,
"description": "",
"key": "an2xaeZJluPfnpmcsHPXI4aajQPL1cBm5C2kKjaQwXA=",
"name": "test.user.js",
"version": "1.0"
}
问题是我的脚本会在一段时间后运行,然后浏览器 (Chrome) 会下载一部分视频/音频文件。
【问题讨论】:
-
你不能用 JS 完全完成你的任务。浏览器可能会在 HMTL 解析为 DOM 后立即开始下载,而您只能修改生成的 DOM。如果是图像(将来也可能适用于视频),还有一个预加载解析器。