1

ユーザーがブラウジングしながらその場でサイトから URL を送信できるようにするブックマークレットを作成したいと考えています。

このブックマークレットの 3 つの可能な実装を探しています。

  1. ブックマークレットをクリックするだけで、フォーム フィールドのあるページに移動し、そのフィールドに入力されたばかりの URLが表示されます。

  2. ブックマークレットをクリックするだけで、フォーム フィールドのあるページに移動し、前のページから強調表示されたリンクがフィールドに入力されます。

  3. 推奨されるオプション - ブックマークレットをクリックすると、ポップアップ (サイズと機能が Twitter のツイート ボックスに似ています) が開き、ブックマークレットをクリックしたページの URL が事前に入力されたフォーム フィールドが表示されます。TwitterのつぶやきボックスやFacebookのシェアボックスにいいね!

4

1 に答える 1

0

私は通常、コードを公開するだけではありませんが、これは非常に単純であるため、共有して説明する価値があると考えています。

圧縮:

javascript:(function(f,s,n,o){window.open(f+encodeURICompnent(s),n,o)}('http://example.com?url=',window.location,'yourform','width=300,height=200'));

エキスパンド

(function (formurl, site, name, options) {
    window.open(
        formurl+encodeURIComponent(site),
        name,
        options
    );
}('http://example.com?url=', window.location, 'yourform', 'width=300,height=200'));

これが機能する方法は、匿名クロージャーを呼び出して変数をwindow.open関数に渡すだけです。現在のページの場所をuriクエリ文字列の値として渡します。

フォームを含むページで、正しいフィールドにクエリ文字列の値を入力する必要があります。

これはクロージャーを使用せずに記述できますが、呼び出されたものからの戻り値がないことを確認する必要がありjavascript:<string value>ます<string value>

于 2012-06-13T22:21:19.397 に答える