sendaplanet
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору ShPB: Замечательно. От себя добавлю исправление для графика форков (network graph) и обработчиков мыши: Код: // ==UserScript== // @name GitHub fixes // @version 20190301 // @include https://github.com/* // @include https://gist.github.com/* // ==/UserScript== window.opera.addEventListener('BeforeScript', function(e) { var fix = e.element.text.replace(/new WebSocket\((\w+),[^\)]+\)/gi,'new WebSocket($1)') .replace(/\.currentTarget\b/gi, '.target') .replace(/\b(?:let|const)\b/gi, 'var') .replace(/\.Reflect={construct/gi, '.Reflect={construct:function') .replace(/\(\)=>([^}]+)}/gi, 'function(){$1}}') .replace(/Promise\((\w)=>{/gi, 'Promise(function($1){') .replace(/\((\w?)\)=>/gi, 'function($1)') .replace(/for\(var (\w) of/gi, 'for(var $1 in') .replace(/async\s/gi, '') .replace(/RegExp\(`([^`]+)`\)/gi, 'RegExp("$1")') .replace(/await\s/gi, 'function'); if (e.element.text.length !== fix.length) e.element.text = fix; }, false); | И у меня тот рекурсивный полифилл closest не пашет, только такой сработал из анг. MDN-a: Код: // ==UserScript== // @name Element.closest polyfill // @include http* // ==/UserScript== if (!Element.prototype.closest) Element.prototype.closest = function(s) { var el = this; if (!document.documentElement.contains(el)) return null; do { if (el.matches(s)) return el; el = el.parentElement || el.parentNode; } while (el !== null && el.nodeType === 1); return null; }; | Ещё нужен полифилл для Symbol (достаточно добавить userscript-заголовок к js-ке как у closest выше): https://raw.githubusercontent.com/rousan/symbol-es6/master/symbol-es6.js Возможно так же override понадобится (на ФФ50+ новый юзерагент точно нужен, чтобы не ломалось): Код: [github.com] User Prefs|Custom User-Agent=Mozilla/5.0 (rv:60.0) Gecko/20100101 Firefox/60.0 |
| Всего записей: 29 | Зарегистр. 26-10-2016 | Отправлено: 01:24 01-09-2018 | Исправлено: sendaplanet, 21:15 01-03-2019 |
|