您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Hide the read items list when you have finished reading unread items.
// ==UserScript== // @name Feedly Hide Read Items When Done // @version 1.2 // @namespace geekrunner // @include *cloud.feedly.com/* // @include *feedly.com/* // @description Hide the read items list when you have finished reading unread items. // ==/UserScript== // VERSION HISTORY // 1.2 - A nicer way to handle hiding the list of articles, doesn't completely remove them from the DOM. // 1.1.5.1 - Bugfix for last update. // 1.1.5 - Updated element to check for due to Feedly's August 2017 update removing the magic string. // 1.1.4 - Updated magic string from "No unread articles" to "No unread stories". // 1.1.3 - Reference one fewer element from DOM in hopes of having less DOM-based bugs. // 1.1.2 - Fix for Feedly's update to DOM. // 1.1.1 - Fix issue where the page refreshes while you're still reading the last article. // 1.1 - Fix for updated version of feedly. // 1.0 - Initial Release. (function() { console.debug("[FHRIWD] - running"); var tweakXHR = function () { console.debug("[FHRIWD] Customizing XMLHttpRequest."); try { XMLHttpRequest.prototype.open_old = XMLHttpRequest.prototype.open; XMLHttpRequest.prototype.open = function (method, url, async, user, pass) { this.addEventListener("readystatechange", function() { try { var unreadCountSpan = document.querySelector("div.mark-as-read-button-group.button.secondary button span"); if (unreadCountSpan === null || Number(unreadCountSpan.textContent.trim()) === 0) { if (document.querySelector("div.inlineFrame.read.selected") !== null) { //Don't hide when still reading the last article. console.info("[FHRIWD] Still reading last item, doing nothing."); } else { console.info("[FHRIWD] All items read - hiding timeline."); var divsToHide = document.querySelectorAll("div.list-entries"); for (var i=0; i<divsToHide.length; i++) { if (divsToHide[i].parentNode.style.display != "none") { divsToHide[i].parentNode.style.display = "none"; } if (i===0 && document.getElementById("noUnreadItems") === null) { var noUnreadPara = document.createElement("p"); noUnreadPara.id = "noUnreadItems"; noUnreadPara.appendChild(document.createTextNode("No Unread Items")); divsToHide[i].parentNode.parentNode.appendChild(noUnreadPara); } } } } else { var noUnreadPara2 = document.getElementById("noUnreadItems"); if (noUnreadPara2 !== null) { noUnreadPara2.parentNode.removeChild(noUnreadPara2); } } } catch (e) { console.error("[FHRIWD] " + e.message); } }, false); this.open_old.call(this, method, url, async, user, pass); }; } catch (e) { console.error("[FHRIWD] " + e.message); } console.debug("[FHRIWD] Finished customizing XMLHttpRequest."); }; //Inject the script into the page. var script = document.createElement('script'); script.setAttribute('type','application/javascript'); script.textContent = '(' + tweakXHR + ')();'; document.body.appendChild(script); //run the script document.body.removeChild(script); //cleanup console.debug("[FHRIWD] - complete"); }());
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址