web-dev-qa-db-ja.com

JavaScriptを無効にしてFirefoxでブックマークレットを作成するにはどうすればよいですか?

私はFirefoxでこのブックマークレットを持っています:

javascript:void(location.href='https://example.com/url='+document.location.href)

実際のウェブページ(example.comに送信したいURL)に対してJavaScriptを有効にすると機能します。私の問題は、example.com以外のすべてのJavaScriptを無効にするNoScriptで使用したいということです。明らかに、ブックマークレットはjavascriptが無効になっていると機能しません。

Javascriptを無効にして動作するブックマークレットを作成する方法があるかどうか知りたいのですが。ブックマークレットにのみ興味がありますが、これに役立つ拡張機能についてコメントしてください(サードパーティのサーバーに情報を送信する必要はありません)。

必要に応じて、サーバーに追加のコードを記述できます。そして、私は常にexampleに対してJavaScriptを有効にしてきましたが、実際のWebページに対してJavaScriptを有効にしたくありません。

1
EZM

NoScriptのバグ? ????

実際、これはNoScriptの問題のようです。ブロックされたサイトでブックマークレットを許可する設定があるはずです。存在しない場合は、これを拡張機能のバグと見なします。

データURLブックマーク????

悲しいことに(?)javascriptが無効になっていると、javascriptブックマークレットを実行できません。また、「通常の」ブックマークは現在のURLを取得できません。

たとえば、次のdata-urlブックマークは[〜#〜] not [〜#〜]まったく機能しません。

data:text/html,<script>location.href='https://example.com/url='+document.referrer</script>

一方、このdata-url wouldは、元のページに代わって新しいタブで開かれた場合に機能します(スクリプトを無効にすると実行できません)。

data:text/html,<script>location.href='https://example.com/url='+opener.location.href</script>

スマートブックマーク????

最も目立たない解決策は、(スマートな)キーワードブックマークを使用することだと思います。ブックマークでは、%sをプレースホルダーとして使用し、それにキーワードを割り当てることができます。通常、これにより、ロケーションバーにカスタム検索機能を追加できます。たとえば、ブックマークをhttps://superuser.com/search?q=%sに追加し、それにキーワードsuperを割り当てると、ロケーションバーにsuper bookmarkletのようなものを書き込んでsuperuser.comで検索できます。

あなたの場合、ブックマークをhttps://example.com/url=%sに追加し、キーワードexを追加します。次に、押す必要があるたびにブックマークを開く代わりに Ctrl+L、 Left、 E、 X、 Space、 Return 現在のURLの前に「ex」を取得してブックマークを開きます。

アドオン????

おそらく、ここで役立つアドオンはたくさんあります。 (たぶん カスタムボタン アドオン?)しかし、個人的には、この特別な目的のために別のアドオンだけをインストールするのではなく、(うまくいけば)すでにインストールされている万能アドオンを再利用します Greasemonkey のように。

1
Robert