【发布时间】:2012-01-30 21:02:53
【问题描述】:
我创建了一个 chrome 扩展,其中有一个弹出窗口,其中包含以下 HTML 标记:
<html>
<head>
<style>
body {
font-family: 'Open Sans',arial,sans-serif;
background-color: #E5E5E5;
font-size: 13px;
text-shadow: 0px 1px rgba(255, 255, 255, 0.5);
}
</style>
</head>
<script type="text/javascript">function sendRequest(s,r){
chrome.tabs.getSelected(null, function(tab) {
chrome.tabs.sendRequest(tab.id, {search:s , replace:r}, function(response) {
console.log(response.farewell);
});
});
};
</script>
<body>
<label for="search">Search for</label><input name="search" id="search"></input>
<label for="replace">Replace with</label><input name="replace" id="replace"></input>
<button onclick="var s=document.getElementById('search').value;var r=document.getElementById('replace').value;sendRequest(s,r);">Go</button>
</body>
</html>
当我打开弹出窗口时,选择第一个输入字段,然后按 Tab 键,输入字段失去焦点,但第二个没有获得焦点。
如果我再次选择第一个并再次按 Tab,则第二个字段获得焦点。再次按下使按钮获得焦点,第三次按下使第一个字段再次获得焦点。
有谁知道为什么第一次按 Tab 键不起作用?
【问题讨论】:
-
不幸的是,我无法回答您的问题(这真的很奇怪,我想知道发生了什么?)但是这里有一些与标签有关的指针。如果你关心你应该使用 tabindex 的选项卡,你应该让一些东西专注于页面加载,你应该把一些不可见的东西作为你的最后一个 tabindex,将焦点转移到第一个元素或者它进入浏览器的东西。下面是添加信息的页面外观示例。pastebin.com/2izkBt7g(在页面中工作,而不是弹出窗口?)另外,当使用 Chrome 发布问题时,最好说出您的测试版本。
-
嗨弗拉基米尔。非常感谢您的提示。我已经在弹出窗口中实现了这一点,并且正在使用 Chrome 17.0.963.46 beta-m。不幸的是,第一次按下 Tab 键后光标仍然消失。我可以在加载弹出窗口时成功选择第二个 tabindex,但是第二次按键再次导致光标丢失。您认为这可能只是 Chrome 的一个错误吗?
-
它在稳定版本中对我有用。光标并没有消失,一切都按照您的预期进行。
-
它必须与最新版本的 Chrome 相关,因为它在 16.0.912.77 m 版本中也适用于我。
-
它必须与chrome引入的东西有关。因为我很肯定我的扩展在最新版本之前使用了 tab 键。截至 18 beta-m 它仍然坏了所以不知道该怎么办......
标签: google-chrome google-chrome-extension popup tabbing