`
terryang
  • 浏览: 129596 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

FireFox扩展开发中如何操作标签页

阅读更多
关闭当前标签页:
var tab = gBrowser.mCurrentTab;
if(tab) gBrowser.removeTab(tab);


关闭左边标签页:
var tab = gBrowser.mCurrentTab.boxObject.previousSibling;
if(tab) gBrowser.removeTab(tab);

关闭右边标签页:
var tab = gBrowser.mCurrentTab.boxObject.nextSibling;
if(tab) gBrowser.removeTab(tab);

复制当前标签页:
var oldHistory = gBrowser.webNavigation.sessionHistory;
gBrowser.selectedTab = gBrowser.addTab("about:blank");
var newHistory = gBrowser.webNavigation.sessionHistory;
newHistory.QueryInterface(Components.interfaces.nsISHistoryInternal);

for (var i = 0; i < oldHistory.count; i++) { newHistory.addEntry(oldHistory.getEntryAtIndex(i, false), true); }

if(oldHistory.count) gBrowser.webNavigation.gotoIndex(oldHistory.index);

下一个标签页(与ctrl+pagedown同):
gBrowser.mTabContainer.advanceSelectedTab(1,true);

上一个标签页(与ctrl+pageup同):
gBrowser.mTabContainer.advanceSelectedTab(-1,true);


重新载入其它标签页:
var browsers = gBrowser.browsers;
var i = 0;
var l = browsers.length;
var x = gBrowser.mCurrentTab._tPos;

for(; i < l; i++)
if(i != x) try { browsers[i].reload(); } catch(err){};

重新载入所有标签页:

gBrowser.reloadAllTabs();


重新载入左边所有标签页:

var browsers = gBrowser.browsers;
var i = gBrowser.mCurrentTab._tPos - 1;
var l = -1;

for(; i > l; i--)
try { browsers[i].reload(); } catch(err){};


重新载入右边所有标签页:

var browsers = gBrowser.browsers;
var i = gBrowser.mCurrentTab._tPos + 1;
var l = browsers.length;

for(; i < l; i++)
try { browsers[i].reload(); } catch(err){};


定位到最左边标签页:

gBrowser.selectedTab = gBrowser.mTabContainer.firstChild;


定位到最右边标签页:

gBrowser.selectedTab =
gBrowser.tabContainer.childNodes[gBrowser.tabContainer.childNodes.length-1];


关闭其他标签页:

gBrowser.removeAllTabsBut(gBrowser.mCurrentTab);


关闭所有标签页:

gBrowser.removeAllTabsBut(gBrowser.mCurrentTab);
gBrowser.removeCurrentTab();


定位到左邻标签页(不能循环):

gBrowser.mTabContainer.advanceSelectedTab(-1);


定位到右邻标签页(不能循环):

gBrowser.mTabContainer.advanceSelectedTab(1);


在当前标签页右边新建标签页:

var x = gBrowser.mCurrentTab._tPos + 1;
gBrowser.moveTabTo(gBrowser.selectedTab = gBrowser.addTab("about:blank"), x);


高亮关键词后,新建标签页后台搜索(以当前搜索栏搜索引擎,下同):

BrowserSearch.loadSearch(getBrowserSelection(), true);


新建标签页前台搜索:

gBrowser.mPrefs.setBoolPref("browser.tabs.loadInBackground",false);
BrowserSearch.loadSearch(getBrowserSelection(), true);
gBrowser.mPrefs.setBoolPref("browser.tabs.loadInBackground",true);


在当前标签页搜索:

BrowserSearch.loadSearch(getBrowserSelection(), false);


在新窗口打开about:config:

toOpenWindowByType('pref:pref', 'About:config');


书签管理器对话框:

toOpenWindowByType('bookmarks:manager',
'chrome://browser/content/bookmarks/bookmarksManager.xul');


工具—选项对话框:

openPreferences();


附加软件对话框:

toOpenWindowByType('Add-ons:manager',
'chrome://mozapps/content/extensions/extensions.xul');


scrapbook扩展“获取前进行编辑”命令:

if(sbPageEditor.TOOLBAR.hidden ||
document.getElementById("ScrapBookToolbox").hidden) {
sbPageEditor.init();
} else {
sbPageEditor.exit(true);
}

显示/隐藏书签工具栏:

const bmToolbar = document.getElementById("PersonalToolbar");
bmToolbar.collapsed = !bmToolbar.collapsed;


显示/隐藏菜单栏:

var mb = document.getElementById("toolbar-menubar");
mb.collapsed = !mb.collapsed;


页面向右滚动:

goDoCommand('cmd_scrollRight');


页面向左滚动:

goDoCommand('cmd_scrollLeft');


页面向上滚动:

goDoCommand('cmd_scrollLineUp');


页面向下滚动:

goDoCommand('cmd_scrollLinedown');


向下翻页(与space同):

goDoCommand('cmd_scrollPageDown');


向上翻页(与shift+space同):

goDoCommand('cmd_scrollPageup');


回到页首(与home同):

goDoCommand('cmd_scrollTop');


回到页尾(与end同):

goDoCommand('cmd_scrollBottom');


关闭所有正在运行的Firefox程序:

goQuitApplication();


拷贝当前标签页标题:

Components.classes["@mozilla.org/widget/clipboardhelper;1"]
    .getService(Components.interfaces.nsIClipboardHelper)
    .copyString(content.document.title);


在当前标签打开网页:

gBrowser.loadURI('http://www.google.com/');


在新标签打开网页:(原来还可以用来打开about:config。Great!)

var myUrl = "http://www.baidu.com";
var ff= document.getElementById("content");
var tab = ff.addTab(myUrl);
ff.selectedTab = tab;


以定义的书签关键词在当前标签打开书签(对运行bookmarklets非常有用):

if(window.loadURI) loadURI(getShortcutOrURI('填入你定义的关键词',{}));


类似paste and go,节省一次enter键:

var url = readFromClipboard(); if (url) content.location = url;


跟踪下一链接(论坛的Sprill朋友提供,谢谢。下同。):

var document = window._content.document;
var links = document.links;
for(i = 0; i < links.length; i++) {
if ((links[i].text == '下一页') ||(links[i].text == '下一页') ||(links[i].text == '下一页>')||(links[i].text == '下一页 ?') ||(links[i].text == '下一页>>') || (links[i].text == '[下一页]') || (links[i].text == '【下一页】') ||(links[i].text == 'Next') || (links[i].text == 'next') || (links[i].text == '??') || (links[i].text == '>')) document.location = links[i].href;
}

跟踪上一链接:

var document = window._content.document;
var links = document.links;
for(i = 0; i < links.length; i++) {
if ((links[i].text == '上一页') ||(links[i].text == '上一页') ||(links[i].text == '<上一页')||(links[i].text == '? 上一页') ||(links[i].text == '<<上一页') || (links[i].text == '[上一页]') || (links[i].text == '【上一页】') ||(links[i].text == 'Previous') || (links[i].text == 'Prev') ||(links[i].text == 'previous') || (links[i].text == 'prev') || (links[i].text == '??') || (links[i].text == '<')) document.location = links[i].href;
}
分享到:
评论

相关推荐

    firefox扩展 实现:输入指定的网址,跳转到本地磁盘指定的页面

    3. **使用WebExtension API**:Firefox的WebExtension API允许开发者访问浏览器的各种功能,如`browser.tabs` API可以用来获取和操作标签页,`browser.webNavigation` API可以监听和控制网页的导航行为。 4. **集成...

    firefox extension 开发例子

    Firefox扩展(Extension)开发是为Mozilla Firefox浏览器定制功能或改变其外观的一种技术。这个压缩包包含的文件是创建Firefox扩展的基础组件。 1. **chrome.manifest**:这是Firefox扩展的核心配置文件之一,它...

    Mozilla,firefox 扩展学习

    Mozilla和Firefox扩展开发是Web开发领域的一个重要分支,它允许开发者为火狐浏览器定制功能,增强用户体验或提供特定服务。本文将深入探讨Mozilla扩展的基本概念、开发环境搭建、API使用以及实战示例。 一、Mozilla...

    firefox扩展插件制作小综合

    综上所述,"Firefox扩展插件制作小综合"这个主题涵盖了从基础的JavaScript编程到高级的Firefox扩展开发技巧。通过学习这些内容,开发者不仅可以创建自定义的浏览器插件,还能深入了解浏览器的工作原理,提升自身的...

    Firefox扩展

    标题 "Firefox扩展" 提供了我们要讨论的主题,即在Mozilla Firefox浏览器中使用的各种插件或扩展。这些工具通常用于增强浏览器的功能,提供开发者工具、网页分析、下载管理、页面元素测量等多种用途。以下是对每个...

    firefox插件开发教程

    例如,在Firefox的选项窗口中,General标签页就使用了分组框来区分不同的设置项目: ```xml ``` ##### 水平和垂直布局 为了实现元素的水平或垂直排列,XUL提供了`&lt;hbox&gt;`和`&lt;vbox&gt;`两个元素。它们可以让你轻松...

    Firefox Extension example

    Firefox扩展开发过程中,你还需要了解以下关键概念和技术: - **WebExtensions API**:这是Firefox、Chrome和其他现代浏览器支持的统一扩展开发API。通过这个API,开发者可以访问浏览器的各种功能,如书签管理、...

    Firefox火狐浏览器官方52.0.2-win32版本exe安装包

    《Firefox火狐浏览器52.0.2-win32版本:深入解析与使用指南》 Firefox,这款由Mozilla基金会开发的开源网络浏览器,以其强大的安全性能、高度的可定制性和丰富的扩展插件闻名于世。52.0.2-win32版本是专为Windows ...

    基于FireFox的Plugins的开发(带测试用源码)

    同时,由于NPAPI的安全问题,Firefox逐步限制了NPAPI插件,因此在开发过程中要遵循最新的安全指南,确保插件的安全性。 **总结** 开发Firefox Plugins是提升浏览器功能和用户体验的有效方式。通过理解NPAPI,编写...

    firefox火狐浏览器

    综上所述,Firefox火狐浏览器因其强大的开发工具、高安全性、跨平台特性、对Web标准的支持以及丰富的扩展功能,成为了开发人员的理想选择。其提供的httprequest等插件工具,进一步提升了开发效率和体验。安装文件...

    Firefox火狐浏览器官方45.0b1-win32版本exe在线安装包

    《Firefox火狐浏览器45.0b1-win32版本:深入解析与使用指南》 Firefox,这款由Mozilla基金会开发的开源网络浏览器,以其强大的安全性能、高度的自定义性和丰富的扩展插件闻名于世。在本文中,我们将聚焦于Firefox的...

    Firefox火狐浏览器官方2.0.0.3-win32版本exe安装包

    Firefox火狐浏览器,由Mozilla基金会开发,是一款开源、免费的网络浏览器,以其强大的安全性、隐私保护和高度可定制性著称。本资源提供的“Firefox火狐浏览器官方2.0.0.3-win32版本exe安装包”,是针对Windows 32位...

    Firefox火狐浏览器官方52.5.0esr-win32版本exe安装包

    Firefox火狐浏览器,由Mozilla基金会开发,是一款开源、免费的网络浏览器,以其强大的安全性、隐私保护和高度可定制性著称。本篇文章将深入探讨Firefox 52.5.0esr-win32版本的特性、安装过程以及与Windows 32位操作...

    Firefox火狐浏览器官方54.0b10-mac版本dmg安装包

    Firefox火狐浏览器,由Mozilla基金会开发,是一款全球知名的开源网络浏览器。本文将围绕"Firefox 54.0b10-mac版本"展开,详细阐述其特性、安装过程以及在Mac操作系统中的使用技巧。 一、Firefox 54.0b10概述 Fire...

    firefox 插件开发sdk

    Firefox插件开发SDK,全称为Firefox Add-on SDK,是一个用于创建Firefox浏览器扩展的强大工具集。这个SDK基于JavaScript和C++,使得开发者可以使用高级语言来编写插件,同时也能利用C++进行性能关键部分的优化。在...

    firefox附加组件开发者指南

    ### Firefox附加组件开发者指南 #### 第一章:扩展简介 ##### 概述 当你开始阅读这份**Firefox附加组件开发者指南**时,表明你已经是一名Fire...通过实际操作,你将能够更好地理解和掌握Firefox扩展开发的全过程。

    Firefox火狐浏览器官方84.0b5-mac版本dmg安装包

    《Firefox火狐浏览器84.0b5-mac版本安装详解》 Firefox火狐浏览器,作为全球最受欢迎的网络浏览工具之一,一直以来以其开源、安全、可定制性等优点深受用户喜爱。本文将详细介绍如何在Mac操作系统上安装Firefox ...

    Firefox火狐浏览器官方52.0.1-win32版本exe安装包

    1. 快捷键操作:掌握一些基本的快捷键,如Ctrl+T新建标签页,Ctrl+W关闭当前标签页,能大幅提升浏览效率。 2. 智能搜索:在地址栏直接输入关键词,不仅可以快速打开已收藏的网站,还能进行全局搜索。 3. 自定义界面...

    Firefox火狐浏览器官方Setup 88.0.1-win64版本exe安装包

    Firefox火狐浏览器,作为一款全球知名的开源网络浏览器,以其强大的安全性能、高度的定制化和丰富的扩展插件深受用户喜爱。本文将详细解析Firefox火狐浏览器88.0.1-win64版本的exe安装包,帮助用户顺利进行安装,...

    Firefox火狐浏览器官方3.0.19-win32版本exe安装包

    Firefox火狐浏览器,由Mozilla基金会开发,是一款开源、免费的网络浏览器,以其强大的安全性、灵活性和可定制性深受用户喜爱。本文将深入探讨Firefox 3.0.19-win32版本的特性、安装过程以及其在Windows 32位系统中的...

Global site tag (gtag.js) - Google Analytics