Расширение хабры для браузера. Прочитанность комментариев одним взмахом мыши

в 20:00, , рубрики: Extensions, Firefox, Firefox add-on, Google Chrome, opera, производительность, расширения, социальные сервисы, хабрахабр, хром, эффективность работы, метки: , , , , , , , , ,

Позволяет одним движением мыши помечать новые комментарии прочитанными.

Сделаны версии для трёх браузеров — Chrome, Opera и Firefox.

Нужно зажать Shift и провести мышкой над новыми комментариями — каждый комментарий, над которым прошла мышь, будет прочитан.
Не нужно долго ждать, пока стандартная фича от Хабры прокрутит до каждого нового комментария.
Удобно в случае, если новые комментарии расположены близко и их видно все сразу. Один взмах мыши — и всё готово.

Если зажать Ctrl-Shift, то сбросятся также все дети от того комментария, над которым провели мышкой.

Делал для себя, но вдруг кому-нибудь будет полезно.

Код очень простой, сделан быстренько на jquery.

        that.$('.comment_item > .comment_body')
        	.live('mouseover', function(event) {
        		if (event.shiftKey) {
        			var el = that.$(this);
        			var root = !event.ctrlKey ? el : el.parent();
        			var info = root.find('.info.is_new');
        			if (info.length) {
	        			info.removeClass('is_new');
	        			var xpanel_new = that.$('#xpanel .new');
	        			var n = xpanel_new.html()|0;
	        			n -= info.length;
	        			if (n < 0) {
	        				n = 0;
	        			}
	        			xpanel_new.html(n);
	        			if (!n) {
		        			xpanel_new.hide();
	        			} else {
		        			xpanel_new.show();
	        			}
        			}
        		}
        	})

Для Firefox сделано на движке jetpack, код запуска content-скрипта:

exports.main = function(options, callbacks)  {
	var data = require("sdk/self").data;

    require("sdk/page-mod").PageMod({
      	include: "*.habrahabr.ru",

      	attachTo: ["existing", "top", "frame"],

      	contentScriptFile : [
      		data.url("includes/jquery-1.8.0.min.js"),
      		data.url("includes/content.js")
        ],

        contentScriptWhen : 'end'
    });
};

Для старой Оперы (до 15) для запуска content-скрипта необходимо скрипты положить в папку /includes

Автор: Methos

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js