我遇到了一个问题,老实说我不知道如何解决它。
我们有一个FF小扩展作为日常工作的小 helper 。 一项功能是从票务系统获取特定的 ID。 它基本上可以工作,但如果打开多个选项卡,它不会刷新。
- 选项卡 1:获取票证系统 ID -> 正确
- 选项卡 2:尝试从第一个选项卡获取 id(打开不同的票证)-> id!
函数(单击上下文菜单项时调用):
otrs: function() {
var source = '';
source = document.documentElement.innerHTML;
var position = source.search('OTRS#: ');
var text = "[ ";
for (var i = 0; i <= 12; i++) {
text += source[position+i];
}
text += ' ] ';
if (text != '')
{
const gClipboardHelper = Components.classes["@mozilla.org/widget/clipboardhelper;1"]
.getService(Components.interfaces.nsIClipboardHelper);
gClipboardHelper.copyString(text);
}
也许你们中的一个人可能有解决方案;-) 提前致谢!
马丁..
最佳答案
更改为source = gBrowser.contentDocument.documentElement.innerHTML;
这将适用于选定的选项卡。您可以像这样定位特定选项卡:source = gBrowser.tabContainer.childNodes[0].contentDocument.documentElement.innerHTML;
gBrowser.tabContainer.childNodes[0].contentDocument
是选项卡 1
gBrowser.tabContainer.childNodes[1]
是选项卡 2
gBrowser.tabContainer.childNodes[2]
是选项卡 3,依此类推
otrs: function() {
var source = '';
source = gBrowser.contentDocument.documentElement.innerHTML;
var position = source.search('OTRS#: ');
var text = "[ ";
for (var i = 0; i <= 12; i++) {
text += source[position+i];
}
text += ' ] ';
if (text != '')
{
const gClipboardHelper = Components.classes["@mozilla.org/widget/clipboardhelper;1"]
.getService(Components.interfaces.nsIClipboardHelper);
gClipboardHelper.copyString(text);
}
关于javascript - Firefox 扩展 -> 获取显示选项卡的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27182960/