на NoScript сайт держави:
Наприклад, встановлення noscript.allowedMimeRegExp
значення переваги
FRAME@https?://somesite\.com
FONT@https?://some-other-site\.com
WebGL@https://www\.khronos\.org
назавжди дозволить завантажувати FRAME / IFRAME з somesite.com, веб-шрифти з some-other-site.com та WebGL 3D-вмісту від https://www.khronos.org
.
Я не думаю, що АБЕ може це зробити. Один з химерних способів включити шрифт лише для певного сайту / домену - це використовувати Vimperator / Pentadactyl і автоматично змінити налаштування MimeRegExp для події LocationChange. Щоб відновити налаштування під час виходу зі сторінки, ви можете скористатися цією простою функцією (отримано її від Anekos ) у .vimperatorrc, яка використовує вираз із негативним знаком пошуку:
js <<EOM
function add_AutoCommand(URI, onEnter, onLeave) {
let entered = false;
autocommands.add('LocationChange', '(?!' + URI + ')', function () {
if (entered) {
entered = false;
onLeave();
}
});
autocommands.add('LocationChange', URI, function () {
onEnter();
entered = true;
});
}
add_AutoCommand(https?://allow-font-on-this-site\.com,
:set! noscript.allowedMimeRegExp="FONT@https?://some-other-site\.com",
:set! noscript.allowedMimeRegExp=" "
);
EOM
Я цього не перевіряв, але буду.
EDIT : так і має бути
add_AutoCommand('https?:\/\/allow-font-on-this-site\\.com.*',
function(){options.setPref("noscript.allowedMimeRegExp",
"FONT@http://fonts.gstatic.com")},
function(){options.setPref("noscript.allowedMimeRegExp",
"")}
);
... але noscript не вибирає налаштування, якщо сторінка не перезавантажена, тому або перезавантажте її вручну або використовуйте tabs.reload(config.browser.mCurrentTab, false);
Здається, що вам слід встановити булевий і тайм-аут, щоб запобігти LocationChange виконувати (таким чином, циклічно) перезавантажувати знову. Можливо, інший autocmd на події PageLoadPre може бути використаний для булева. Я знаю це дуже некрасиво. Вибачте.
пс. більш корисне застосування простого перефігування на основі URL-адрес очевидно змінює каталог завантажень.
EDIT (2017): за допомогою uBlock Origin ви можете конкретно орієнтуватися на певні типи html-об’єктів, файлів або поведінки.
Як динамічні, так і статичні правила визначають, що джерело дозволено для домену / URL-адреси. Я цим користуюся вже кілька років. Типи включають шрифт , а також вбудований скрипт , таблицю стилів , зображення , об'єкт , скрипт , xmlhttprequest , підрамник , медіа , websocket , popunder та спливаюче вікно .
приклади правил:
* * 3p block
no-remote-fonts: * true
no-remote-fonts: allow-font-on-this-site.com false
allow-font-on-this-site.com font-cdn.org noop
що означають:
- заблокувати запит третьої сторони з будь-якої сторінки в будь-яку сторінку
- блокувати шрифти сторонніх сторін на будь-якій сторінці з будь-якої точки світу
- знову ввімкніть шрифти сторонніх сторінок на сторінці в домені enable-font-on-this-site.com з будь-якого місця
- необов’язково повторно увімкнути запит на нашій сторінці для походження в домені font-cdn.org
За допомогою noop ("без операції") ми все ще застосовуємо статичну фільтрацію правил (зазвичай визначаємо в розподілених правилах, відомих як списки рекламних блокувань або неправильної реклами).