🏠 返回首頁 

Greasy Fork is available in English.

豆瓣批量已读工具

在豆瓣列表页面快速标注已读收藏


安装此脚本?
// ==UserScript==
// @name         豆瓣批量已读工具
// @namespace    https://douban.com/
// @version      0.1
// @description  在豆瓣列表页面快速标注已读收藏
// @author       不能放过孩子
// @license MIT
// @match        *.douban.com/typerank*
// @icon         data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @grant        none
// ==/UserScript==
(function() {
'use strict';
var style = document.createElement("style");
style.type = "text/css";
style.appendChild(document.createTextNode(".collection_add{position:  absolute;right:  0;bottom: 0;}"));
style.appendChild(document.createTextNode(".collection_remove{position:  absolute;right:  0;bottom: 0;}"));
var head = document.getElementsByTagName("head")[0];
head.appendChild(style);
function collection_add(_film_id){
return function(){
console.log("_film_id:"+_film_id);
//delete(this.parentNode.parentNode.id);
var action_url = 'https://movie.douban.com/j/subject/'+_film_id+'/interest';
var post_data = new FormData();
post_data.append('ck','BjvI');
post_data.append('interest','collect');
post_data.append('foldcollect','F') ;
post_data.append('tags','');
post_data.append('comment','');
post_data.append('private',false) ;
var XHR = new XMLHttpRequest();
var FD  = new FormData();
// 把我们的数据添加到这个FormData对象中
//for(name in data) {
//    FD.append(name, data[name]);
// }
// 定义数据成功发送并返回后执行的操作
XHR.addEventListener('load', function(event) {
console.log('Yeah! 已发送数据并加载响应。');
console.log(event);
var btn_id = 'collection_'+_film_id;
var btn = document.getElementById(btn_id);
btn.innerHTML= "取消收藏:"+_film_id;
btn.onclick =collection_remove (_film_id);
});
// 定义发生错误时执行的操作
XHR.addEventListener('error', function(event) {
alert('Oops! 出错了。');
});
// 设置请求地址和方法
XHR.open('POST',action_url);
// 发送这个formData对象,HTTP请求头会自动设置
XHR.send(post_data);
}
}
function collection_remove(_film_id){
return function(){
console.log("_film_id:"+_film_id);
//delete(this.parentNode.parentNode.id);
// var action_url = 'https://movie.douban.com/j/subject/'+_film_id+'/interest';
var action_url = 'https://movie.douban.com/subject/'+_film_id+'/remove';
var post_data = new FormData();
post_data.append('ck','BjvI');
//post_data.append('interest','collect');
//post_data.append('foldcollect','F') ;
//post_data.append('tags','');
//post_data.append('comment','');
//post_data.append('private',false) ;
var XHR = new XMLHttpRequest();
var FD  = new FormData();
// 把我们的数据添加到这个FormData对象中
//for(name in data) {
//    FD.append(name, data[name]);
// }
// 定义数据成功发送并返回后执行的操作
XHR.addEventListener('load', function(event) {
console.log('Yeah! 已发送数据并加载响应。');
console.log(event);
var btn_id = 'collection_'+_film_id;
var btn = document.getElementById(btn_id);
btn.innerHTML= "点击收藏:"+_film_id;
btn.onclick =collection_add (_film_id);
});
// 定义发生错误时执行的操作
XHR.addEventListener('error', function(event) {
alert('Oops! 出错了。');
});
// 设置请求地址和方法
XHR.open('POST',action_url);
// 发送这个formData对象,HTTP请求头会自动设置
XHR.send(post_data);
}
}
setTimeout(function(){
var listDomByClass = document.getElementsByClassName('pictext');
var listDom = listDomByClass[0];
var film_id_arr = [];
var domChildNodes = listDom.childNodes;
for(var i = 0; i < domChildNodes.length;i++){
var _film_url = domChildNodes[i].getElementsByTagName("a")[0].href;
var _film_id =_film_url.match(/[0-9]+/)[0];
var btn =document.createElement("button");
btn.id  = 'collection_'+_film_id;
if(domChildNodes[i].className.indexOf('unwatched')== -1){
btn.innerHTML= "取消收藏:"+_film_id;
btn.onclick =collection_remove (_film_id);
btn.className  = 'collection_remove';
}else{
btn.innerHTML= "点击收藏:"+_film_id;
btn.onclick =collection_add (_film_id);
btn.className  = 'collection_add';
}
domChildNodes[i].appendChild(btn);
}
// Your code here...
},3000);
})();