-1

私がやろうとしているのは、参照元の URL に基づいてユーザーをプロモーション ページにリダイレクトすることです。以下のスクリプトでは、誰かが「mydomainsite.com」からの参照 URL から来た場合、「mydomainsite.com/promo.html」に送信されます。「mydomainsite.com/promo.html」ページに以下のスクリプトがあり、 「mydomainsite.com」の参照から来ています。ページをループまたはロードし続けているようで、「mydomainsite.com/promo.html」ページをロードすることはありません。スクリプトは「mydomainsite.com/promo.html」にある必要があります。 html」というページをプロモ ページに変更すると、誰もがそのページにアクセスできなくなります。これは indexOf が原因であると推測し、「mydomainsite.com」をチェックしてから実行します。これを修正する方法はありますか?

<script language="JavaScript">
if (document.referrer.indexOf('mydomainsite.com') > -1)
location.href='http://mydomainsite.com/promo.html';
else
location.href='http://notfrommydomainsite.com';
</script>
4

1 に答える 1

0

コメントで述べたように、referrerデータは信頼できませんが、これを追求したい場合は...

あなたが持っている問題のmqost可能性のある原因は、リダイレクトされた場所に到着するとpromo.html、リファラーがそこからのものであることがわかり、mydomainsite.com無限ループを作成するだけです。

location.pathnameそれをテストし、そうでないことを確認してループを回避する必要がありますpromo.html

if (document.referrer.indexOf ('mydomainsite.com') > -1 && 
        location.pathname !== 'promo.html')
    location.href = 'http://mydomainsite.com/promo.html';
于 2013-05-19T07:09:40.737 に答える