3

I'm a little confused how to do this, basically I have a page that has a Facebook Share button inserted via JavaScript:

<script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></script> 

The problem is that it's blocking the page load at that part, how can I insert this tag after page load and still have the script execute? I'll like to do it in an unobtrusive way, ideas?

5 Answers 5

9

Use the jQuery getScript command inside $(document).ready. This will download the script after the page has loaded. Example:

$(document).ready(function() { $.getScript("http://static.ak.fbcdn.net/connect.php/js/FB.Share", function() { alert("Script loaded and executed."); }); }); 
Sign up to request clarification or add additional context in comments.

Comments

3

You could use the jquery.getScripts to load it asynchronously.

Comments

3

Try something like this:

$(document).ready(function() { var script = document.createElement( 'script' ); script.src = "http://static.ak.fbcdn.net/connect.php/js/FB.Share"; script.onload=optionallyDoSomethingWithTheScriptYouJustLoaded();//not needed var headID = document.getElementsByTagName("head")[0]; headID.appendChild(script); }); 

Comments

0

Inject the script tag into the dom as a callback of the document ready event.

Comments

0

you could do something like:

$(function() { $.getScript('http://static.ak.fbcdn.net/connect.php/js/FB.Share', function() { //do nothing here }); }); 

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.