浏览器扩展 - 如何阻止自动对焦转到地址栏?

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 />&nbsp;
<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.