|
| Ingen højreklik + ingen markering. Fra : Dinah | Vist : 627 gange 100 point Dato : 20-01-05 11:06 |
|
Jeg vil gerne lave min side sådan at der ikke sker noget når man højreklikker + at man ikke kan markere tekst og billeder. Jeg ved det kan lade sig gøre, jeg ved bare ikke hvordan. Jeg vil ha højrekliks funktionen sådan at man heller ikke får en boks op der siger et eller andet...
Hvordan gør man?
| |
| Kommentar Fra : BjarneD |
Dato : 20-01-05 11:17 |
| | |
| Accepteret svar Fra : molokyle | Modtaget 110 point Dato : 20-01-05 11:48 |
|
I IE kan du bruge eventhandleren i din <body> markør :
Kode <body oncontextmenu="return false;" onselectstart="return false;" ondragstart="return false;"> |
Alternativt kan du bruge dette script :
Kode <script language="JavaScript">
function click() {
if (((event.button==2) & (navigator.appName=="Microsoft Internet Explorer")) || (event.button==3)) {
return false } }
document.onmousedown=click
</script> |
..eller dette :
Kode <html>
<title>Beskyt billeder</title>
<head>
<script>
<!--
var specialcase = ((navigator.userAgent.indexOf('Mac') != -1) || document.all);
var flag = 0;
var msg = '';
var x,y,x1,y1,copyAttempt;
function init()
{
if (!(document.getElementById || document.all || document.layers)) return;
if (specialcase && document.layers)
{
document.captureEvents(Event.MOUSEMOVE);
document.onmousemove = special;
}
for (i=0;i<document.images.length;i++)
{
document.images[i].onmousedown = checkIt;
document.images[i].onmouseup = function() {return false};
if (specialcase)
{
document.images[i].onmousemove = special;
document.images[i].onclick = clearIt;
}
}
}
function checkIt(e)
{
copyAttempt = 0;
if (window.Event)
{
x = e.screenX;
y = e.screenY;
theButt = (e.which == 3);
}
else
{
x = window.event.clientX;
y = window.event.clientY;
theButt = (window.event.button == 2);
}
if (theButt)
{
copyAttempt = 1;
flag = 0;
alert(msg);
return false; // NN4 only
}
if (specialcase) flag = 1;
return false;
}
function special(e)
{
theObj = '';
if (window.Event)
{
x1 = e.screenX;
y1 = e.screenY;
if (e.target.parentNode) theObj = e.target.parentNode.tagName;
}
else
{
x1 = window.event.clientX;
y1 = window.event.clientY;
theObj = window.event.srcElement.parentElement.tagName;
}
var isLink = (theObj == 'A');
if (flag && (!isLink || ((Math.abs(x-x1) > 10) || (Math.abs(y-y1) > 10))))
{
copyAttempt = 1;
flag = 0;
alert(msg);
return false;
}
}
function clearIt()
{
flag = 0;
if (copyAttempt)
{
copyAttempt = 0;
return false;
}
}
-->
</script>
</head>
<body onLoad="init()">
<br>
<img src="MIT_BILLEDE.GIF">
<br>
Beskyttet billede.
</body>
</html> |
..dette sidste script har den fordel, det virker i alle browsere
</MOLOKYLE>
| |
| Kommentar Fra : molokyle |
Dato : 20-01-05 11:56 |
| | |
| Kommentar Fra : Dinah |
Dato : 20-01-05 12:25 |
|
Molelyle.
Jeg vil bruge dette.
<body oncontextmenu="return false;" onselectstart="return false;" ondragstart="return false;">
Kan jeg ligge det ind i min Css (style) fil? Hvordan gør jeg. Jeg har prøvet at ligge det under body derinde men det virker ikke.
| |
| Kommentar Fra : molokyle |
Dato : 20-01-05 18:07 |
|
Det er ikke CSS. Det er en 'extended' DOM feature, så vidt jeg ved kun implementeret i Microsoft IE 5+ og NS 6+ browserne.
1.) http://www.mozilla.org/docs/dom/domref/dom_event_ref33.html
2.) http://www.w3schools.com/htmldom/default.asp
Dermed kan HTML DOM egenskaben selvfølgelig manipuleres vha. Javascript, men er det ikke at skyde gråspurve med kanoner at inkludere et sådant externt javascript script for blot at angive et par events i <body> markøren ?
Hvis du genererer HELE sidens indhold fra en Javascriptfil, skriver du blot :
Kode <!--
document.write("<html><head><title>Eksempel</title></head>");
document.write("<body oncontextmenu='return false;' onselectstart='return false;' ondragstart='return false;'>");
document.write("..øvrigt HTML indhold..");
document.write("</body></html>);
//--> |
BEMÆRK ..de indlejrede 'enkelte anførselstegn' i <body> event parametrene !!!
</MOLOKYLE>
| |
| Godkendelse af svar Fra : Dinah |
Dato : 23-01-05 14:52 |
| | |
| Du har følgende muligheder | |
|
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.
Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
| |
|
|