Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何获得查找栏';Firefox 25中的最后一个搜索字符串是什么?_Javascript_Firefox_Firefox Addon - Fatal编程技术网

Javascript 如何获得查找栏';Firefox 25中的最后一个搜索字符串是什么?

Javascript 如何获得查找栏';Firefox 25中的最后一个搜索字符串是什么?,javascript,firefox,firefox-addon,Javascript,Firefox,Firefox Addon,我有一个扩展,它使用了fastFind接口(基本上是查找栏)。具体来说,我使用\u find和\u findAgain函数在给定网页中实际搜索给定术语。我的扩展需要跟踪上一次执行的搜索,以下是我在Firefox 24及以下版本中的操作: var cachedFindTerm = getBrowser().fastFind.searchString; 但是,从Firefox25开始,浏览器对象的fastFind属性似乎不再存在。因此,我无法访问查找栏的搜索字符串。我尝试了以下操作,但即使在使用\

我有一个扩展,它使用了
fastFind
接口(基本上是查找栏)。具体来说,我使用
\u find
\u findAgain
函数在给定网页中实际搜索给定术语。我的扩展需要跟踪上一次执行的搜索,以下是我在Firefox 24及以下版本中的操作:

var cachedFindTerm = getBrowser().fastFind.searchString;
但是,从Firefox25开始,浏览器对象的
fastFind
属性似乎不再存在。因此,我无法访问查找栏的搜索字符串。我尝试了以下操作,但即使在使用
\u find
\u findAgain
函数进行搜索后,它仍返回空:

var findBar = getBrowser().getFindBar();
var cachedFindTerm = findBar._findField.value; // This is always blank!
有没有更好的方法来获取Firefox25中find bar界面使用的上一个搜索字符串?我肯定看不到任何明显的东西…

当使用“API”(或者更确切地说,是私有方法,
\ucode>前缀方法,它们不保证在任何版本中都不会更改),
\u findField
不会得到更新

你必须自己加入新的价值观

大致如下:

gFindBar._find(gFindBar._findField.value = term);

无法复制,适用于我使用
gBrowser.getFindBar()。\u findField.value
gFindBar
gBrowser.getFindBar()
,顺便说一句)的缩写。请发布一个可复制的示例和/或复制步骤。您是否仅通过find bar API启动搜索(即,您没有通过bar GUI本身进行搜索)?我只是简单地调用
findBar.\u find(term)
来进行搜索。这就像一个符咒!从长远来看,我是否应该使用更好的界面以编程方式搜索页面中的文本?我不想写我自己的搜索算法,但我不确定Firefox公开提供了什么。从实现和您尝试做的事情来看,我认为没有更好的方法,甚至没有任何官方的、稳定的API。