Safari扩展获取标签位置或标识符

Safari Extension Get Tab Position or Identifier

本文关键字:标识符 位置 标签 扩展 获取 Safari      更新时间:2023-09-26

我正在研究一个safari扩展,其中我需要将特定数组元素解析为创建的选项卡的每个实例。但是,我需要能够遍历数组,以便每个选项卡接收到注入脚本中要使用的不同元素。我使用接收和发送消息结构来做到这一点,但我无论如何也弄不清楚如何遍历数组元素。我尝试创建一个数组作为索引,然后在每次触发消息响应器函数时对其进行递增,但由于某种原因,这不起作用。我还尝试在每次从数组中提取元素时简单地移动数组,但我认为这不起作用,因为创建制表符时触发函数的速度太快了。

我希望能够在每个注入的脚本实例上使用某种枚举器函数来找出选项卡编号,然后用消息解析到全局页面以返回数组中的适当元素。

非常感谢你的帮助。

我认为你正在尝试遍历所有窗口中的所有选项卡-请澄清您遇到麻烦的数组。为了遍历它们,您应该能够这样做,首先通过应用程序中的窗口,然后通过选项卡:

var bWindows = safari.application.browserWindows;
for(i=0;i<bWindows.length;i++){
    var tabs = bWindows[i].tabs;
    for(j=0;j<tabs.length;j++){
         var tab = tabs[j];
         //Do something in each tab.
         tab.page.dispatchMessage('message', data);
    }
}