无法在Firefox附加选项卡中自动对焦输入元素

时间:2013-08-29 04:30:36

标签: html5 firefox-addon firefox-addon-sdk

我使用.open()创建一个标签,在data/search.html中显示HTML并附加data/search.js作为内容脚本文件。

var tabs = require("sdk/tabs");
var data = require("sdk/self").data;

function executeSearch () {
 /* set up search tab */
 tabs.open({
   url: data.url("search.html"),
   onReady: function (tab) {
    var worker = tab.attach({
      contentScriptFile: data.url("search.js")
    });
    worker.port.on("searchtext", function (wordsJson) {
      worker.port.emit("matchingPages", JSON.stringify(hlutils.matchingPages(wordsJson)));
    });
   }
 });
}

HTML正确显示且内容脚本正常运行,但在HTML文件(有效HTML5中)中,输入元素的autofocus属性不受支持。基本上,页面中没有显示的光标,没有点击输入元素就不能输入。我尝试使用

以老式的方式做到这一点
document.getElementById("search").focus();

在内容脚本文件中,也在HTML文件中的script元素中(在引用的元素下面),都无济于事。

1 个答案:

答案 0 :(得分:0)

终于明白了。必须将以下内容添加到内容脚本文件中:

window.addEventListener("load", function (event) {
  document.getElementById("search").focus();
});