Если вы являетесь автором расширения, то вы можете определить, установлено ли ваше собственное расширение.Я просто вставляю невидимую строку в свой веб-сайт, которую затем сканирую при загрузке страницы.Если строка была введена, мое расширение должно быть установлено, и тогда вы можете делать все что угодно с результатом.
identifier.js
if (window.top === window)
{
//detect if the extension has been installed and disable "Install" button if that's the case
if (document.title === "YOUR PAGE TITLE") //we don't want to inject the string into any website, just ours
{
var p = document.createElement("noscript");
var texto = document.createTextNode("Extension Installed");
p.appendChild(texto);
document.body.appendChild(p);
}
}
Я подозреваюApple делает это программно, используя WebView, который Safari использует для отображения веб-сайтов, а затем запускает сценарии javascript для внутреннего использования, которые изменяют веб-сайт Extensions в зависимости от расширений, возвращаемых в коде Safari.
Надеюсь, это поможет!