0

アフィリエイト マーケティングと PHP を使用して、次のようなトラッキング ピクセルを作成する方法を知っています。

<img alt="" src="http://example.com/pixel.php?tracking=43233" />

次に、pixel.php で次のようなことを行います。

<?php

$sTrack = @ $_GET['tracking'];
$sTrack = urldecode($sTrack);
$sTrack = strip_tags($sTrack);
$sTrack = trim($sTrack);
// do something with sTrack here
header('Content-type: image/gif');
readfile('images/invisible.gif');

問題は、このオファー ページで、URL のクエリ パラメータとして cname と cemail を受け取っていることです。顧客は、PHP をサポートしていないが Javascript を挿入できるものをホストしており、この中で jQuery を使用することはできません。場合。代わりに、100% 純粋な Javascript でこれを行う必要があります。したがって、$_GET を読み取って cname と cemail を取得することはできません。

location.search がこれらのパラメーターを提供することを知っています。load イベントのように、最後に location.search を渡すことができるように、IMG タグを変更する方法が必要なだけです。また、IE7 以降のすべてのブラウザー、Opera、Safari、Chrome で動作する必要があります。

4

2 に答える 2

1

http://example.com/pixel.phpをimgsrcとして使用し、そのPHPスクリプトで参照を確認することができます。

于 2012-02-03T03:21:34.727 に答える
1

Javascript を使用して画像ソースを設定します。

<body onload="document.getElementById('tracking_pixel').src='http://example.com/pixel.php'+location.search;">
    <img id="tracking_pixel" src="" />
</body>

編集:

はい、img の onload に入れることで短くすることができます。ID とthisキーワードを削除することもできます。ただし、最初の src を空にすることはできません。実際、onload イベントをトリガーするには、有効なイメージである必要があります。これに関する問題は、ネットワークを介したリクエストのコストが発生することです。

URLを繰り返す代わりに、私が使用できる最短のものを次に示しますが、+=これはオンロードハンドラーをクリアする必要があることを意味しました。

<body>
    <img src="http://example.com/pixel.php" onload="onload=''; src+=location.search;" />
</body>

または、データ URI を使用できます。残念ながら、たった 1 ピクセルのデータ URI はかなり長いです。

<body>
    <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVR42mNgAAIAAAUAAen63NgAAAAASUVORK5CYII=" onload="src='http://example.com/pixel.php'+location.search;" />
</body>
于 2012-02-02T20:33:50.527 に答える