Reputation: 1003
I have to inject the below given script in between tag using javascipt.
<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','https://connect.facebook.net/en_US/fbevents.js');
fbq('init', '1234');
fbq('track', "page");</script>
<noscript><img height="1" width="1" style="display:none"
src="https://www.facebook.com/tr?id=1234&ev=page&noscript=1"
/></noscript>
I tried this,
var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.innerHTML = "!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','https://connect.facebook.net/en_US/fbevents.js');fbq('init', '1234');fbq('track', "page");";
head.appendChild(script);
But its not working. How can I do this?
Thanks in advance.
Upvotes: 2
Views: 2474
Reputation: 23379
You need to escape your quotes at the end near fbq('track', \"page\");
:
var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.innerHTML = "!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','https://connect.facebook.net/en_US/fbevents.js');fbq('init', '1234');fbq('track', \"page\");";
head.appendChild(script);
Use an IDE with a syntax highlighter.
Upvotes: 2