js阻止用户复制文本内容

我正在尝试使用JavaScript开发打字速度竞赛。人们应该将从div看到的所有单词写到文本区域。

要防止作弊(例如从div复制单词),一种方法是仅在按下键盘键时才检查书面单词,但是我想知道是否有一种方法可以防止用户在浏览器中复制文本?

到目前为止我尝试过的是:

  • 禁用右键单击(不适用于移动浏览器)
  • 在所有页面中使用onmousedown事件显示警报(它也不起作用)

使用任何库都可以。

最佳答案

您可以简单地将文本变成图像。

 

<style type="text/css">

div.image {

width: 100px;

height: 100px;

background-image: url-to-your-image;

}

</style>

要生成图像,您可以使用服务器端脚本,如this question的请求一样

或类似这样的东西:

<?php

header("Content-type: image/png");

$im = @imagecreate(210, 30)

or die("Cannot Initialize new GD image stream");

$background_color = imagecolorallocate($im, 255, 255, 255);

$text_color = imagecolorallocate($im, 0, 0, 0);

imagestring($im, 4, 5, 5, "This is a test", $text_color);

imagepng($im);

imagedestroy($im);

?>

Test here

以上是 js阻止用户复制文本内容 的全部内容, 来源链接: www.h5w3.com/122185.html

回到顶部