2016-09-11 8 views
0

私のアプリケーションは、Google Analytics、Stripe、AppInsights ...などのように、自分のサイトに貼り付けるjavascriptスニペットを介してユーザーのウェブサイトとやりとりします。javascriptスニペットのリモートURLを確認する

Webアプリケーションでリモートサイトにpingを実行して、貼り付けられたスニペットが存在することを確認したいと思います。それが存在する場合、私はリモートjavascriptメソッドが応答したいと思います。

私はこれが簡単なはずだと思うが、私はそれをすべてまとめるのに苦労している。リモートスクリプトでは、クエリーストリングのトリガー値をチェックするようにしました。見つかった場合、「自己チェック」を実行して応答します。

私は私のAJAX呼び出しにスクリプト応答を作る方法をかなり確実ではなかったと私はまた、必ずしもすべてのwindow.loadが

誰もが正しい方向に私を指すクエリ文字列をチェックする考えを好きではなかったですより洗練されたアプローチを提案しますか?ありがとう

答えて

1

私はあなたがそれを他の方法で考えなければならないと思う。これらの種類のスクリプトは、そのWebサイト用に生成されたAPIキーを持っており、Webサイトが読み込まれると、スニペットが利用可能であることを示すためにAPIキーをAPI生成サーバーに送信するJavaScriptコード

この方法では、スナップされたページがWebサイトで利用可能かどうかを確認する必要はありません。もちろん、スナップされた状態で一貫したダイアログが必要な場合は、Web Socketやその他の通信手段(長いポーリングなどの古いブラウザの場合)を使用する必要があります。

Webソケットと双方向通信を使用しないでくださいあなたが下に悪質な作業をしていないというユーザへの信頼と、最初のアプローチが十分に役立つはずです。しかし、双方向通信を継続する場合は、MDN WebSocket documentationを参照してください。

最初のアプローチ(双方向通信を使用しない)は、Ajax呼び出しで、jQuery AJAX documentationを使用するか、John Shipp on Vanilla JS AJAX requestsという純粋なJavaScriptだけのライブラリを使用しないでください。

+0

ya私は本当に双方向通信は必要ありません。新しいユーザーが必要な統合が適切に設定されたことを確認するためにタップすることができるボタンのようなものです。そのすべては心の安らぎについて...間違って行った場合、不適切な設定が検出されるまで数日ないしは数週間かかることがあります。 –

+0

しかし、あなたはボタンが必要ないことがわかります。スナップされたコードはユーザーのWebサイトにロードされ、Webサイトがロードされたときに呼び出される関数を持つことができ、関数は初期化されたことを示すajaxを持つサーバーにメッセージを送信します。 –

+0

答えとしてマークすると、実際に私が描いていたような流れには適合しませんでしたが、私のサーバーにメッセージを送信するためのクエリ文字列変数をスクリプトが監視するようにしました。私の側では、*クロス起点呼び出しを許可するメソッドをオーバーライドし、ボタンなどを使用して、ユーザーのWebページにトリガーvarをpingしてスニペットをホームにpingさせます(意味があることを望みます) –

関連する問題