-
-
Save syareez/a3ccfd9ce25f60442c8814d6db4f1280 to your computer and use it in GitHub Desktop.
Open up browser console, for Chrome, hit F12 and copy-paste and enter this | |
$("a").filter(function(index){return $(this).text()==="unsave"}).click();setTimeout(function(){location.reload();},500); | |
Repeat until all items are unsaved. |
You should change that to "unsave", since that is the word it's used now for deleting saved posts. I pasted the command with the change:
$("a").filter(function(index){return $(this).text()==="unsave"}).click();setTimeout(function(){location.reload();},500);
Updated:
Run:
var jq = document.createElement('script');
jq.src = "https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js";
document.getElementsByTagName('head')[0].appendChild(jq);
// ... give time for script to load
And
$("button").filter(function(index){return $(this).text()==="unsave"}).click();setTimeout(function(){location.reload();},500);
It could be improved to one script but I'm fine with it like this
Grease monkey script to do the same on old interface
// ==UserScript==
// @name Unnamed Script 400702
// @version 1
// @require http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js
// @include *reddit*user*
// @grant unsafeWindow
// ==/UserScript==
window.addEventListener('load', function() {
setInterval ( function () {
var clickEvent = document.createEvent ("HTMLEvents");
clickEvent.initEvent ("click", true, true);
$("a:contains('unsave')")[0].dispatchEvent (clickEvent);
}, 40);
setTimeout(function(){location.reload();},5000);
}, false);
Grease monkey script to do the same on old interface
// ==UserScript== // @name Unnamed Script 400702 // @version 1 // @require http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js // @include *reddit*user* // @grant unsafeWindow // ==/UserScript== window.addEventListener('load', function() { setInterval ( function () { var clickEvent = document.createEvent ("HTMLEvents"); clickEvent.initEvent ("click", true, true); $("a:contains('unsave')")[0].dispatchEvent (clickEvent); }, 40); setTimeout(function(){location.reload();},5000); }, false);
thanks
Is there a way to automate the script without repeat copy/paste?
Array.from(document.querySelectorAll("button")).forEach(
(el) => {
if (el.innerText === "unsave") el.click()
})
Without jquery and reload, just to delete whatever you see on the "saved" page.
Array.from(document.querySelectorAll("button")).forEach( (el) => { if (el.innerText === "unsave") el.click() })
Without jquery and reload, just to delete whatever you see on the "saved" page.
This still works as of 4/2023; only edit is the button text should be capitalized.
if (el.innerText === "Unsave") el.click()
I just had to refresh the page and rerun the function a couple times since Reddit does dynamic loading as you scroll
You should change that to "unsave", since that is the word it's used now for deleting saved posts. I pasted the command with the change:
$("a").filter(function(index){return $(this).text()==="unsave"}).click();setTimeout(function(){location.reload();},500);
This still works as of 5/2023 on old reddit!
@alwei1 Indeed it does—thanks for confirming!
Would there be any way to omit saves from a particular sub? I'd love to be able to clear out all of my saves except /r/dogpictures
If used old.reddit.com use:
$("a").filter(function(index){return $(this).text()==="delete from saved"}).click();setTimeout(function(){location.reload();},500);