gpt4 book ai didi

javascript - Firefox 扩展 -> 获取显示选项卡的内容

转载 作者:行者123 更新时间:2023-11-28 07:48:15 26 4
gpt4 key购买 nike

我遇到了一个问题,老实说我不知道​​如何解决它。

我们有一个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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com