Advanced Search

Results 1 to 9 of 9

Thread: Error Chrome.js Object Required

  1. #1
    Join Date
    Mar 2013
    Posts
    5
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default Error Chrome.js Object Required

    Hello,

    I get this error in ie8 for the chrome.js script (see image)

    Click image for larger version. 

Name:	error.jpg 
Views:	157 
Size:	15.9 KB 
ID:	5010

    Does anyone know how to fix this?

    Thank you.
    Last edited by mrpainter; 03-28-2013 at 08:09 PM.

  2. #2
    Join Date
    Mar 2006
    Location
    Illinois, USA
    Posts
    12,154
    Thanks
    260
    Thanked 690 Times in 678 Posts

    Default

    There's no way to help you without seeing the code. That error gives a line number. What code is on that line? Where is your webpage? What are you trying to do? Is this a DD script? Is this something you're writing yourself?

    At the moment your question has no context. The most I can say is that your code has a problem.
    Daniel - Freelance Web Design | <?php?> | <html>| espa˝ol | Deutsch | italiano | portuguŕs | catalÓ | un peu de franšais | some knowledge of several other languages: I can sometimes help translate here on DD | Linguistics Forum

  3. #3
    Join Date
    Mar 2013
    Posts
    5
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default

    Quote Originally Posted by djr33 View Post
    There's no way to help you without seeing the code. That error gives a line number. What code is on that line? Where is your webpage? What are you trying to do? Is this a DD script? Is this something you're writing yourself?

    At the moment your question has no context. The most I can say is that your code has a problem.
    Sorry, it's an internal site (gov't) so I can't link to it.

    here's the code that is referred to in the error:

    Code:
    addEvent:function(target, functionref, tasktype){
    	if (target.addEventListener)
    		target.addEventListener(tasktype, functionref, false);
    	else if (target.attachEvent)
    		target.attachEvent('on'+tasktype, function(){return functionref.call(target, window.event)});
    },

    it's this script: http://www.dynamicdrive.com/dynamicindex1/chrome/


    here's the entire code:

    Code:
    //** Chrome Drop Down Menu- Author: Dynamic Drive (http://www.dynamicdrive.com)
    
    //** Updated: July 14th 06' to v2.0
    	//1) Ability to "left", "center", or "right" align the menu items easily, just by modifying the CSS property "text-align".
    	//2) Added an optional "swipe down" transitional effect for revealing the drop down menus.
    	//3) Support for multiple Chrome menus on the same page.
    
    //** Updated: Nov 14th 06' to v2.01- added iframe shim technique
    
    //** Updated: July 23rd, 08 to v2.4
    	//1) Main menu items now remain "selected" (CSS class "selected" applied) when user moves mouse into corresponding drop down menu. 
    	//2) Adds ability to specify arbitrary HTML that gets added to the end of each menu item that carries a drop down menu (ie: a down arrow image).
    	//3) All event handlers added to the menu are now unobstrusive, allowing you to define your own "onmouseover" or "onclick" events on the menu items.
    	//4) Fixed elusive JS error in FF that sometimes occurs when mouse quickly moves between main menu items and drop down menus
    
    //** Updated: Oct 29th, 08 to v2.5 (only .js file modified from v2.4)
    	//1) Added ability to customize reveal animation speed (# of steps)
    	//2) Menu now works in IE8 beta2 (a valid doctype at the top of the page is required)
    
    var cssdropdown={
    disappeardelay: 250, //set delay in miliseconds before menu disappears onmouseout
    dropdownindicator: '', //specify full HTML to add to end of each menu item with a drop down menu
    enablereveal: [true, 5], //enable swipe effect? [true/false, steps (Number of animation steps. Integer between 1-20. Smaller=faster)]
    enableiframeshim: 1, //enable "iframe shim" in IE5.5 to IE7? (1=yes, 0=no)
    
    //No need to edit beyond here////////////////////////
    
    dropmenuobj: null, asscmenuitem: null, domsupport: document.all || document.getElementById, standardbody: null, iframeshimadded: false, revealtimers: {},
    
    getposOffset:function(what, offsettype){
    	var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
    	var parentEl=what.offsetParent;
    	while (parentEl!=null){
    		totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
    		parentEl=parentEl.offsetParent;
    	}
    	return totaloffset;
    },
    
    css:function(el, targetclass, action){
    	var needle=new RegExp("(^|\\s+)"+targetclass+"($|\\s+)", "ig")
    	if (action=="check")
    		return needle.test(el.className)
    	else if (action=="remove")
    		el.className=el.className.replace(needle, "")
    	else if (action=="add" && !needle.test(el.className))
    		el.className+=" "+targetclass
    },
    
    showmenu:function(dropmenu, e){
    	if (this.enablereveal[0]){
    		if (!dropmenu._trueheight || dropmenu._trueheight<10)
    			dropmenu._trueheight=dropmenu.offsetHeight
    		clearTimeout(this.revealtimers[dropmenu.id])
    		dropmenu.style.height=dropmenu._curheight=0
    		dropmenu.style.overflow="hidden"
    		dropmenu.style.visibility="visible"
    		this.revealtimers[dropmenu.id]=setInterval(function(){cssdropdown.revealmenu(dropmenu)}, 10)
    	}
    	else{
    		dropmenu.style.visibility="visible"
    	}
    	this.css(this.asscmenuitem, "selected", "add")
    },
    
    revealmenu:function(dropmenu, dir){
    	var curH=dropmenu._curheight, maxH=dropmenu._trueheight, steps=this.enablereveal[1]
    	if (curH<maxH){
    		var newH=Math.min(curH, maxH)
    		dropmenu.style.height=newH+"px"
    		dropmenu._curheight= newH + Math.round((maxH-newH)/steps) + 1
    	}
    	else{ //if done revealing menu
    		dropmenu.style.height="auto"
    		dropmenu.style.overflow="hidden"
    		clearInterval(this.revealtimers[dropmenu.id])
    	}
    },
    
    clearbrowseredge:function(obj, whichedge){
    	var edgeoffset=0
    	if (whichedge=="rightedge"){
    		var windowedge=document.all && !window.opera? this.standardbody.scrollLeft+this.standardbody.clientWidth-15 : window.pageXOffset+window.innerWidth-15
    		var dropmenuW=this.dropmenuobj.offsetWidth
    		if (windowedge-this.dropmenuobj.x < dropmenuW)  //move menu to the left?
    			edgeoffset=dropmenuW-obj.offsetWidth
    	}
    	else{
    		var topedge=document.all && !window.opera? this.standardbody.scrollTop : window.pageYOffset
    		var windowedge=document.all && !window.opera? this.standardbody.scrollTop+this.standardbody.clientHeight-15 : window.pageYOffset+window.innerHeight-18
    		var dropmenuH=this.dropmenuobj._trueheight
    		if (windowedge-this.dropmenuobj.y < dropmenuH){ //move up?
    			edgeoffset=dropmenuH+obj.offsetHeight
    			if ((this.dropmenuobj.y-topedge)<dropmenuH) //up no good either?
    				edgeoffset=this.dropmenuobj.y+obj.offsetHeight-topedge
    		}
    	}
    	return edgeoffset
    },
    
    dropit:function(obj, e, dropmenuID){
    	if (this.dropmenuobj!=null) //hide previous menu
    		this.hidemenu() //hide menu
    	this.clearhidemenu()
    	this.dropmenuobj=document.getElementById(dropmenuID) //reference drop down menu
    	this.asscmenuitem=obj //reference associated menu item
    	this.showmenu(this.dropmenuobj, e)
    	this.dropmenuobj.x=this.getposOffset(obj, "left")
    	this.dropmenuobj.y=this.getposOffset(obj, "top")
    	this.dropmenuobj.style.left=this.dropmenuobj.x-this.clearbrowseredge(obj, "rightedge")+"px"
    	this.dropmenuobj.style.top=this.dropmenuobj.y-this.clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+1+"px"
    	this.positionshim() //call iframe shim function
    },
    
    positionshim:function(){ //display iframe shim function
    	if (this.iframeshimadded){
    		if (this.dropmenuobj.style.visibility=="visible"){
    			this.shimobject.style.width=this.dropmenuobj.offsetWidth+"px"
    			this.shimobject.style.height=this.dropmenuobj._trueheight+"px"
    			this.shimobject.style.left=parseInt(this.dropmenuobj.style.left)+"px"
    			this.shimobject.style.top=parseInt(this.dropmenuobj.style.top)+"px"
    			this.shimobject.style.display="block"
    		}
    	}
    },
    
    hideshim:function(){
    	if (this.iframeshimadded)
    		this.shimobject.style.display='none'
    },
    
    isContained:function(m, e){
    	var e=window.event || e
    	var c=e.relatedTarget || ((e.type=="mouseover")? e.fromElement : e.toElement)
    	while (c && c!=m)try {c=c.parentNode} catch(e){c=m}
    	if (c==m)
    		return true
    	else
    		return false
    },
    
    dynamichide:function(m, e){
    	if (!this.isContained(m, e)){
    		this.delayhidemenu()
    	}
    },
    
    delayhidemenu:function(){
    	this.delayhide=setTimeout("cssdropdown.hidemenu()", this.disappeardelay) //hide menu
    },
    
    hidemenu:function(){
    	this.css(this.asscmenuitem, "selected", "remove")
    	this.dropmenuobj.style.visibility='hidden'
    	this.dropmenuobj.style.left=this.dropmenuobj.style.top="-1000px"
    	this.hideshim()
    },
    
    clearhidemenu:function(){
    	if (this.delayhide!="undefined")
    		clearTimeout(this.delayhide)
    },
    
    addEvent:function(target, functionref, tasktype){
    	if (target.addEventListener)
    		target.addEventListener(tasktype, functionref, false);
    	else if (target.attachEvent)
    		target.attachEvent('on'+tasktype, function(){return functionref.call(target, window.event)});
    },
    
    startchrome:function(){
    	if (!this.domsupport)
    		return
    	this.standardbody=(document.compatMode=="CSS1Compat")? document.documentElement : document.body
    	for (var ids=0; ids<arguments.length; ids++){
    		var menuitems=document.getElementById(arguments[ids]).getElementsByTagName("a")
    		for (var i=0; i<menuitems.length; i++){
    			if (menuitems[i].getAttribute("rel")){
    				var relvalue=menuitems[i].getAttribute("rel")
    				var asscdropdownmenu=document.getElementById(relvalue)
    				this.addEvent(asscdropdownmenu, function(){cssdropdown.clearhidemenu()}, "mouseover")
    				this.addEvent(asscdropdownmenu, function(e){cssdropdown.dynamichide(this, e)}, "mouseout")
    				this.addEvent(asscdropdownmenu, function(){cssdropdown.delayhidemenu()}, "click")
    				try{
    					menuitems[i].innerHTML=menuitems[i].innerHTML+" "+this.dropdownindicator
    				}catch(e){}
    				this.addEvent(menuitems[i], function(e){ //show drop down menu when main menu items are mouse over-ed
    					if (!cssdropdown.isContained(this, e)){
    						var evtobj=window.event || e
    						cssdropdown.dropit(this, evtobj, this.getAttribute("rel"))
    					}
    				}, "mouseover")
    				this.addEvent(menuitems[i], function(e){cssdropdown.dynamichide(this, e)}, "mouseout") //hide drop down menu when main menu items are mouse out
    				this.addEvent(menuitems[i], function(){cssdropdown.delayhidemenu()}, "click") //hide drop down menu when main menu items are clicked on
    			}
    		} //end inner for
    	} //end outer for
    	if (this.enableiframeshim && document.all && !window.XDomainRequest && !this.iframeshimadded){ //enable iframe shim in IE5.5 thru IE7?
    		document.write('<IFRAME id="iframeshim" src="about:blank" frameBorder="0" scrolling="no" style="left:0; top:0; position:absolute; display:none;z-index:90; background: transparent;"></IFRAME>')
    		this.shimobject=document.getElementById("iframeshim") //reference iframe object
    		this.shimobject.style.filter='progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)'
    		this.iframeshimadded=true
    	}
    } //end startchrome
    
    }
    Last edited by james438; 04-03-2013 at 06:26 PM. Reason: added code tags

  4. #4
    Join Date
    Mar 2006
    Location
    Illinois, USA
    Posts
    12,154
    Thanks
    260
    Thanked 690 Times in 678 Posts

    Default

    Do you have the same problem on the script's demo page? If not, then this is not a problem with the original code (what you posted is just the original code, right?), so that won't help us. We really will need to see the actual page (or its code, in full) to avoid guessing about the problem (which probably won't help much).

    If there is any private information on the page, you're welcome to remove that (just keep the relevant code as-is). One option would be to create a new copy of the page on a different server (even a free one) so that we can view it.
    Alternatively you can post the full code for the page (please use [code] tags), but that may discourage others from helping you because it's more work to save it and test it themselves rather than just using your website.
    Daniel - Freelance Web Design | <?php?> | <html>| espa˝ol | Deutsch | italiano | portuguŕs | catalÓ | un peu de franšais | some knowledge of several other languages: I can sometimes help translate here on DD | Linguistics Forum

  5. #5
    Join Date
    Mar 2013
    Posts
    5
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default

    Quote Originally Posted by djr33 View Post
    Do you have the same problem on the script's demo page? If not, then this is not a problem with the original code (what you posted is just the original code, right?), so that won't help us. We really will need to see the actual page (or its code, in full) to avoid guessing about the problem (which probably won't help much).

    If there is any private information on the page, you're welcome to remove that (just keep the relevant code as-is). One option would be to create a new copy of the page on a different server (even a free one) so that we can view it.
    Alternatively you can post the full code for the page (please use [code] tags), but that may discourage others from helping you because it's more work to save it and test it themselves rather than just using your website.
    it's not the script it turns out. it's conflicting with something else.

    thanks for the help.

  6. #6
    Join Date
    Mar 2005
    Location
    SE PA USA
    Posts
    28,683
    Thanks
    43
    Thanked 3,128 Times in 3,094 Posts
    Blog Entries
    12

    Default

    With that script, that error often comes from having a menu item that has no drop down but that does have a rel attribute.
    - John
    ________________________

    Show Additional Thanks: International Rescue Committee - Donate or: The Ocean Conservancy - Donate or: PayPal - Donate

  7. #7
    Join Date
    Mar 2013
    Posts
    5
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default

    Quote Originally Posted by jscheuer1 View Post
    With that script, that error often comes from having a menu item that has no drop down but that does have a rel attribute.
    I checked that. All the rels are represented. Thanks for your help.

  8. #8
    Join Date
    Mar 2005
    Location
    SE PA USA
    Posts
    28,683
    Thanks
    43
    Thanked 3,128 Times in 3,094 Posts
    Blog Entries
    12

    Default

    Well, if you still haven't figured it out, or have but need help with a solution, like Daniel says - put up a live demo of the problem. It doesn't have to include any sensitive material. All it has to do is show the problem.

    Once we have that, it would probably be fairly easy for us to solve.
    - John
    ________________________

    Show Additional Thanks: International Rescue Committee - Donate or: The Ocean Conservancy - Donate or: PayPal - Donate

  9. #9
    Join Date
    Mar 2013
    Posts
    5
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default

    Quote Originally Posted by jscheuer1 View Post
    Well, if you still haven't figured it out, or have but need help with a solution, like Daniel says - put up a live demo of the problem. It doesn't have to include any sensitive material. All it has to do is show the problem.

    Once we have that, it would probably be fairly easy for us to solve.
    Quote Originally Posted by jscheuer1 View Post
    Well, if you still haven't figured it out, or have but need help with a solution, like Daniel says - put up a live demo of the problem. It doesn't have to include any sensitive material. All it has to do is show the problem.

    Once we have that, it would probably be fairly easy for us to solve.
    I figured it out. I nested another ul into it. Once I removed it to outside it, it fixed it.


    <div id="nav">
    <div class="chromestyle" id="chromemenu">
    <div class="mattblacktabs">
    <ul id="navlist">
    <li><a href="#">home</a></li>
    <li><a href="#" rel="dropmenu1">employee resources</a></li>
    <li><a href="#" rel="dropmenu2">documents</a></li>
    <li><a href="#" rel="dropmenu3">management resources</a></li>
    <li><a href="#" rel="dropmenu5">apps</a></li>
    <li><a href="#" rel="dropmenu6">admin</a></li>
    <li><a href="#">departments</a></li>
    </ul>
    <ul id="search">
    <li id="seach_it"><a href="#" rel="toggle[search_form]" data-openimage="/Portals/0/search_on.png" data-closedimage="/Portals/0/search.png"><img border="0" alt="" src="/Portals/0/search.png" id="collapse" /></a></li>
    </ul></div></div></div>


    <div id="nav">
    <div class="chromestyle" id="chromemenu">
    <div class="mattblacktabs">
    <ul id="navlist">
    <li><a href="#">home</a></li>
    <li><a href="#" rel="dropmenu1">employee resources</a></li>
    <li><a href="#" rel="dropmenu2">documents</a></li>
    <li><a href="#" rel="dropmenu3">management resources</a></li>
    <li><a href="#" rel="dropmenu5">apps</a></li>
    <li><a href="#" rel="dropmenu6">admin</a></li>
    <li><a href="#">departments</a></li>
    </ul>
    </div></div><ul id="search">
    <li id="seach_it"><a href="#" rel="toggle[search_form]" data-openimage="/Portals/0/search_on.png" data-closedimage="/Portals/0/search.png"><img border="0" alt="" src="/Portals/0/search.png" id="collapse" /></a></li>
    </ul></div>

Similar Threads

  1. Switch Content. Object Required Error from IE 6
    By azaniaman in forum Dynamic Drive scripts help
    Replies: 2
    Last Post: 12-03-2011, 09:56 PM
  2. Object required error
    By joannusa in forum JavaScript
    Replies: 0
    Last Post: 10-23-2009, 04:07 PM
  3. Chrome.js Object Required error
    By rsmith4321 in forum Dynamic Drive scripts help
    Replies: 8
    Last Post: 02-10-2009, 03:02 PM
  4. DD Tab Script - Object Required Error
    By Colin in forum Dynamic Drive scripts help
    Replies: 7
    Last Post: 08-31-2006, 01:24 AM
  5. script error: object required
    By wishiwasageek in forum JavaScript
    Replies: 11
    Last Post: 06-09-2005, 09:20 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •