2012-01-02 10 views
2

別の関数を呼び出す私は次のディレクトリにはJavaScriptファイルを持っているのJavaScriptファイル

/static 
     /handler.js 
     /evercookie.js 
     /jquery.js 

私はhandler.jsからやりたいすべてはevercookie.js内の関数を呼び出す機能。例えばevercookie()は、私はこれをしようとすると、それは私がこの問題を解決するものとどのようにevercookie not found

を言って失敗した

である

var ec = new evercookie(); 
     cookiePresent = false 
     ec.get(suggestion_id, function(value) { 
      alert("Cookie value is " + value); 
      cookiePresent = true; 
    }); 
    if (cookiePresent) { 
      return; 
     } else { 
      ec.set(suggestion_id, "1"); 
      alert("cookie set for " + suggestion_id); 
    } 

handler.jsでどこ?

答えて

3

スクリプトの順序が正しいことを確認してください。他のスクリプトが使用するには、を参照する必要があります。

から:

/handler.js 
    /evercookie.js 
    /jquery.js 

へ:

/jquery.js 
    /evercookie.js 
    /handler.js 

ブラウザが解析し、解釈しHTMLCSSJavaScriptトップダウンので、あなたがアクセスしようとしますオブジェクトをインスタンス化する帽子は、ブラウザの解析に

もっと...ブラウザがエラーになります存在しません:

http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#overview-of-the-parsing-model

+0

ザンダーとはどのような意味がありますか? – daydreamer

+0

はいそうです! @ Xander、ありがとう – daydreamer

1

あなたはちょうどあなたのハンドラ内のコード上でevercookie.jsコードを配置するのいずれかがあります。 jsファイルにリンクするか、またはhandler.jsにリンクする前にevercookie.jsにリンクする必要があります。

<script src="static/evercookie.js"> 
<script src="static/handler.js"> 
関連する問題