2013-10-09 13 views
6

私のウェブサイトにintro.jsを実装しました。しかし、私は最初の訪問時にのみツアーを始めたいと思っていました。クッキーを使用している可能性があります。ウェブサイトはHTMLなしで作成されています..最初のウェブサイト訪問時にのみintro.jsツアーを開始する方法

+0

イントロを実行する方法の例を使用して回答を更新しました。 – Snowburnt

+0

コードを尋ねる質問は、**解決されている問題についての最小限の理解を示す必要があります**。試行されたソリューション、なぜ機能しなかったのか、*期待した結果を含める。関連項目:[Stack Overflow question checklist](http://meta.stackexchange.com/questions/156810/stack-overflow-question-checklist) –

答えて

9

JavaScriptクッキーは、ユーザーがクッキーを保持している間だけ機能することを指摘しておきますが、解決策です。

//set the cookie when they first hit the site 
function setCookie(c_name,value,exdays) 
{ 
var exdate=new Date(); 
exdate.setDate(exdate.getDate() + exdays); 
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString()); 
document.cookie=c_name + "=" + c_value; 
} 

//check for the cookie when user first arrives, if cookie doesn't exist call the intro. 
function getCookie(c_name) 
{ 
var c_value = document.cookie; 
var c_start = c_value.indexOf(" " + c_name + "="); 
if (c_start == -1) 
    { 
    c_start = c_value.indexOf(c_name + "="); 
    } 
if (c_start == -1) 
    { 
    c_value = null; 
    } 
else 
    { 
    c_start = c_value.indexOf("=", c_start) + 1; 
    var c_end = c_value.indexOf(";", c_start); 
    if (c_end == -1) 
    { 
c_end = c_value.length; 
} 
c_value = unescape(c_value.substring(c_start,c_end)); 
} 
return c_value; 
} 

コードは明らかにあなたがそこに記入する必要がありますが、それはJavaScriptでクッキーを操作するための良い出発点だいくつかのブランクがありますhttp://www.w3schools.com/js/js_cookies.asp

からです。

EDIT:

ですから、新しい関数を作りたい、頭に入れて、内部のスクリプトタグ(すでにそれらを持っている場合は、そこに関数をコピー(あなたが他を置くことになるでしょうscriptタグ内に用意した2つの関数))。この関数は、Cookieがあるかどうかをチェックします。あなたがそうしたら、ちょうど戻ってください。あなたは、クッキーを作成し、イントロを実行しない場合は、

<head> 
<script type="text/javascript"> 
function checkCookieIntro(){ 
    var cookie=getCookie("mySite"); 

    if (cookie==null || cookie=="") { 
     setCookie("mySite", "1",90); 
     runIntro(); //change this to whatever function you need to call to run the intro 
     } 
} 

</script> 
</head> 

は今であるためにあなたの体を変更します。

<body onload="checkCookieIntro()"> 

ので、体の負荷が、それは、クッキーが存在するかどうかを確認する時期そうでない場合は、(ユーザがそれを削除しない限り)90日間持続する値のクッキーを作成し、イントロを実行します。クッキーに値が存在する場合、何もしません。

+0

ツアー開始機能を本体にロードしました..クッキーがボディを停止しますあなたのコードを追加した後にonload .. – Aroo

+0

いいえ、条件を追加して、クッキーチェックを呼び出して関数を作成する必要があります。私は何時間もあなたのために何かを書くだろうが、何が起こっているのか理解するように、私はjavascriptで勉強する助言したい。 – Snowburnt

関連する問題