// ==UserScript== // @name Pocket // @version 0.2.1 // @description try to take over the world! // @author Cáno // @match https://getpocket.com/a/queue/list/* // @grant unsafeWindow, chrome, notifications // @require http://code.jquery.com/jquery-latest.js // @namespace http://tampermonkey.net/ // @downloadURL none // ==/UserScript== //todo: //move open all links to the right //improve "archive all links" (function() { 'use strict'; unsafeWindow.openLinks = function() { var els = $('.original_url'); Array.prototype.forEach.call(els, function(el) { if ($(el).parent().parent().parent().parent('.item:not(.removed)').length === 0) { return; } var address = el.href.substr(el.href.indexOf('redirect?url=') + 13); address = address.substr(0, address.indexOf('&formCheck=')); address = decodeURIComponent(address); // console.log(address); unsafeWindow.open(address,'_blank'); }); }; document.getElementsByClassName("queue_secondarynav_actions")[0].childNodes[1].innerHTML = document.getElementsByClassName("queue_secondarynav_actions")[0].childNodes[1].innerHTML + '
  • Open all links
  • '; unsafeWindow.archiveLinks = function() { var els = $('li.item:not(.removed) .action_mark'); console.log(els.length); if (els.length > 0) { els[0].childNodes[0].click(); setTimeout(unsafeWindow.archiveLinks, 160); } // Array.prototype.forEach.call(els, function(el) { // el.childNodes[0].click(); // }); }; var html = document.getElementsByClassName("queue_secondarynav_actions")[0].childNodes[1].innerHTML; setInterval( doSomething, 2000 ); function doSomething() { var state = document.readyState; if (state == 'interactive') { } else if (state == 'complete') { var count = $('.original_url').parent().parent().parent().parent('.item:not(.removed)').length; document.getElementsByClassName("queue_secondarynav_actions")[0].childNodes[1].innerHTML = html + '
  • Archive all links (' + count + ')
  • '; } } function triggerMouseEvent (node, eventType) { var clickEvent = document.createEvent('MouseEvents'); clickEvent.initEvent (eventType, true, true); node.dispatchEvent (clickEvent); } function archiveOnClick(e) { if (e.which != 2) return false; // console.log($(e.target).parent().parent().parent().find('ul.buttons li.action_mark a')); $(e.target).parent().parent().parent().find('ul.buttons li.action_mark a')[0].click(); } setInterval( doSomething2, 2000 ); function doSomething2() { $('a.original_url').off('mouseup', archiveOnClick); $('a.original_url').on('mouseup', archiveOnClick); } })();