Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 567
  • Last Modified:

Page Element Load Order

Hello, I have several scripts/elements on my site and I want some of them to load after others.
I have some Facebook social plugins on the site and those tend to load slowly because they have to pull info from the Facebook servers and that in turn delays the main content in the center of my site which is basically a Jquery slideshow.

So, I want certain content to load only after the rest of the page has loaded:
Facebook plugins
Live chat button
Ratepoint review box
Wibiya bar on the bottom

I want a way to load all of those things after the rest has loaded fully.
I am using other Jquery elements on the page so I already have that JS file loaded so a solution using Jquery would be fine.
I was looking into the .ready() function but I'm not sure if that's really what I'm looking for.
I was also looking at window.onload but I can't do a document.write in those and I don't know how else to put the Facebook code in there.
That code is in this format:
<fb:like-box profile_id="123287161037735" width="460" connections="16" stream="false" header="false"></fb:like-box>

Please help, thanks!!
0
lowpriceskates
Asked:
lowpriceskates
  • 6
  • 6
1 Solution
 
Gurvinder Pal SinghCommented:
$(document).ready(function(){
  //code to load the scripts
});
is exactly the place where you should be loading those scripts programmatically
see how
http://api.jquery.com/jQuery.getScript/
http://www.1stwebdesigner.com/development/quick-tip-get-more-efficient-with-jquerys-getscript/
0
 
lowpriceskatesAuthor Commented:
How would I use that code to load the FB plugin?
0
 
Gurvinder Pal SinghCommented:
well if that line has to in the body, then

$(body).append("<fb:like-box profile_id="123287161037735" width="460" connections="16" stream="false" header="false"></fb:like-box>");
should suffice.

Please try this and let me know
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
lowpriceskatesAuthor Commented:
That doesn't seem to be working. I tried the following just to test it and it does not seem to have added it to the body.

<script type="text/javascript">
$(document).ready(function(){
  $(body).append("Test");
});
</script>
0
 
lowpriceskatesAuthor Commented:
Here is my site by the way: http://www.lowpriceskates.com
I have the code on there now.
0
 
Gurvinder Pal SinghCommented:
can you try?

<script type="text/javascript">
$(document).ready(function(){
  $("body").append("Test");
});
</script>
0
 
lowpriceskatesAuthor Commented:
That doesn't seem to be working.
I was looking at this page: http://api.jquery.com/append/
Is it better to try to append it to the div that it's in? That div has a class of "fblike".
I tried to do that and it didn't work, though.
0
 
Gurvinder Pal SinghCommented:
if you have a div with class fblike then,


<script type="text/javascript">
$(document).ready(function(){
  $("div.fblike").append("<p>Test</p>");
});
</script>
0
 
lowpriceskatesAuthor Commented:
Hmmm, weird. It seems to be working in one place on the page but not the other:

http://www.lowpriceskates.com/test-1.aspx
0
 
Gurvinder Pal SinghCommented:
<<It seems to be working in one place on the page but not the other:>>
Please be specific. Thanks
0
 
lowpriceskatesAuthor Commented:
OK, I figured out why that wasn't working. That was my fault. I had the code you gave me ABOVE where Jquery was included in the page. So that part is working now. Thanks!

One more small question, how can I use this method to include a script only if the protocol is HTTP?
Here is the code that I'm using now:

<script type="text/javascript">
<!--
if(window.location.protocol=="http:"){
document.write( '<\/scr'+'ipt>' );
}
//-->
</script>

Thanks!!
0
 
Gurvinder Pal SinghCommented:
you can check the protocol of the current url, by using location.href
http://www.w3schools.com/jsref/prop_loc_protocol.asp
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

  • 6
  • 6
Tackle projects and never again get stuck behind a technical roadblock.
Join Now