5

我正在制作 Chrome 扩展程序,并且正在使用以下内容:

清单.json

{
    "name": "Test extension",
    "version": "1.1",
    "description": "Test extension.",
    "icons": {
        "128": "icon_128.png"
    },
    "chrome_url_overrides": {
        "newtab": "cc.html"
    },
    "manifest_version": 2
}

抄送.html

<style>body,html{padding:0;margin:0}</style>
<iframe src="theiframe.html" frameborder="0" height="200px" width="200px">
</iframe>

theiframe.html

<style>body,html{padding:0;margin:0}</style>
<form action="http://www.example.com/search">
    <input autofocus="autofocus" tabindex="1" type="text" />
    <input tabindex="2" value="search" type="submit"/>
</form>

当用户打开新标签时,自动对焦将在地址栏中。我希望用户能够改变这一点。是否有任何代码可以自动自动聚焦搜索输入?

4

3 回答 3

7

也许仅使用iframe. 但是您可以制作一个示例页面,当打开新选项卡时,该页面将重定向到您想要的页面,因此inputautofocus自动聚焦。

这是一种方法:


清单.json

"chrome_url_overrides": {
    "newtab": "r.html"
},


r.html

<html>
  <head>
    <title>Loading...</title> <!-- user friendly -->
    <noscript>
      <meta http-equiv="refresh" content="0; url=https://www.google.com"> <!-- in case javascript is disabled -->
    </noscript>
    <script src="s.js"></script>
  </head>
  <body></body>
</html>


s.js

window.location="https://www.google.com";


这是最好的方法(可能也是唯一的方法)。

于 2014-05-25T10:35:54.290 回答
3

正如 Erik Kay(Chrome 工程总监)在这个 Chromium 错误报告中指出的那样,预期的行为是让多功能框默认具有焦点,并且无法更改这一点。

因此,该错误被标记为WontFix.

于 2014-05-19T19:58:23.653 回答
2

来自API 文档的提示:

不要依赖具有键盘焦点的页面。 当用户创建新标签时,地址栏总是首先获得焦点。

于 2014-05-19T19:57:02.247 回答