Avatar billede kaptajnknas Nybegynder
16. april 2007 - 10:18 Der er 13 kommentarer og
1 løsning

Java-script NoSelect

Kan denne ændres så den virker i alle browser?

  <SCRIPT language=JavaScript1.2>
  function disableselect(e){
  return false
  }
  function reEnable(){
  return true
  }
  //if IE4+
  document.onselectstart=new Function ("return false")
  //if NS6
  if (window.sidebar){
  document.onmousedown=disableselect
  document.onclick=reEnable
  }
  </SCRIPT>
Avatar billede olebole Juniormester
16. april 2007 - 13:33 #1
<ole>

<body onselectstart="return false" style="-moz-user-select:none">

- gør det i hvertfald i IE og Mozilla'er

/mvh
</bole>
Avatar billede kaptajnknas Nybegynder
16. april 2007 - 14:00 #2
Mange tak :)
Avatar billede olebole Juniormester
16. april 2007 - 14:09 #3
Selvtak. Jeg sidder desværre ikke ved min egen maskine og har ikke en Opera i nærheden. (også) Dens event-model er lidt speciel, så man kan aldrig på forhånd helt vide, hvad der sker  =)
Avatar billede kaptajnknas Nybegynder
16. april 2007 - 14:26 #4
Jeg prøver :-)
Avatar billede olebole Juniormester
16. april 2007 - 14:37 #5
Du kan evt. prøve noget à la dette i Opera (og andre):

document.onmousedown = document.onmousemove = document.onselectstart = function(e){
    e = e ? e : event;
    if (e.stopPropagation) e.stopPropagation();
    e.cancelBubble = true;
    if (e.preventDefault) e.preventDefault();
    e.returnValue = false;
}

- og så den viste til FF:
    <body ..... style="-moz-user-select:none">

Den ser sikkert sådan ud i JS:
    document.getElementsByTagName("body")[0].style.MozUserSelect = "none";
Avatar billede olebole Juniormester
16. april 2007 - 14:37 #6
- og tak for points  ;o)
Avatar billede kaptajnknas Nybegynder
16. april 2007 - 15:42 #7
Og den virker kun hvis java-script er slået til i browseren, eller?
Avatar billede thesurfer Nybegynder
16. april 2007 - 19:48 #8
kaptajnknas> Du kan ikke disable markering af tekst, uden JavaScript. Hvilket betyder, at JavaScript skal være slået til.

Hvis man virkeligt vil markere noget tekst, og kopiere det, kan du ikke forhindre brugere i at gøre det.

Den nemmeste måde, er at kigge i kilde koden, enten direkte på siden, eller i cachen.

Opera kan f.eks. disable "no-rightclick"-funktionen.. Med "no-rightclick"-funktionen mener jeg scripts der tester om det er muse-knap 2 (eller bare over 1), der popuper menuen frem, så man kan kopiere/download/vis kilde..

Man kan kalde det anti-no-rightclick, om man vil..


Mit råd er:
Hvis du har noget, du ikke vil have at andre kopiere/downloade, så lad vær med at lægge det op på nettet. Ellers drop alle de der ting, der kun irritererer Hr. og Fru Jensen, der ikke se forskel på en computer og en toaster.. :-)
Og selvom de skulle støde på en side, hvor de ikke selv kan kopiere teksten, har de en søn (en ven, søn af en ven eller ven af en søn) der sagtens kan komme udenom scriptet..

Kampen er tabt på forhold.. Resistance is futile.
Avatar billede thesurfer Nybegynder
16. april 2007 - 19:50 #9
Stavefejl er gratis osv.. :-)

"muse-knap 2 (eller bare over 1) der trykkes på"
"Kampen er tabt på forhånd"

osv.. :-)
Avatar billede kaptajnknas Nybegynder
16. april 2007 - 20:03 #10
Hm. jamen takker da for svaret :)
Avatar billede thesurfer Nybegynder
16. april 2007 - 20:21 #11
Det var så lidt :-)
Avatar billede olebole Juniormester
17. april 2007 - 14:13 #12
thesurfer >> Der kan være alle mulige rigtig gode grunde til at disable udvælgelse af tekst i elementer på siden. Mange ting kan ikke lade sig gøre at lave, med mindre tekstudvælgelse disables - ikke, hvis man ønsker 'den rette' applikations-feeling. Er der f.eks. noget mere irriterende end tekst, der udvælges, når man prøver at bruge en drag/drop-funktionalitet?

Jeg er ikke helt med på, hvad du mener med:
"Du kan ikke disable markering af tekst, uden JavaScript. Hvilket betyder, at JavaScript skal være slået til."

- i mit indlæg lige før viste jeg jo netop, hvordan det gøres i FF .... med CSS  ;o)

Desuden er Opera faktisk browseren, der ikke kan kende forskel på højre og venstre musetast - og hvor højreklik derfor ikke kan registreres programmatisk ... endsige disables (hvilket er en af årsagerne til, de fleste web-applikationer ikke er Opera-kompatible. Det er yderst vanskeligt at opnå applikations-feeling i den 'browser').
Avatar billede kaptajnknas Nybegynder
19. april 2007 - 17:52 #13
Vil det så sige, at man også ka disable højreklik uden brug af javascript?
Avatar billede olebole Juniormester
20. april 2007 - 12:53 #14
Nej, det er ikke muligt  =)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester