浏览器扩展 - 如何阻止自动对焦转到地址栏?
Browser Extension - How do I stop autofocus from going to the address bar?
我有一个浏览器扩展程序,它用一个具有漂亮背景和搜索栏的页面替换了新标签页。使用搜索栏将用户带到 google 并搜索查询(在同一选项卡中)。出于某种原因,在使用扩展版本时,自动对焦不会进入我的搜索表单,而是进入地址栏。我一辈子都想不通为什么。我把它搞砸了吗?这是我的搜索表单:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Search</title>
<link rel="stylesheet" type="text/css" href="popup.css" />
</head>
<body>
<div id="searchContainer">
<form action="http://google.ca/search" method="GET" >
<input id="field" type="search" name="q" size="20" placeholder="Google Search" autofocus />
<input id="submit" name="submit" type="submit" value="Search" />
</form>
</div>
</body>
</html>
谢谢!
这是硬编码在 Chrome 中以匹配内置新标签的行为。
无法更改,但 official workaround 是 通过 location
重定向到另一个 URL。地址栏将显示完整的 chrome-extension:// URL。
manifest.json:
"chrome_url_overrides": {
"newtab": "focus.html"
},
focus.html:
<script src=focus.js></script>
focus.js:
location = 'start-focused.html';
start-focused.html 将包含您的新标签页的实际内容 UI.
我有一个浏览器扩展程序,它用一个具有漂亮背景和搜索栏的页面替换了新标签页。使用搜索栏将用户带到 google 并搜索查询(在同一选项卡中)。出于某种原因,在使用扩展版本时,自动对焦不会进入我的搜索表单,而是进入地址栏。我一辈子都想不通为什么。我把它搞砸了吗?这是我的搜索表单:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Search</title>
<link rel="stylesheet" type="text/css" href="popup.css" />
</head>
<body>
<div id="searchContainer">
<form action="http://google.ca/search" method="GET" >
<input id="field" type="search" name="q" size="20" placeholder="Google Search" autofocus />
<input id="submit" name="submit" type="submit" value="Search" />
</form>
</div>
</body>
</html>
谢谢!
这是硬编码在 Chrome 中以匹配内置新标签的行为。
无法更改,但 official workaround 是 通过 location
重定向到另一个 URL。地址栏将显示完整的 chrome-extension:// URL。
manifest.json:
"chrome_url_overrides": {
"newtab": "focus.html"
},
focus.html:
<script src=focus.js></script>
focus.js:
location = 'start-focused.html';
start-focused.html 将包含您的新标签页的实际内容 UI.