56

これができないのは、巨大なセキュリティ ホールになる可能性があるためだと考えていますが、ここでは...

JavaScriptコードのスニペットにすぎないブラウザ(できればFF3)にブックマークを付けたいです。現在の日付に基づいて URL を作成し、その URL に対して window.location = を実行するだけです。

ページを作成してローカルマシンに保存し、そのように参照できることはわかっていますが、その手順をバイパスして、実際にブックマークの「場所」を実際にJavaScriptにすることができるかどうか疑問に思っていました. 何年も前なら、これが可能だと断言できたかもしれませんが、今はそのどちらかを示すものは何も見つかりません。

4

5 に答える 5

68

必要なのは、作成が簡単で、ほとんどの主要なブラウザーで動作するブックマークレットです。

編集:スタックオーバーフローにより、サイトのコンテキストでブックマークレットを作成できないようです。基本的に、新しいブックマークを作成して、場所フィールドに次のように入力できます

javascript:window.location='http://www.google.com/search?q='+Date()

Google で現在の日付を検索するブックマークレットを取得します。

于 2008-08-12T18:29:24.037 に答える
25

それを関数ラッパーにも入れることができることは注目に値します。imranamajeed は私たちのためにそれをうまく説明してくれました... しかしどうやら私はサイトに慣れていないので、彼の投稿をアップすることはできません。:P

明確にするために:

javascript:(function(){
  location.href = location.href + "#";
})();

(キャリッジ リターンは chrome と IE のパフォーマンスに影響しませんでした)

于 2011-07-20T15:25:09.980 に答える
11

1つのマイナーなキャッチ。IEは、この形式の508文字のURLのみを処理できます。これより長いURLでIEに保存すると、警告なしに切り捨てられるため、失敗します。

非常に複雑なスクリプトが必要な場合は、「ホストされた」ブックマークレットを使用する必要があります。このブックマークレットには、スクリプトタグをページに挿入する短いブックマークがあり、ホストされたブックマークレットを「呼び出す」ことができます。

それは素晴らしい/ポータブルではありませんが、それが唯一の回避策です。

于 2008-09-16T01:57:43.250 に答える
10

Google ブックマーク

javascript:(function(){var%20a=window,b=document,c=encodeURIComponent,d=a.open("http://www.google.com/bookmarks/mark?op=edit&output=popup&bkmk="+c(b.location)+"&title="+c(b.title),"bkmk_popup","left="+((a.screenX||a.screenLeft)+10)+",top="+((a.screenY||a.screenTop)+10)+",height=420px,width=550px,resizable=1,alwaysRaised=1");a.setTimeout(function(){d.focus()},300)})();
于 2009-01-24T20:13:48.263 に答える
8

さて、私は FF3 でブックマークを作成し、戻って更新し、次のテストを追加しました。

javascript:alert('Wacky%20test%20yo');

ほら、保存してロードした後、アラートを受け取ることができました。

あなたのニーズに似たものを作り上げることができると確信しています。

于 2008-08-12T18:31:11.320 に答える