API excludeMatches »в Scripting.RegisterContentscripts () API полностью игнорируется в сафари -растяжениях.Javascript

Форум по Javascript
Ответить
Anonymous
 API excludeMatches »в Scripting.RegisterContentscripts () API полностью игнорируется в сафари -растяжениях.

Сообщение Anonymous »

В проекте по созданию интернет -расширения для Safari с использованием scripting.geristerContentScript () API для введения кучи сценариев в веб -страницы, мне нужно было управлять динамическим белым списком (т. Е. Веб -страницы, где сценарии не должно быть введено).
К счастью, scripting.registerContentscripts () дает вам Вариант определения списка веб -страниц, которые следует рассматривать как белый список, используя параметр excludeMatches в директиве, для представления массива страниц, где сценарий не должен быть введен.
< P> Здесь просто образец того, что я имею в виду: < /p>

Код: Выделить всё

const matches = ['*://*/*'];
const excludeMatches = ['*://*.example.com/*'];
< /code>
const directive = {
id: 'injected-jstest',
js: ['injectedscript.js'],
matches: matches,
excludeMatches: excludeMatches,
persistAcrossSessions: false,
runAt: 'document_start'
};
< /code>
await chrome.scripting.registerContentScripts([directive])
.catch(reason => { console.log("[SW] >>> inject script error:",reason); });
< /code>
Of course, the whitelist is not static, but varies over time according to the needs of the moment.
Everything works perfectly in Chromium browsers (Chrome, Edge, ...) and Firefox, but fails miserably in Safari. In fact, Safari seems to [b]completely ignore[/b] the excludeMatches
Параметр и вводит скрипт, даже если он не должен. > Примечание : Чтобы проверить правильность и возможности API в каждом браузере, я создал простой репозиторий на GitHub с кодом расширения для хрома, Firefox и Safari (xcode Проект).

Подробнее здесь: https://stackoverflow.com/questions/794 ... tally-igno
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»