Hello jeff, thanks for the efforts and the eg. In answer to your Q: 1) the js issues affect the presentation of objects on 3 pages, and someone kindly suggested a workaround which I'm in the process of implementing. (these were dhtml effects - hiding/showing detail.) Other than that there is no JS affecting display (except for the menus - you still get primary navigation with no JS, but you do get 3rd level navigation). My point about compliance with standards was targeted at functionality, not rendering. 2) Thanks for the assist on the code for the page - It doesn't look difficult, but remember I'm new to this and wouldn't have known how to make it work even if I'd thought of it. I don't fully understand how it works though so if you've got the time, can you answer acouple of questions? How does the global value of is.capable get set to true in the page? Is that because there is no separation between page and external script global variables? i.e now that is is defined as a new object in the page does it take the values assigned to the global is object set in the script file? If so that means I can access is.opera in the page eg for opera specific scripts?? Also, given that there is an init defined in the page, why is the init in the external rml.js being called? does the browser run all functions with the same name, irrespective of whether it is inline or external? Is there an easy way to determine what version of JS is needed? You've used 1.2, what happens if I put, say 1.5? >yes, but it's also up to you as the programmer to make sure that you're >doing adequate checks that objects and methods are supported before using >them. just because they're part of a standard doesn't mean you >can just use >them with reckless abandon. it's your responsibility to make sure they >don't cause errors in the users browser. > At the time I didn't think that anything under gen 6 would even get to the external script file and so I focussed on protecting opera. Your code is just what was needed to stop anything under gen 6 getting JS errors now that the redirect is going. Many thanks. PS no reckless abandon was involved. The use of event listeners and get element by id was supported by the target browsers - why wouldn't I use it? I agree fully with your comment about not causing errors in older browsers and was wondering how to go about stopping that. Your help in solving that (to me V perplexing issue) is greatly appreciated. > This email may be confidential and contain commercially sensitive information. Only the intended recipient may access or use it. If you are not the intended recipient please delete this email and notify us promptly. We use virus scanning software but exclude all liability for viruses or similar in this email or any attachment.