Ctrl+f (найти) в приложении Chrome


Можно ли как-то включить функцию браузера Ctrl+F (найти в текущем представлении) в приложении chrome? Я говорю о приложении, которое пишу сам, и мне действительно не хватает этой функции.

3 4

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();

Если вы используете WebView в своем приложении для вставки какой-либо страницы, то вы можете использовать следующее:

var wv = document.querySelector('webview');
wv.executeScript({code: "window.find('Some text',false, false, true);"})