欢迎和各位师傅们交换友链,可以在下方留言,也可以加我好友互相py,友链排名不分先后。
Linuz
co0ontty
404 Not Found
pirogue
kingkk
patrilic
xF0rk
zjun
Decade
cyru1s
Noth
天下大木头
国光
白袍
Zyue
Yunen
naraku
惊蛰
4uuu Nya
Minhal
xxxeyJ
很乐意认识各位师傅。
微信赞赏
支付宝赞赏
Linuz
co0ontty
404 Not Found
pirogue
kingkk
patrilic
xF0rk
zjun
Decade
cyru1s
Noth
天下大木头
国光
白袍
Zyue
Yunen
naraku
惊蛰
4uuu Nya
Minhal
xxxeyJ
很乐意认识各位师傅。
微信赞赏
支付宝赞赏
友链申请,已添加贵站
呢称:橘子味的心
介绍:有时候,我像一个酸得让人流泪的橘子!
网站:https://52xml.cn
头像:https://52xml.cn/logo.png
我提交的为:var illegalChar=/[~.:/\*?”|]/g
1.6版本为:let reg = /[~.:/\*?”|]/
这个g的意思是全局匹配,去掉g,如果文件名中存在多个非法字符,只会去除第一个非法字符,最后文件名还是不合规的。
//你好,我只有一个微信账号,是用来工作的,不方便联系。
//问题1 用户要求右键可复制链接,可另存 已还原
//问题2 下载失败 原因是chrome和windows文件名有命名要求,已去除非法字符
sendMessageToContentScript({ cmd: ‘test’, value: ‘test’ }, function (response) {
if(!response)return; //null处理
var {videoType,title}=response
var boxEl = document.getElementsByTagName(‘ul’)[0]
var videoStr = ”
videoType.forEach(item => {//还原href赋值链接
videoStr += `清晰度:${item.key}下载`
});
boxEl.innerHTML = videoStr
var downList=document.querySelectorAll(“.down”)
var illegalChar=/[~.:/\*?”|]/g //如果后续发现有新的非法字符,在此添加
downList.forEach((item,index)=>{
item.onclick=function(){
chrome.downloads.download({//调用api 创建下载任务
url:videoType[index].val,
filename:title.replace(illegalChar,””)+”.mp4″//去除chrome和windows限制的非法字符
})
return false;//阻止跳转
}
})
});
tip:由于Chrome默认加载视频文件
所以在新打开的视频页面右下角再次点击下载即可
你好,因此我对这部分进行了优化。
-manifest.json 添加downloads权限
“permissions”:[
“downloads”
]
-content-script.js 修改返回的数据
chrome.runtime.onMessage.addListener(function (request, sender, sendResponse) {
if (request.cmd == ‘test’) //alert(request.value);
sendResponse({
videoType,
title:document.title.replace(“- Pornhub.com”,””) //新增返回标题 用来给视频命名
});
});
-popup.js
sendMessageToContentScript({ cmd: ‘test’, value: ‘test’ }, function (response) {
var {videoType,title}=response
var boxEl = document.getElementsByTagName(‘ul’)[0]
var videoStr = ”
videoType.forEach(item => {
videoStr += `清晰度:${item.key}下载` //使用模板字符串,添加了类名,href无跳转
});
boxEl.innerHTML = videoStr
var downList=document.querySelectorAll(“.down”)
downList.forEach((item,index)=>{
item.onclick=function(){
chrome.downloads.download({//使用api下载文件
url:videoType[index].val,
filename:title+”.mp4″
})
}
})
});
17条评论