Du kan inte direkt åsidosätta webbläsarens kopia och klistra in funktionalitet för en webbplats med endast kod för klientsidan (JavaScript, HTML, CSS). Det här är webbläsarfunktioner, och en webbplats kan inte i grunden inaktivera dem. Varje försök att göra det kan enkelt förbikopplas av användaren.
Du kan dock göra det * betydligt svårare * att kopiera och klistra in innehåll, vilket gör det till ett mindre bekvämt alternativ för användaren. Detta görs genom en kombination av tekniker, varav ingen är idiotsäker:
Metoder för att göra kopiering svåra (men inte omöjliga):
* CSS -tekniker: Dessa gör det svårare visuellt, men inte omöjligt.
* `användarval:ingen;`: Detta förhindrar val av text, vilket gör att kopiering är svår. Användare kan dock fortfarande använda webbläsarutvecklarverktyg för att åsidosätta detta.
* `-webkit-user-select:ingen;`: Liknar "användarval", men specifikt för WebKit-baserade webbläsare (Chrome, Safari).
* Invisible Text Overlay: Skapa ett osynligt textlager över det synliga innehållet. Detta kräver noggrann positionering och kanske inte är tillförlitlig i alla webbläsare och skärmstorlekar.
* JavaScript -tekniker (i allmänhet opålitliga och lätt förbi):
* `OnCopy` Event Handler: Denna händelse skjuter när användaren försöker kopiera. Du kan försöka förhindra standardbeteendet med `preventDefault ()`, men detta är enkelt kringgått. Användare kan använda högerklicka på "inspektera" och inaktivera JavaScript.
* Valövervakning: Övervaka ständigt användarens val med `windows.getSelection ()`. Om ett urval upptäcks kan du försöka rensa det. Detta är resurskrävande och lätt förbi.
Varför dessa metoder inte är idiotsäkra:
* webbläsarutvecklarverktyg: Användare kan enkelt inspektera sidans källkod och inaktivera dina JavaScript- eller CSS -regler med webbläsarens utvecklarverktyg.
* Högerklicka på kontextmeny: Även om du försöker inaktivera högerklick kan användare komma åt kontextmenyn på andra medel (t.ex. kortkommandon).
* skärmdump: Användare kan helt enkelt ta en skärmdump av innehållet.
* Extensions: Webbläsarförlängningar kan enkelt åsidosätta dina försök att förhindra kopiering.
Bättre alternativ:
Istället för att försöka förhindra kopiering, överväga alternativa tillvägagångssätt:
* Vattenmärke innehållet: Lägg till subtila vattenmärken till det kopierade innehållet.
* Servicevillkor: Ange tydligt i dina användarvillkor att kopieringsinnehållet är förbjudet.
* Skriv ut till PDF med begränsningar: Om du behöver tillåta utskrift, ge en PDF -version med begränsningar.
* API -åtkomst: Erbjud API:er för legitim tillgång till uppgifterna istället för att tillåta direkt kopiering.
Sammanfattningsvis är helt blockerande kopia och klistra inte genomförbart på en webbplats. Att fokusera på avskräckningar och alternativa åtkomstmetoder är en mer praktisk och etisk strategi.