我有一個謎題網站,它的作弊方式很糟糕。它可以,如果只是部分,但可以完成嗎?
我想到的東西是用圖像替換字母,但比這更容易?是否可以在頁面中禁用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. 是否可以在Access 2007中禁用ctrl + a?
- 4. 是否可以在Windows中禁用Ctrl + V?
- 5. 是否可以在特定頁面中禁用Htaccess登錄?
- 6. 是否可以在頁面級別禁用單個cookie
- 7. 是否可以禁用mysql子查詢?
- 8. 是否可以在RichFaces中禁用AJAX?
- 9. 是否可以在C++中禁用鍵?
- 10. 是否可以禁用Controls:HoverButton?
- 11. 是否有可能使用Jquery模擬Ctrl + F組合鍵?
- 12. 是否可以在瀏覽器中禁用檢查元素?
- 13. Google Chrome是否有任何擴展程序可讓我在多個標籤上使用查找功能(CTRL + F)?
- 14. 如果URL與用戶所在的頁面相同,是否可以禁用URL?
- 15. 瀏覽器Ctrl + F查找不可見文本
- 16. robots.txt - 它是否可以移除頁面?
- 17. 是否可以在JSP中創建本地頁面作用域?
- 18. 是否可以在Google地圖中啓用CTRL +拖動標記?
- 19. 在swing中實現CTRL-F(查找)功能
- 20. freemarker查看頁面是否可以'用戶'編輯和保護?
- 21. 是否可以使用Puppeteer禁用Websocket?
- 22. 是否可以禁用負向索引?
- 23. 是否可以在facelet頁面中包含遠程網頁?
- 24. 是否可以在NavigationView中禁用可點擊的HeaderLayout?
- 25. 是否可以在非MVC ASP.Net頁面中使用Html.RenderPartial?
- 26. 是否可以在頁面指令中使用EL?
- 27. 是否可以在JSP頁面中使用'enctype'和'method'= post?
- 28. 是否可以在xaml頁面中使用攝像頭?
- 29. 是否可以在同一頁面中使用Flexslider和Fancybox?
- 30. 是否有工具可以查看頁面是否從緩存中讀取?
可以使用帆布/圖像始終顯示他們... – Pacerier 2016-08-18 22:35:27