gpt4 book ai didi

safari - 安装时自动重新加载

转载 作者:行者123 更新时间:2023-12-02 05:13:17 25 4
gpt4 key购买 nike

当脚本被注入(inject)到 safari 扩展中时,它会在页面加载时运行,这意味着当安装了扩展时,注入(inject)的 javascript 将仅适用于新打开的页面或之后重新加载的页面。有谁知道如何确保运行 javascript 而无需重新加载?

或者,强制用户加载...不过这似乎有点危险。

最佳答案

我还试图找到一种在安装时“执行”或“附加”脚本的方法。这在 Chrome 和 Firefox 中是可能的,无需重新加载页面。不幸的是,在 Safari 中,我还没有找到一种方法来执行此操作,而无需重新加载页面并让普通的 addContentScript 处理程序负责注入(inject)脚本。

安装扩展后直接重新加载所有 Safari 标签页:

/* In glabal.js */

// Reloads all tabs
function reloadTabs() {
var browserWindows = safari.application.browserWindows;
for (var i = 0; i < browserWindows.length; i++) {
var tabs = browserWindows[i].tabs;
for (var j = 0; j < tabs.length; j++) {
tabs[j].url = tabs[j].url;
}
}
}

// Called on first run
function onInstall() {
reloadTabs();
}

var firstRun = localStorage['extensionHasPreviouslyRun'] === undefined ||
!JSON.parse(localStorage['extensionHasPreviouslyRun']);

if (firstRun) {
onInstall();
localStorage['extensionHasPreviouslyRun'] = JSON.stringify(true);
}

关于safari - 安装时自动重新加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3354596/

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