2015-09-21 4 views
0

Я использую пиксель отслеживания Facebook на своем сайте. Фрагмент кода предоставляется Facebook выглядит следующим образом:Вставка скрипта перехвата Facebook внутри функции jQuery

<script> 
!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod? 
n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n; 
n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0; 
t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window, 
document,'script','//connect.facebook.net/en_US/fbevents.js'); 

fbq('init', '289122114623663'); 
fbq('track', 'PageView'); 
</script> 
<noscript><img height="1" width="1" style="display:none" 
src="https://www.facebook.com/tr?id=289122114623663&ev=PageView&noscript=1" 
/></noscript> 

Обычно я ставлю этот фрагмент над </body> тегом и идти на моем веселом пути, но в этом случае, мне нужно не запускать этот скрипт, если есть определенный div, отображаемый на странице.

Я написал JQuery, если заявление, как это:

if (!$('.partner-bar').is(':visible')) { 
    $("#facebook-pixel").html(""); 
}; 

Я планировал поставить весь фрагмент Facebook в .html() метод, думая, что выводит HTML в сНу называется #facebook -пиксель, когда эти условия выполнены. но jQuery кажется не похожим на метод вместо .html().

Есть ли лучший способ сделать это?

ответ

0

Итак, похоже, проблема на самом деле была проблемой с пробелами. Код, который у меня был с копией, вставленной в метод .html(), содержал в нем разрывы строк, которые разбивали код ... когда я удалял все разрывы строк и лишние пробелы, он работал, как ожидалось.

Вот мой окончательный код:

if (!$('.partner-bar').is(':visible')) { 
     $("#facebook-pixel").html("<script>!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,document,'script','//connect.facebook.net/en_US/fbevents.js');fbq('init', '289122114623663');fbq('track', 'PageView');</script><noscript><img height='1' width='1' style='display:none'src='https://www.facebook.com/tr?id=289122114623663&ev=PageView&noscript=1'/></noscript>"); 
    };