Реализация Webtrends Analytics - использование переменных в качестве асинхронного отслеживания вызова / передачи переменной в качестве значения - PullRequest
2 голосов
/ 21 мая 2011

У кого-нибудь здесь есть опыт реализации Webtrends?Согласно их документации, их асинхронный вызов отслеживания событий осуществляется путем отправки пар строк ключ-значение в их метод отслеживания, например:

dcsMultiTrack('DCS.dcsuri', 'page.html', 'WT.ti', 'NameOfPage');

Однако эта модель плохо подходит для поддержки динамических данных.Я хотел бы сделать что-то вроде этого, чтобы я мог динамически создавать пары ключ-значение на основе взаимодействия с пользователем, которое я собираю:

var wtString = "'DCS.dcsuri', 'page.html', 'WT.ti', 'NameOfPage'";
dcsMultiTrack(wtString); 

В моем доказательстве концепции, однако, этоне работа.Фактический JT искажает данные, и вызов не выполняется.(Просматривая их код, похоже, что что-то ломается при назначении аргументов объекту Webtrends. В любом случае, я не могу редактировать их код, потому что тогда они не будут его поддерживать, поэтому я перестал исследовать этот конец.)

Итак, вопрос в том, как я могу передать переменную JS в качестве ее значения?Я много искал и пробовал вещи, которые, как я думал, будут работать и не работать: String (), .toString (), .value (), замыкания и даже страшный eval (), но безрезультатно.

Любая помощь будет очень признательна.Я в своем уме с этим.

1 Ответ

1 голос
/ 09 июня 2011

Похоже, функция JavaScript apply может помочь здесь:

var wtArguments = ['DCS.dcsuri', 'page.html', 'WT.ti', 'NameOfPage'];
dcsMultiTrack.apply(this, wtArguments);

Это фактически то же самое, что вызов:

dcsMultiTrack('DCS.dcsuri', 'page.html', 'WT.ti', 'NameOfPage');
...