NoScript FireFoxプラグインを使用して、特定のサイトでフォントを含む「ブロックされたオブジェクト」を許可したいと思います。
私は理解しています NoScriptがフォントをブロックする理由 ですが、信頼できるいくつかのWebサイトでは、それでも許可したいと思います。
1つのドメインからのみスクリプトを許可する方法 および 特定のスクリプトを有効にする方法ABEマニュアル 以外に読みました。しかし、私はそれを機能させることはできません。これが私がTogglのために試したいくつかのABEルールです:
Site .gstatic.com .bootstrapcdn.com
Accept from .toggl.com
Site fonts.gstatic.com maxcdn.bootstrapcdn.com
Accept INCLUSION(SCRIPT, OBJ, CSS) from .toggl.com
Site fonts.gstatic.com maxcdn.bootstrapcdn.com
Accept from .toggl.com
ただし、これらのルールセットのいずれも、Togglのフォントを含めることはできません。私がどこで間違っているのか分かりますか?
(FireFox34.0.5のNoScript2.6.9.6rc3)
noscriptサイト 状態:
たとえば、_
noscript.allowedMimeRegExp
_プリファレンス値をに設定します
- _
FRAME@https?://somesite\.com
_- _
FONT@https?://some-other-site\.com
_- _
WebGL@https://www\.khronos\.org
_somesite.comからのFRAME/IFRAMEの読み込み、some-other-site.comからのWebフォント、および_
https://www.khronos.org
_からのWebGL3Dコンテンツを永続的に許可します。
阿部にはできないと思います。特定のサイト/ドメインに対してのみフォントを有効にするハックな方法の1つは、Vimperator/Pentadactylを使用し、LocationChangeイベントでMimeRegExp設定を自動的に変更することです。ページを離れるときに設定を元に戻すには、負の先読みを持つ式を使用する.vimperatorrcで次の単純な関数( Anekos から取得)を使用できます。
_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
_
私はこれをテストしていませんが、テストします。
[〜#〜]編集[〜#〜]:
_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がリロードを再度実行(つまりループ)しないように、ブール値とタイムアウトを設定する必要があるようです。おそらく、PageLoadPreイベントの別のautocmdがブール値に使用される可能性があります。これは私が知っているかなり醜いものになっています。ごめんなさい。
ps。単純なURLベースの設定切り替えのより便利なアプリケーションは、明らかにダウンロードディレクトリを変更することです。
[〜#〜] edit [〜#〜](2017): Block Origin を使用すると、特定のタイプの特定のタイプをターゲットにできますhtmlオブジェクト、ファイル、または動作。
動的ルールと静的ルールの両方で、ドメイン/ URLにオリジンを許可するように指定しています。私はこれを数年使用しています。タイプには、fontとinline-script、stylesheet、image、object、script、xmlhttprequest、sub_frame、media、websocket、popunderおよびpopup。
ルールの例:
_* * 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
_
つまり:
noop( 'no operation')を使用しても、静的ルールフィルタリング(通常、広告ブロックまたはマルバタイジングリストとして知られる分散ルールで定義されます)を適用します。