2012-01-02 3 views
2

У меня есть файл Javascript в следующем каталогеВызов функции из другого файла JavaScript

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

Все, что я хочу сделать из функции handler.js вызвать функцию в evercookie.js. например
в handler.js

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); 
    } 

где evercookie() в

, когда я пытаюсь это он терпит неудачу говоря evercookie not found

Как мне это исправить?

ответ

3

Убедитесь, что порядок ваших сценариев верен - необходимо указать, прежде чем использовать любой другой скрипт.

От:

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

To:

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

Браузер анализирует и интерпретирует HTML, CSS и JavaScriptсверху вниз так что если вы пытаетесь получить доступ к свойство или создать экземпляр объекта t шляпа не существует браузер выдаст ошибку ...

Подробнее о Browser Парсинг:

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 file, или вам нужно установить ссылку на evercookie.js ПЕРЕД тем, как вы ссылаетесь на handler.js.

<script src="static/evercookie.js"> 
<script src="static/handler.js">