2016-12-17 2 views
0

ユーザーが外部リンクからページを入力すると、モーダルを起動するスクリプトを作成しようとしています。私はdocument.referrerがそれを行う方法だと仮定していますが、 "if"条件でJSを実装する方法についてはJSにはあまり精通していません。どんな提案も感謝しています。ユーザーが別のサイトからページを入力したかどうかを判断するJS/Jqueryの方法

私はこれがこのように見えるでしょうか?

if (document.referrer !== window.location.hostname) { 
    // do something 
} 

答えて

0

ユーザーが外部リンクからページを入力するかどうかを確認したい場合、あなただけのホスト名を取得するためにdocument.referrerを解析し、そのwindow.location.hostnameと比較することができます:

var parser = document.createElement('a'); 
parser.href = document.referrer; 
var isExternallyReferred = document.referrer.length > 0 && parser.hostname !== window.location.hostname; 

if (isExternallyReferred) { 
    // launch modal 
} 
+0

どこだろう、これをエラーはからですか? Uncaught SyntaxError: "予期しないトークン=" –

+0

oops typo! '!=='条件式 – hackerrdave

+0

から余分な '='を削除する答えを編集しましたので、これに警告を追加しました:https://jsfiddle.net/fg83Lx4p/しかし、単にページを更新すると正しい警告が表示されますしかし、私がフィドルからのリンクをクリックすると、私は警告を受け取りません...たぶん私はこれに間違ったアプローチを取っていますか? –

関連する問題