私の頭の上には、次のようなものが動き出すはずだと思います。
あなたはHTTPリファラーを使用することもできますが、それは完全に ではありません。次に、このようにはJavaScriptを少し埋め込むために、クライアント をGoogleアナリティクスが何をコピーしてもらう:あなたの最初の2点を満たす必要があります
var _edan_cfg = _edan_cfg || { };
_edan_cfg.apiKey = 'The-API-key-goes-here'; // Just in case you want it later.
(function() {
var e = document.createElement('script');
e.type = 'text/javascript';
e.async = true;
e.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www')
+ '.your-domain-name.com/some_sensible_path/'
+ encodeURIComponent(_edan_cfg.apiKey);
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(e, s);
})();
を。
サーバー側では、着信パスからAPIキーを抽出します。 どのサイトに話しているかを示すキーがあるので、 JavaScriptが適切であれば返信することができます。 HTTPキャッシュの ヘッダーを使用して、キャッシュの制御を試みることができます。それは ポイント2と3の世話をする必要があります。
最後の要件は少し面白いですが、不可能なものではありません。 返信するスクリプトは、常に複数のレンダリングまたは ビヘイビアをサポートできます。スクリプトは、どのような条件を考えても に基づいてどのビヘイビアを選択することもできます。また、上記のようにさらに<script>
タグを作成することにより、スクリプトはサーバからより多くの スクリプトを読み込むことができます。
2番目と4番目の箇条書きが互いに競合しています。ほとんどのサードパーティ製のJSプラグインは、キャッシュでかなり短い期限切れ時間を使用することでこれを処理します。それでもキャッシュすることはできますが、期限切れのキャッシュをやりたくはありません。 24時間はサードパーティのスクリプトに共通の価値です。 – Ian