1

ブックマークレットとは何かを知っています。つまり、ブックマークレットを作成する方法と、ユーザーが閲覧しているページにアクセスできることを知っています。

私が理解していないのは、そのページからサーバーに情報を送信する方法です。

ブックマークレットからサーバーにajax呼び出しを行うと(これが可能であると仮定して)、ブックマークレットが私のもの、つまりクロスオリジンリクエストではないことをどのようにして知ることができますか?

それともこれは可能ですか?corsを使用する必要がありますか?

または、単純なajax呼び出しでブックマークレットを使用できますか?

ユーザーが使用しているページ/ドメインから情報を取得し、それをサーバーに送信して処理したいだけです。

4

1 に答える 1

2

ブックマークレットが私のもの、つまりクロスオリジンリクエストではないことをどのようにして知ることができますか?

サーバーは知りません。ブラウザは気にしません。コードとそれが行うすべてのことは、それがページのネイティブ部分であるかのように扱われます。(サーバー側のコードには、伝えたいことは何でも伝えることができますが、ここでは関係ありません。)

または、これも可能ですか...ユーザーが表示しているページ/ドメインから情報を取得してサーバーに送信することはできますか?

データを送信するだけでよい場合は、フォームを介して通常の古いPOSTを使用するか、フォームまたは追加されたスクリプト、さらにはIMGオブジェクトを介してGETを使用できます。フォームを使用して投稿するには、送信時にメインページの場所が変更されないようにiframeを作成します。

データも取得したい場合は、JSONPまたはAJAX + CORS(具体的にはAccess-Control-Allow-Originヘッダー)があります。厳密な意味でJSONPを使用する必要はありません。これは、データを渡すための単なる標準です。JSON引数を使用して単一の関数呼び出しを行うコードを返す代わりに、サーバーは実行したいJavaScriptコードを同じように簡単に返すことができます。

于 2013-02-18T14:09:58.333 に答える