Hola expertos en javascript,
Tengo el siguiente codigo que esta diseñado para Ms Internet Explorer :-0 , pero me gustaria que me ayudarán a adaptarlo para Netscape y otros navegadores
.
Es un script en que al hacer clic con el botón derecho aparece un menú (tal y como hago en
http://www.leeyescribe.com/relatos ), he hecho diversas modificaciones
, pero ahún no consigo que sea competible con más navegadores
, haver si me pueden ayudar
Ahí va el codigo:
---- En el tag head ajunto un arcivo adjunto .js tengo el siguiente contenido:
Código PHP:
var menuskin = "skin1";
var display_url = 0;
function showmenuie5() {
var rightedge = document.body.clientWidth-event.clientX;
var bottomedge = document.body.clientHeight-event.clientY;
if (rightedge < ie5menu.offsetWidth)
document.getElementById("ie5menu").style.left = document.body.scrollLeft + event.clientX - ie5menu.offsetWidth;
else
document.getElementById("ie5menu").style.left = document.body.scrollLeft + event.clientX;
if (bottomedge < ie5menu.offsetHeight)
document.getElementById("ie5menu").style.top = document.body.scrollTop + event.clientY - ie5menu.offsetHeight;
else
document.getElementById("ie5menu").style.top = document.body.scrollTop + event.clientY;
document.getElementById("ie5menu").style.visibility = "visible";
return false;
}
function hidemenuie5() {
document.getElementById("ie5menu").style.visibility = "hidden";
}
function highlightie5() {
if (event.srcElement.className == "menuitems") {
event.srcElement.style.backgroundColor = "highlight";
event.srcElement.style.color = "white";
if (display_url)
window.status = event.srcElement.url;
}
}
function lowlightie5() {
if (event.srcElement.className == "menuitems") {
event.srcElement.style.backgroundColor = "";
event.srcElement.style.color = "black";
window.status = "";
}
}
function jumptoie5() {
if (event.srcElement.className == "menuitems") {
if (event.srcElement.getAttribute("target") != null)
window.open(event.srcElement.url, event.srcElement.getAttribute("target"));
else
window.location = event.srcElement.url;
}
}
if (document.all && window.print) {
ie5menu.className = menuskin;
document.oncontextmenu = showmenuie5;
document.body.onclick = hidemenuie5;
}
---- Luego en un .css tengo declarado los estilos, para las capas que apareceran y desaparecerán.
.skin0 {
position:absolute;
text-align:left;
width:220px;
border:2px solid black;
background-color:menu;
font-family:Verdana;
line-height:20px;
cursor:default;
visibility:hidden;
}
.skin1 {
cursor:default;
font:menutext;
position:absolute;
text-align:left;
font-family: Arial, Helvetica, sans-serif;
font-size: 10pt;
width:220px;
background-color:menu;
border:1 solid buttonface;
visibility:hidden;
border:2 outset buttonhighlight;
}
.menuitems {
font-size: 10pt;
FONT-FAMILY:Arial, Verdana
padding-left:15px;
padding-right:20px;
height: 15px;
text-indent: 10pt;
line-height: 15pt;
}
--- I en el body del fichero html pongo las capas que aparecen al hacer clic con el botón derecho:
<div id="ie5menu" class="skin0" onMouseover="highlightie5()" onMouseout="lowlightie5()" onClick="jumptoie5()">
<div class="menuitems" url="index.htm"> Index </div>
<hr>
<div class="menuitems" url="window.print()"> Imprimir</div>
<div class="menuitems" url="index2.htm"> Index2</div>
<hr>
<div class="menuitems" url="javascript
:window.close()"> Cerrar Ventana</div>
</div>
Si has leido hasta aquí gracias
, y si puedes ayudarme en hacerlo compatible con más navegadores mil gracias.