kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2022-09-22
  • 发帖数9186
  • 经验397枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
阅读:1510回复:4

搜索指定文本,用JS怎么写?

楼主#
更多 发布于:2011-01-10 05:05
由于TU取消了拖拽搜索,我想给一个简单的鼠标手势(↙)来搜索高亮的文本,用的就是当前搜索引擎。所以我想知道相应的Javascript是什么,谢谢!
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
Cye3s
千年狐狸
千年狐狸
  • UID155
  • 注册日期2004-11-25
  • 最后登录2024-04-28
  • 发帖数1322
  • 经验95枚
  • 威望0点
  • 贡献值34点
  • 好评度14点
  • 社区居民
  • 忠实会员
1楼#
发布于:2011-01-10 05:05
var str = getBrowserSelection();
if (!str)
	return;
var engine = document.getElementById("searchbar").currentEngine;
var submission = engine.getSubmission(str, null);
if (!submission)
	return;
var inNewTab = gPrefService.getBoolPref("browser.search.openintab");
if (inNewTab) {
	var tab = gBrowser.loadOneTab(submission.uri.spec, null, null, submission.postData, null, false);
	gBrowser.selectedTab = tab;
}
else {
	loadURI(submission.uri.spec, null, submission.postData, false);
}
我很懒...
ithinc
狐狸大王
狐狸大王
  • UID22844
  • 注册日期2008-02-04
  • 最后登录2014-09-28
  • 发帖数371
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
2楼#
发布于:2011-01-10 05:05
咦,TU这方面的功能没变化呀。直接拖曳文字是在地址栏打开,Ctrl+拖曳是用当前引擎搜索。

直接使用当前引擎搜索选定文字的代码:
BrowserSearch.loadSearch(getBrowserSelection(), true);
Tab Utilities的功能要求,请提交到http://tabutils.uservoice.com
kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2022-09-22
  • 发帖数9186
  • 经验397枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
3楼#
发布于:2011-01-10 05:05
ithinc:咦,TU这方面的功能没变化呀。直接拖曳文字是在地址栏打开,Ctrl+拖曳是用当前引擎搜索。

直接使用当前引擎搜索选定文字的代码:
BrowserSearch.loadSearch(getBrowserSelection(), true);
回到原帖

谢谢两位了。原来这个Ctrl+Drag的说明要用鼠标指向后才能看到。

另,Ctrl+Drag似乎是不太好用,因为很多网站(如本论坛)Ctrl+点击的时候就已经选中框元素了。
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
ithinc
狐狸大王
狐狸大王
  • UID22844
  • 注册日期2008-02-04
  • 最后登录2014-09-28
  • 发帖数371
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
4楼#
发布于:2011-01-10 05:05

另,Ctrl+Drag似乎是不太好用,因为很多网站(如本论坛)Ctrl+点击的时候就已经选中框元素了。

可以先拖曳,释放的时候再按Ctrl键。
Tab Utilities的功能要求,请提交到http://tabutils.uservoice.com
游客

返回顶部