Может ли Firefox отображать разрешение изображения перед именем в заголовке вкладки?
Вопрос:
Может ли Firefox отображать разрешение изображения перед его названием в заголовке? Если у изображения слишком большое имя, я не могу прочитать его разрешение, и это меня беспокоит.
Я провел некоторые исследования, но пока не увенчался успехом.
Кто-нибудь из вас, ребята, знает, как это сделать? Какой самый умный / самый эффективный способ? Можно ли это сделать в пользовательскомстиле? или нужен пользовательскийскрипт или надстройка? Не стесняйтесь предлагать любые предложения или решения, будь то пользовательский стиль или что-то в этом роде.
1 ответ
Самый простой код - изменить заголовок при загрузке документа:
// ==UserScript==
// @name Image dimensions before title
// ==/UserScript==
(function() {
var m = document.title
.match(/^(.+?\.\w+) \((?:([^,]+?), )?(\d+)\s*[x×]\s*(\d+)( .+?)?\)/);
if (m)
document.title = m[3] + 'x' + m[4] + ' ' + m[1] + (m[2] ? ' (' + m[2] + ')' : '');
})();
Используя MutationObserver, можно сразу изменить заголовок, если он установлен браузером без мерцания. Регулярное выражение работает как для Firefox, так и для Chrome и перемещает размеры перед именем файла. DOMContentLoaded
прослушиватель событий все еще используется для переопределения вредных эффектов других аддонов / пользовательских скриптов, таких как CenterImage, который закрывает <HEAD>
элемент.
// ==UserScript==
// @name Image dimensions before title
// @run-at document-start
// ==/UserScript==
if (!changeTitle()) {
new MutationObserver(function(mutations) {
var nodes = mutations[0].addedNodes;
if (nodes[0] && nodes[0].localName == 'title' && changeTitle(nodes[0])
|| document.body && document.body.children.length) {
this.disconnect();
}
}).observe(document, {subtree: true, childList: true});
}
document.addEventListener('DOMContentLoaded', changeTitle);
function changeTitle(node) {
var m = document.title
.match(/^(.+?\.\w+) \((?:([^,]+?), )?(\d+)\s*[x×]\s*(\d+)( \w+)?\)/);
if (m) {
document.title = m[3] + 'x' + m[4] + ' ' + m[1] + (m[2] ? ' (' + m[2] + ')' : '');
return true;
}
}