2

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.

1
  • Are you sure the script is working? Maybe if you properly format the script you will find some flaw that render it useless. At the very least people like me will be more willing to peruse it (I would not read code formatted like this if not forced to ;-) ). Commented May 10, 2016 at 11:52

1 Answer 1

2

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.

Sign up to request clarification or add additional context in comments.

1 Comment

Ya, its working. If I need to add an img tag inside a nonscript. Like <noscript><img height="1" width="1" style="display:none" src="facebook.com/tr?id=1234&ev=page&noscript=1" /></noscript>. How can I do this? An element inside other element..

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.