Adding To A BODY-onload Function From Within The Page
Sep 11, 2005
I am looking for a cross-browser way (Firefox 1+, IE 5.5+) to
have my Javascript function execute from the BODY's "onload" method,
but if there is already an onload method defined, I would like mine to
run immediately after it. So in the code below, what JS would i need
to add to my "myfile.inc" page so that I could guarantee this behavior? Code:
I have a function that needs to get the innerHTML between the body tags once the page loads. However, when I put the JS in the header and call the function using window.onload, it gives me an error. If I put the javascript in the body, it only gets the code above the <script> tag. And I am going to call a server side user control that will put the javascript on the page, so I don't even know where in the page it will go.
It only works when I use the onload attribute in the body tag. i.e <body onload="javascript:fcn_name">
I am using document.body.innerHTML to get the html within the body tags. I tried using document.body.onload and other ways of doing it. Since I am trying to integrate this function within an already existing site, I cannot go through the hundreds of pages and modify the body tags.
Is there an alternative to using the onload attribute of the body tag?
i m working on a file i created a function which i call upon when body tag load but it loads so many window. coz its going in a loop. how can i stop it? here is the code
I have some initialization to be done at page load time, which changes the text of some anchors so that they are consistent with the query string (these anchors are used as criteria selectors, and should be initialized to the criteria contained within the url).
IE and Safari fire the onload event before rendering any elements, so when the event handler synchronizes the anchors, they are rendered with the right contents immediately. Firefox, though, renders the page first, and then fires the handler, which results in the anchors getting their initial values, and then changing to proper selections. I've tried calling my init() method immediately after the anchors are defined in my document - no difference, looks like Firefox is rendering everything as soon as it's encountered in the document.
Is there any way to have my code run before any elements are rendered in Firefox? Currently I've "solved" this by hiding the containing div in the document, and showing it after making changes. This results in the UI visually reloading itself with each new page, which is not very desirable either.
Specifically, window.onload appears to fire before all the elements of the page have been rendered. As the difference is consistent across IE/Moz/Opera, I'm assuming it's deliberate - can anyone point me towards where this behaviour of window.onload is defined in the documentation? TIA. Code:
I have been trying to load a javascript function from the body onload html tag, but I only want the function to load the first time the page is loaded: I have investigated but haven't found anything that works.. I thought about cookies, but what if the user's disable them?
My code:
//I want to call the Toggle function below only on the 1st time the page is loaded:
<script language="javascript">
function Toggle(item) {
obj=document.getElementById(item); visible=(obj.style.display!="none") key=document.getElementById("x" + item); if (visible) { obj.style.display="none";
I need to execute a JavaScript function "onload". The only problem is I don not have access to the <body> tag as it is a part of the standard page-header include (a separate file). How could I have certain pages execute my function() onLoad?
The function basically just sets the original values of fields so that I can determine if a field has been changed or not, which aleviates unnec. sql update on the backend..
I'm trying to get a popup working on my site. I use headers and was wondering if there is a way to put the onload outside of the BODY tag? My header has the BODY tag in it. I only want the popup to come up on one page and not all the pages that use my header.
I have created a page that takes a person to another page automatically:
<body
However, the script waits for the entire page to load before actually taking the person to the other page. What I need to do is to have a script that takes the visitor to the target page as soon as the page appears (without waiting for ads to load completely). How can this be done?
Just wondering if anyone knows if it's bad practice to put multiple body tags within one document? I'm using a template system (php) that loads template files into a main template (already containing a body onLoad()), and the content files also have a body onLoad() preloading functions intact. It seems to be working but wanted to know if there is anything wrong with this? What about broswer specific issues?
I'm working in a template environment, and I can't change the <body onLoad> tag (it already had a muti-use function on it.
On the specific page I'm working on, I need some layer visibilities changed (dependant on a cookie) which seemingly can only can be done in the onLoad event.
so I need to add to or capture the onLoad for one page, and no others with a script included in the body data? (and of course it needs to be cross-broswer compliant 5+)
I need to get something fun! with setTimeout function!I am n00b! :D so be patent please.I need when <body onload="Myfunc();"> fires, that function should show "Please wait...!" or "Loading...". for , say 5 seconds!. then it disappear.I used setTimeout with that but it didn't do what I wanted!here is my code:
function Myfunc(){ document.getElementById("ss2").innerHTML = "Loading..."; setTimeout("Myfunc();", 5000);
Is it possible to make a javascript call before "<body onload='...'>"?
What I'm doing is a preview of numerous images in an iframe and I want to resize the iframe to match each picture. Normally I'd use the 'onload' (on the src-page holding the image in the iframe) attrubute, but it's not called until the picture has finished loading. I'd like to resize the iframe before (or at the same time) the image starts loading.
I have a script that I have been using for a while that works with 3 sets of div tags. The first is visible and the second two are hidden. Using a select menu you can swap which div tag is visible by selecting that option.
Now this works fine using <body onload="opts();"> to call the function the only problem is that the page I am running this script on has a lot of images and the second two tabs are visible until the page has completely finished loading. This is only for a matter of a second or two but still a problem.
I am not very smart when it comes to JavaScript and I have messed around with adding window.onload = opts(); to the script but kind of unsuccessful. This works in the sense that the second two sets of div tags are invisible from the start of loading the page. There are only two problems with this solution.
1. The script isn't functional (can't swap visibility on div tags) until the entire page has finished loading. -- I can live with this if I have to
2. There is a javascript error message in IE 'null' is null or not an object. This could potentially scare some people away when they see they yellow triangle in the lower left-hand corner of the window.
Here is the code I am using:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Test Page</title>
Want to know is is possible to have 2 diff. onload events in the same page? I have 2 different scripts for 2 diff. things. They both use onload event.....if so, how can we handle it.
I'm using ajax to display the xml file. On my html i put <body onload="sendRequest(Display)">
so everytime users go to the main.html, all the information in xml will be displayed after transformed by XSL Now the problem is it gets the error Display is not defined While i did define it in js file this is what I do in js;
Is there a substitute to <body onload="validate();"> i.e. I need to call a JS Function on load of a page, but without using <body onload> I've tried window.onload, but it didn't work. Is there a way to do this?
I'm building an ecommerce store that will not allow me access to the <body tag... Is there any way to load the onLoad js call another way?
I tried putting a layer with a high z-index and a clear pixel stretched out in it... I've tried the call as onLoad and as mouseover... I can't get it to work. What am I missing? If you'd like to see my mess, it's here: