2008-08-12 10 views
41

でブックマークを追加します。私のブラウザ(FF3、できれば)にブックマークをつけてください。これはjavascriptコードのスニペットです。現在の日付に基づいてURLを作成し、そのURL上でwindow.location =を実行するだけです。は私がしたい...</p> <p>をJavaScriptのみではなく、私はこれを行うことができない理由は、それが巨大なセキュリティホールであるかもしれないからですが、ここに行くことを考えているURL

私はページを作ってローカルマシンに保存し、その方法で参照できると知っていますが、そのステップをバイパスしてブックマークの実際の場所JavaScriptです。私はこれが数年前に可能であったと誓っていたかもしれませんが、今私に教えてくれるものは何も見つかりません。

答えて

54

欲しいものはbookmarkletです。作成が簡単で、ほとんどの主要なブラウザで動作するはずです。

編集:スタックオーバーフローは、基本的には、Googleの検索ブックマークレットを取得するために、新しいブックマークを作成し、

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

場所フィールドに次のように入力することができ、サイトのコンテキストでブックマークレットを作成することはできないようです現在の日付です。

8

まあ、私はちょうど、FF3でブックマークを作成戻って、それを更新し、次のテストを追加しました:私は保存およびロード

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

低見よが、後に、私は私の警告を得ることができました。

私はあなたのニーズに似た何かを仕上げることができると確信しています。

11

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

本当に複雑なスクリプトが必要な場合は、ホストされているブックマークレットを呼び出すために、ページにスクリプトタグを挿入する短いブックマークがある「ホステッド」ブックマークレットを使用する必要があります。

これは魅力的ではありませんが、唯一の回避策です。

+5

ので、このためのパターンのようなものです: ジャバスクリプト:(関数(){ document.body.appendChild(document.createElement( 'script')).src = 'http://www.yoursite.com/js/bookmarklet.js';})(); – Shermozle

+0

が正しい。他のサイトから必要なスクリプトコンテンツをロードするだけです。 – scunliffe

9

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)})(); 
19

あなたが同様の機能ラッパーにそれを置くことができることを注目に値するです。 imranamajeedはうまく私たちのためにそれを示しました...しかし、明らかに私は彼のポストのサイトにはあまりにも新しいです。 :明確にするためので、P

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

(キャリッジリターンはChromeとIEでのパフォーマンスに影響を与えなかった)

+0

はい、これを関数にラップすると、戻り値が現在のウィンドウを乱してしまうのを防ぐことができます。 – mb21

関連する問題

 関連する問題