Is there a way to include a javascript-loaded advertisement last on the page, but have it positioned in the content? The primary purpose is to keep the javascript ad from slowing down the page load, so if there are other methods to achieve this please do share.
There is the defer
attribute you could put on script blocks to defer its execution until the page completes loading.
<script src="myscript.js" type="text/javascript" defer>
// blah blah
</script>
I am not sure about the general recommendation about using this attribute though.
EDIT: As @David pointed out, use defer="defer"
for XHTML
And you can always put the code inside the window.onload
event so that it executes after the pages load:
window.onload = function () {
// ad codes here
};
But the later approach may pose some problems, you might want to test it out first.
More information on this blog post by Dean Edwards, the guy who wrote the famous javascript packer.
EDIT: If the size of ad code itself is the problem, you can always defer the loading by combining the above methods with script injection via document.write
:
function loadScript(src) {
document.write('<script src="' + src + '" type="text/javascript"></script>');
}
So the resulting code might look something like this:
<script type="text/javascript" defer>
function loadScript(src) {
document.write('<script src="' + src + '" type="text/javascript"></script>');
}
loadScript('http://ads.example.com/advertisements.js');
</script>
But as I've said, it depends on the specific ad code you get too. Because of the position document.write
will write stuffs to might not be the location you want. Some modifications might be neccessary.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With