【发布时间】:2011-06-10 12:07:14
【问题描述】:
我正在开发一个 Chrome 扩展程序,它将 JS 代码注入到所有打开的选项卡中。此代码的任务包括显示一个文本框,实现为 contentEditable <div> 以允许格式化。但是,contentEditable 元素在某些网站上表现不佳,例如推特。
自己试试吧:
- 转到twitter.com
- 在地址栏中粘贴
javascript:document.body.setAttribute('contentEditable', true);,然后回车。 - 单击文档中的任意位置 - 您现在应该可以编辑文本了。
- 尝试输入
j或k。您将看到:角色没有出现,而是移动了选择(列表中的推文将突出显示)。
我一直在努力找出 Twitter 的键盘导航是如何实现的,但找不到任何提示。你能给我一些关于如何解决这个问题(并避免在其他网站上出现类似问题)的提示吗?
使用 iFrame 作为输入会触发其他一些非常奇怪的错误,所以如果可能的话,我想避免这种情况。
【问题讨论】:
-
我看到它可以与 Google Chrome 10.0.634.0 一起使用
-
嗨 Mohamed,是的,它不应该将焦点转移到 contentEditable 前景上。有什么建议吗?
标签: javascript dom google-chrome-extension contenteditable