2015-02-07 3 views
2

Я использую непересекающийся тег HTML Javascript/Third Party, где я использую следующий скрипт для передачи данных стороннему тегу.DTM: _satellite не определено

<script> 
    x = _satellite.getVar('Sub-Total'); 
</script> 

Проблема в том, что данные не передаются «x».

Я также попытался следующие:

<script> 
    var x = $('td[data-hook="order_item_total"]').text().substring(1); 
</script> 

В этом случае я получаю $ не определено. Обратите внимание, что оба метода работают, когда я тестирую его в консоли Javascript, и если я использую тег Non-Sequential Javascript. Что мне нужно добавить, чтобы сделать одну из этих работ? Ваша помощь очень ценится.

Спасибо,

Риддер

+0

Так вы получаете ошибку '_satellite not defined', или она просто возвращает undefined при вызове элемента данных? У вас есть элемент данных («Sub-Total») setup/имеет значение, установленное для него? Для второй части у вас есть jQuery, включенный до включения DTM-скрипта? – MisterPhilip

+0

@MisterPhilip - Чтобы ответить на ваши вопросы: я получаю сообщение об ошибке «_satellite not defined». У меня есть элемент данных («Sub-Total»), и он возвращает значение. Я попытался включить jQuery перед DTM, а также изменить $ for jQuery в инструкции. – Ridder

+0

Итак, вы получаете ошибку '_satellite not defined error 'из кода, который исходит из тега в DTM? Есть ли другие ошибки на странице? Что показывает настройка DTM в режиме отладки (запустите '_satellite.setDebug (true)' и перезагрузите страницу, чтобы увидеть вывод консоли)? Загружаются ли другие правила? – MisterPhilip

ответ

4

Вопрос в том, когда вы настраиваете тег, чтобы быть непоследовательных HTML, код выводится динамически в iframe. Поскольку iframe не включает объект _satellite, попытка его ссылки приводит к ошибке undefined.

Если тег содержит смесь HTML и JavaScript, который должен быть выход, и вы должны _satellite разоблачены, вы должны вместо этого использовать Последовательных HTML тега.

В качестве альтернативы, если код в теге действительно чисто яваскрипт и как раз случается быть завернуты в <script> теги, а затем просто удалить тег в <script> обертку и поместить код в Javacript стиль тега (не имеет значения если он последователен или не последователен, оба будут иметь _satellite, подвергнутые воздействию).

Примечание: я не мог найти ни одного упоминания об этом в документации DTM (хотя я мог бы быть слепым!), Но если вы открываете консоль разработчика вашего браузера и смотреть на живой/оказанной DOM, вы можете убедиться в этом сами , Я чувствую, что, как минимум, это оговорку следует хотя бы упомянуть в документации.

Смежные вопросы