http://www.dynamicdrive.com/dynamici...ontextmenu.htm
What it does exactly is opens a new window with the link that you have chosen, on the link that i have given above the demo is in the page, right click anywehre, and you'll see... now.. like is said it opens with a right click,... the problem that i am having is that when a window opens...it opens in a new window... i want it to open in one of my frames, here is the code snippet: (thats the original that i didnt change )
Code:
[HTML]<div id="ie5menu" class="skin0" onMouseover="highlightie5(event)" onMouseout="lowlightie5(event)" onClick="jumptoie5(event)" display:none>
<div class="menuitems" href="http://www.google.com">google</div>
<div class="menuitems" url="http://dynamicdrive.com/new.htm" target="newwin">What's New?</div>
<div class="menuitems" url="http://dynamicdrive.com/hot.htm">What's Hot?</div>
<div class="menuitems" url="http://wsabstract.com/cgi-bin/Ultimate.cgi">Message Forum</div>
<div class="menuitems" url="http://dynamicdrive.com/faqs.htm">FAQs</div>
<div class="menuitems" url="http://dynamicdrive.com/submitscript.htm">Submit</div>
<hr>
<div class="menuitems" url="mailto:dynamicdrive@yahoo.com">Email Us</div>
</div>
[/HTML](main is the name of one of the frames that i am using)
i change the
Code:
[HTML]<div class="menuitems url="http://www.google.com">google</div>[/HTML](which works by the way) to
[HTML]<div class="menuitems url="http://www.google.com" target="main">google</div>[/HTML] (main is a legit name of one of my frames) however that doesnt seem to work the window still launches in a new window. i have even tried to delete the whole <div> </div> and replace it all with [HTML]<a href="http://www.google.com" target="main">gogle</a>[/HTML] but that just breaks the menu altogether,...
one person on a html forum told me that the problem is not in my html code... but in the operating javascript... the menu is not running an external javascript code, however there is an internal javascript functions, but i dont know how to change it to open in a frame, i am posting the body of the document below:
Code:
[HTML]<div id="ie5menu" class="skin0" onMouseover="highlightie5(event)" onMouseout="lowlightie5(event)" onClick="jumptoie5(event)" display:none>
<div class="menuitems" url="http://dynamicdrive.com">Dynamicdrive.com</div>
<div class="menuitems" url="http://dynamicdrive.com/new.htm" target="newwin">What's New?</div>
<div class="menuitems" url="http://dynamicdrive.com/hot.htm">What's Hot?</div>
<div class="menuitems" url="http://wsabstract.com/cgi-bin/Ultimate.cgi">Message Forum</div>
<div class="menuitems" url="http://dynamicdrive.com/faqs.htm">FAQs</div>
<div class="menuitems" url="http://dynamicdrive.com/submitscript.htm">Submit</div>
<hr>
<div class="menuitems" url="mailto:dynamicdrive@yahoo.com">Email Us</div>
</div>
[/HTML]
Expand|Select|Wrap|Line Numbers
- <script language="JavaScript1.2">
- //set this variable to 1 if you wish the URLs of the highlighted menu to be displayed in the status bar
- var display_url=0
- var ie5=document.all&&document.getElementById
- var ns6=document.getElementById&&!document.all
- if (ie5||ns6)
- var menuobj=document.getElementById("ie5menu")
- function showmenuie5(e){
- //Find out how close the mouse is to the corner of the window
- var rightedge=ie5? document.body.clientWidth-event.clientX : window.innerWidth-e.clientX
- var bottomedge=ie5? document.body.clientHeight-event.clientY : window.innerHeight-e.clientY
- //if the horizontal distance isn't enough to accomodate the width of the context menu
- if (rightedge<menuobj.offsetWidth)
- //move the horizontal position of the menu to the left by it's width
- menuobj.style.left=ie5? document.body.scrollLeft+event.clientX-menuobj.offsetWidth : window.pageXOffset+e.clientX-menuobj.offsetWidth
- else
- //position the horizontal position of the menu where the mouse was clicked
- menuobj.style.left=ie5? document.body.scrollLeft+event.clientX : window.pageXOffset+e.clientX
- //same concept with the vertical position
- if (bottomedge<menuobj.offsetHeight)
- menuobj.style.top=ie5? document.body.scrollTop+event.clientY-menuobj.offsetHeight : window.pageYOffset+e.clientY-menuobj.offsetHeight
- else
- menuobj.style.top=ie5? document.body.scrollTop+event.clientY : window.pageYOffset+e.clientY
- menuobj.style.visibility="visible"
- return false
- }
- function hidemenuie5(e){
- menuobj.style.visibility="hidden"
- }
- function highlightie5(e){
- var firingobj=ie5? event.srcElement : e.target
- if (firingobj.className=="menuitems"||ns6&&firingobj.parentNode.className=="menuitems"){
- if (ns6&&firingobj.parentNode.className=="menuitems") firingobj=firingobj.parentNode //up one node
- firingobj.style.backgroundColor="highlight"
- firingobj.style.color="white"
- if (display_url==1)
- window.status=event.srcElement.url
- }
- }
- function lowlightie5(e){
- var firingobj=ie5? event.srcElement : e.target
- if (firingobj.className=="menuitems"||ns6&&firingobj.parentNode.className=="menuitems"){
- if (ns6&&firingobj.parentNode.className=="menuitems") firingobj=firingobj.parentNode //up one node
- firingobj.style.backgroundColor=""
- firingobj.style.color="black"
- window.status=''
- }
- }
- function jumptoie5(e){
- var firingobj=ie5? event.srcElement : e.target
- if (firingobj.className=="menuitems"||ns6&&firingobj.parentNode.className=="menuitems"){
- if (ns6&&firingobj.parentNode.className=="menuitems") firingobj=firingobj.parentNode
- if (firingobj.getAttribute("target"))
- window.open(firingobj.getAttribute("url"),firingobj.getAttribute("target"))
- else
- window.location=firingobj.getAttribute("url")
- }
- }
- if (ie5||ns6){
- menuobj.style.display=''
- document.oncontextmenu=showmenuie5
- document.onclick=hidemenuie5
- }
- </script>
Expand|Select|Wrap|Line Numbers
- function jumptoie5(e){
- var firingobj=ie5? event.srcElement : e.target
- if (firingobj.className=="menuitems"||ns6&&firingobj.parentNode.className=="menuitems"){
- if (ns6&&firingobj.parentNode.className=="menuitems") firingobj=firingobj.parentNode
- if (firingobj.getAttribute("target"))
- window.open(firingobj.getAttribute("url"),firingobj.getAttribute("target"))
- else
- window.location=firingobj.getAttribute("url")
- }
- }
to the following:
Expand|Select|Wrap|Line Numbers
- document.getElementById("kirupa").src=firingobj.getAttribute("url");
- kirupa.location=firingobj.getAttribute("url")
- Kirupa.document.location=firingobj.getAttribute("url")
- document.frames[kirupa].location=firingobj.getAttribute("url")
- document.frames["kirupa"].location=firingobj.getAttribute("url")