是否有可能在Chrome应用中启用浏览器功能 Ctrl + F (在当前视图中查找)? 我说的是我自己写的应用程序,我真的错过了这个功能。
答案 0 :(得分:2)
我认为一个例子可能很好。我也想要这个。 以下是我从上述想法中得出的结论。 我使用以下更改从Google编辑了Kiosk App示例:
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发送到控制台,以便我可以看到为什么某些东西不起作用。 console.log('访客页面登录'+ e.line +“,”,e.message); }); 的doLayout(); $()。ready(function()//在这里使用jquery onload。 { 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();
答案 1 :(得分:1)
您无法启用浏览器功能"因为Chrome App窗口不是浏览器。确实,它始终是从HTML文件初始加载的,但这并不能使它成为浏览器。您需要做的是为键盘事件设置一个处理程序(Chrome应用程序不是唯一的技术),然后在该处理程序中执行您想要的操作。您可以处理表示窗口内容的DOM,以便根据需要搜索某些内容,但这完全取决于您自己的JavaScript编码。
答案 2 :(得分:1)
如果您在应用程序中使用WebView嵌入某些页面,那么您可以使用它:
var wv = document.querySelector('webview');
wv.executeScript({code: "window.find('Some text',false, false, true);"})