Преобразование Facebook Пиксельный код: BODY vs HEAD
Можно ли разместить пиксель преобразования Facebook внутри BODY (в отличие от внутри HEAD, что предлагает Facebook в своих спецификациях?
Я не понимаю, почему нет. Кто-нибудь пробовал?
Вот пример кода
<script type="text/javascript">
var fb_param = {};
fb_param.pixel_id = '123456789';
fb_param.value = '10';
fb_param.currency = 'USD';
(function(){
var fpw = document.createElement('script');
fpw.async = true;
fpw.src = '//connect.facebook.net/en_US/fp.js';
var ref = document.getElementsByTagName('script')[0];
ref.parentNode.insertBefore(fpw, ref);
})();
</script>
<noscript><img height="1" width="1" alt="" style="display:none" src="https://www.facebook.com/offsite_event.php?id=1234566&value=10&currency=USD" /></noscript>
Ответы
Ответ 1
В соответствии с этим ответом здесь: https://www.facebook.com/help/community/question/?id=10200354561858276
вы можете поместить его внутри элемента <BODY>
, но FB рекомендует сохранить его в начале <BODY>
или в <HEAD>
, поскольку преобразование будет подсчитано, даже если страница не загружается полностью или пользователь закрывает страницу.
Ответ 2
Вы можете поместить код пикселя fb в любом месте документа. Это будет работать. Испытано
Если вы положите конец тела, есть один недостаток, вы не получите счетчик пикселей, если пользователь закрыл браузер (случай - страница не загружена полностью).
Но если он присутствует в голове, вы получите подсчет пикселей в случае неправильной загрузки страницы.
Ответ 3
Видимо, да. Он работает в ТЕЛО. Испытано.
Ответ 4
Предоставленный код поместит ссылку на FB script до первого появления тега в любом случае, см.
var ref = document.getElementsByTagName('script')[0];
ref.parentNode.insertBefore(fpw, ref);
В чем именно причина, по которой вы хотите изменить это?
Ответ 5
То, что я сделал, - это разместить часть <script>
кода в разделе HEAD
и <noscript>
в конце раздела BODY
. Почему?
Если Javascript включен, и если вам важно посчитать каждый удар на вашу страницу, независимо от того, была ли страница полностью загружена или нет, это все равно будет работать.
Если Javascript не включен, часть <noscript>
также будет выполнена, не вызывая нарушения в макете модели dom (на моей странице она добавила некоторую фиктивную высоту к этому 1px-изображению, поскольку бог знает, в чем причина) и, самое главное, он будет проверяться в валидаторе HTML W3C. Если вы оставите часть noscript в разделе главы, тег img в noscript вызовет ошибку проверки.