У нас есть форма бронирования, которая отправляется на веб-сайт материнской компании. Поскольку это другой домен, нам необходимо реализовать GA _linkByPost, чтобы передать информацию cookie отслеживания GA по доменам.javascript form.submit() убывающая строка, созданная GA _linkByPost
Как форма бронирования находится в пользовательском элементе .NET, она выполняет обратную передачу. На обратной стороне мы проверяем, завершаем информацию о бронировании и записываем форму обратно клиенту со скрытыми элементами, требуемыми целевым механизмом бронирования, и добавляем строку javascript для отправки формы.
Ниже Javascript функция Я использую для отправки формы:
function postBookingForm() {
var thisForm = document.getElementById('PostForm');
_gaq.push(['_linkByPost', thisForm]);
thisForm.submit();
}
И соответствующую форму информации:
<form id="PostForm" name="PostForm" action="ClientBookingEngineUrl" method="post" >
booking form info in here
</form>
Результатом является то, что мы заполнить форму, нажмите отправить который выполняет обратную поездку на сервер, генерирует новую форму и POST-информацию. Все это отлично работает, кроме того, что URL-адрес теряет информацию cookie GA из строки запроса. Если я прокомментирую строку отправки формы и посмотрю на исходный код, я могу видеть информацию cookie GA в querystring, но при публикации я не вижу querystring (используя Fiddler).
Для уточнения: Вышеупомянутая техника работает и делает то, что мы хотим, в отношении данных формы POSTing в систему бронирования и заставляя пользователя там. Если строка отправки прокомментирована, вы можете увидеть форму с измененным действием, в которое добавлено приложение GA (с использованием Firebug). Если форма отправлена с линией отправки, информация о querystring удаляется (подтверждается Fiddler).
Я пропустил что-то очевидное? Есть ли какие-то ошибки в отношении отправки JS, формы POST и повторений? Или есть простой трюк, который мне не хватает?
Приветствия
РЕДАКТИРОВАТЬ 1
странность произошло.
Если я предупреждаю действие формы до и после _gaqPush, мы можем видеть URL-адрес в его состоянии до и после, и это как ожидается.
alert('1 form action = ' + thisForm.action);
_gaq.push(['_linkByPost', thisForm]);
alert('2 form action = ' + thisForm.action);
Alert 1 показывает предварительно измененное действие и предупреждение 2 показывает действие с информацией GA. С оповещениями на месте он отправляет WITH GA информацию в строку запроса. Если я прокомментирую предупреждения, информация GA НЕ находится в строке запроса ...
Я начинаю думать, что форма или что-то не готова, поэтому я пытаюсь подготовить ее с помощью документа JQuery.
EDIT 2
Обертывание вызов метода в документе готового не помогает. Я смущен, почему URL-адрес действия правильный ПОСЛЕ того, как его отображать в предупреждении, но неверно, если я его не предупреждаю.
Спасибо за типографские исправления. Я знаю разницу между свободными и потерянными честными. Я обвиняю его в стрессе :) – Jag