Ctrl+f (найти) в приложении Chrome
Можно ли как-то включить функцию браузера Ctrl+F (найти в текущем представлении) в приложении chrome? Я говорю о приложении, которое пишу сам, и мне действительно не хватает этой функции.
3 ответа:
Вы не можете "включить функцию браузера", потому что окно приложения Chrome не является браузером. Правда, он всегда изначально загружается из HTML-файла, но это не делает его браузером. Что вам нужно сделать, так это установить обработчик для события клавиатуры (метод, не уникальный для приложений Chrome), а затем в этом обработчике сделать то, что вы хотите. Вы можете обработать DOM, представляющий содержимое окна, чтобы найти что-то, если хотите, но это полностью зависит от вашего собственного кода JavaScript.
Я подумал, что пример может быть хорошим. Я тоже этого хотела. Вот к чему я пришел, исходя из вышеприведенных идей. Я отредактировал образец приложения киоска из Google с этими изменениями:
HTML:
enter code here
CSS:
#live-search{ display:none; } .text-input{ right: 25px; z-index: 10000; position: absolute; border: #000 solid 1px; }
JS:
window.onresize = doLayout; var isLoading = false; var webview //made global so that I can access it easier everywhere. onload = function() {//existing function, added more to it. webview = document.querySelector('webview'); webview.addEventListener('consolemessage', function(e) {
/ / это позволяет webview отправлять на консоль, чтобы я мог видеть, почему что-то не работает. приставка.журнала('гость войдите страницу в '+ е.линия + ", ", е.сообщение); }); doLayout(); $().ready (function () / / using jquery onload here. { var ctrlDown = false; var ctrlKey = 17, fKey = 70;
$(document).keydown(function(e)//detect CTRL key. { if (e.keyCode == ctrlKey) ctrlDown = true; }).keyup(function(e) { if (e.keyCode == ctrlKey) ctrlDown = false; }); $(document).keydown(function(e)//detect CTRL+f { if (ctrlDown && e.keyCode == fKey){ $("#live-search .text-input").val("").focus();//clear search box $("#live-search").toggle(); }; }); $("#live-search .text-input").keyup(function(e){//typed in search, so search. webview.executeScript( {code: 'window.find("'+ $("#live-search .text-input")[0].value +'",false, false, true);' }); }); });
JS в другой функции:
function handleLoadStop(event) {//hide the search when they go to another page. $("#live-search").hide();