Использование DeclarativenetRequest для «модификации головок» динамически с помощью функционального вызоваJavascript

Форум по Javascript
Ответить
Anonymous
 Использование DeclarativenetRequest для «модификации головок» динамически с помощью функционального вызова

Сообщение Anonymous »

Я издеваюсь над расширением Chrome, которое должно динамически изменять заголовки HTTP -запроса. Расширение работает, как и ожидалось, со статическим значением, предоставленным в правиле «ModifyHeaders», но я не могу выяснить, как динамически вычислять значение с помощью функции. Все попытки приводят к ошибкам «Uncaught SyntaxError: неожиданный идентификатор 'getValue'» (если я определяю функцию) или «я» (если я встраиваю выражение непосредственно в правило). < /P>

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

  const MY_CUSTOM_RULE_ID = 1
chrome.declarativeNetRequest.updateDynamicRules({
removeRuleIds: [MY_CUSTOM_RULE_ID],
addRules: [
{
id: MY_CUSTOM_RULE_ID,
priority: 1,
action: {
type: "modifyHeaders",
requestHeaders: [
{
getValue: async function() { return btoa(String.fromCharCode(...new Uint8Array((await self.crypto.subtle.digest("SHA-256", new TextEncoder().encode("my custom header value"))))));  },
operation: "set",
header: "my custom name",
value: await getValue()
}
]
},
condition: {
"resourceTypes": ["main_frame", "sub_frame"]
},
}
],
});

Приведенный выше код - это текущий фон.js .

Подробнее здесь: https://stackoverflow.com/questions/795 ... ction-call
Ответить

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

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

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

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

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