我有一个谜题网站,它的作弊方式很糟糕。它可以,如果只是部分,但可以完成吗?
我想到的东西是用图像替换字母,但比这更容易?是否可以在页面中禁用Ctrl + F查找?
回答
而不是禁用查找功能,你可以让这个发现会找不到合适的字眼!一种方法是使用CSS content
声明来注入单词。找不到它们:
<div class="word-foobar"></div>
.word-foobar:before {
content: "Foobar";
}
你可以很容易地写一些Javascript来为你自动生成所有必要的CSS规则。
我不认为有一种方法可以完全禁用该功能,并且应该不是一种禁用它的方法。
但是可以确保一些文字不会被按Ctrl +˚F借它拿走的浏览器不考虑连续文本中找到。
使用图像是一种相对简单的方法。
或者,你可以随机化字母,并用一些CSS魔法重新排列它们(不幸的是,我的CSS-fu太弱,不能举一个例子)。例如,如果您想“隐藏”单词“hello”,那么在单独的<div>
中用每个字母写出“lehol”,并应用一些CSS样式,以便在视觉上按照正确的顺序排列字母。
请注意,此(也可能是所有其他工作解决方案)也将也中断复制和粘贴的文字。
有可能覆盖默认的浏览器快捷方式,并且还有一些比有效的时间还要快......只要以JSfiddle或谷歌文档为例 – Blowsie 2011-08-17 13:10:50
我纠正了。不过,我认为@nickf的答案可能是最好的答案。 – 2011-08-17 13:12:03
您可以用JavaScript做到这一点 - 这只是(用jQuery的)因为我不能确定如何监听既CTRL和F,但你的想法伪代码:
$(body).keypress(function(e)
{
if (e.keyCode===17)
{
//ctrl has been pressed, listen for subsequent F press (keyCode 70)
//if next keyCode===70
return false;
}
});
据我所知,像这样返回false将会阻止浏览器在按下按键时执行任何操作。如果return false;
还不够,您还可以使用e.preventDefault();
来防止发生任何事情。
希望这有助于
附加阅读: keycode测试页面在这里:http://asquare.net/javascript/tests/KeyCode.html 和一个jQuery控件插件,以帮助检测按Ctrl键和http:// www。 gmarwaha.com/blog/2009/06/16/ctrl-key-combination-simple-jquery-plugin/ – jammypeach 2011-08-17 10:55:25
请注意,即使这样做,它也不会阻止用户进入菜单并选择“在页面中查找”从那里。或者如果他使用使用某种其他键组合搜索的区域设置,则可以使用其他快捷方式。 – 2011-08-17 10:57:40
您可以禁用大多数浏览器(IE9,火狐,Chrome,Opera)的键盘快捷键,但有人使用查找你不能阻止通过单击它在浏览器中。
下面是一些jQuery的供电的JavaScript做的:从http://caniuse.com/,在此功能定期刺激我采取
$(window).keydown(function(e){
if ((e.ctrlKey || e.metaKey) && e.keyCode === 70) {
e.preventDefault();
}
});
。在该网站上,它用于使CTRL + F在页面上执行自定义搜索,而不是完全禁用它。
我认为使用keydown可以实现这一点,但是作为一个原则问题,改变浏览器行为方式是一个坏主意。虽然这对你来说更加痛苦,但还是有字体替换技术可以使它更容易。
如果你确实找到了这样做的方法,总会有人会绕过它的危险。编写页面可以比浏览器更好地工作。
代码
window.addEventListener("keydown",function (e) {
if (e.keyCode === 114 || (e.ctrlKey && e.keyCode === 70)) {
e.preventDefault();
}
})
这是一个jQuery plugin,它可以满足您的要求。
为什么不使用Shadow DOM?这将使您的内容无法被搜索引擎或屏幕阅读器访问。并且为用户提供完全相同的行为。
看看这里获取更多信息:Introduction to Shadow DOM
- 1. 是否可以禁用网页上的查找功能,而不仅仅是CTRL + F?
- 2. 在gnome终端中禁用“查找”快捷键(CTRL-SHIFT-F)
- 3. 是否可以在Windows中禁用Ctrl + V?
- 4. 是否可以在RichFaces中禁用AJAX?
- 5. 是否可以禁用Controls:HoverButton?
- 6. 是否有可能使用Jquery模拟Ctrl + F组合键?
- 7. 是否可以在浏览器中禁用检查元素?
- 8. Google Chrome是否有任何扩展程序可让我在多个标签上使用查找功能(CTRL + F)?
- 9. 如果URL与用户所在的页面相同,是否可以禁用URL?
- 10. 浏览器Ctrl + F查找不可见文本
- 11. 是否可以在JSP中创建本地页面作用域?
- 12. 是否可以在Google地图中启用CTRL +拖动标记?
- 13. freemarker查看页面是否可以'用户'编辑和保护?
- 14. 是否可以使用Puppeteer禁用Websocket?
- 15. 是否可以禁用负向索引?
- 16. 是否可以在facelet页面中包含远程网页?
- 17. 是否可以在页面指令中使用EL?
- 18. 是否可以在非MVC ASP.Net页面中使用Html.RenderPartial?
- 19. 是否可以在xaml页面中使用摄像头?
- 20. 是否可以在JSP页面中使用'enctype'和'method'= post?
- 21. 是否有工具可以查看页面是否从缓存中读取?
- 22. Java - 查找Cookies是否被禁用
- 23. 是否可以使用ClosedXML在Excel中执行查找?
- 24. 查找一个端口是否可以在linux中使用C++
- 25. 是否可以抓取ASP.NET页面?
- 26. 是否可以在F#中使用Click Once Deployment?
- 27. 是否可以使用F#中的LINQ以及如何操作?
- 28. 是否可以遍历JSON来查找属性是否存在?
- 29. 检查用户是否在页面上
- 30. 是否可以在页面模板中添加wordpress插件?
可以使用帆布/图像始终显示他们... – Pacerier 2016-08-18 22:35:27