У меня есть следующая ситуация.decodeURIComponent не удается получить URI из формы submit to chrome.webRequest
- я сделать запрос GET через HTML-форму
- У меня есть одно текстовое поле и поле имеет содержание
<<BLAH>alert (”BLAH”);//<</ blah >
. Это недействительная гипотетическая разметка.
- У меня есть одно текстовое поле и поле имеет содержание
- я есть слушатель событий на
webRequest
- я попытка
decodeURIComponent
на полный адрес WebRequest, подчинением стало началом формы - декодирования повреждается, вопреки ожиданиям.
- Я ожидаю, что decodeURIComponent должен иметь возможность декодировать все, что браузер кодирует из формы. это, как представляется, неправильное предположение, или ошибка в хроме: 55.0.x *
Если ниже JS был в расширении хром, следующий фрагмент кода продемонстрирует проблему.
var filter = { urls: ['<all_urls>'] }
function handler (details) {
decodeURIComponent(details.url)
}
chrome.webRequest.onBeforeRequest.addListener(
handler,
filter,
['blocking', 'requestBody']
)
<form method='get'>
<input type='text' name='field'/>
<button type='submit'>submit</button>
</form>
Конечно, вы не можете на самом деле запустить это - WebRequest является частью расширения хром API.
Ищите советы. Благодаря!
Пожалуйста, задавайте вопрос по теме: включите ** полный ** [mcve], который * дублирует проблему *. Включая * manifest.json *, некоторые из сценариев background/content/popup/HTML. Вопросы, требующие помощи по отладке («** почему этот код не работает? **)) должны включать: ► желаемое поведение, ► конкретную проблему или ошибку * и * самый короткий код, необходимый для его воспроизведения ** в вопросе сам**. Вопросы без четкого описания проблемы не полезны другим читателям. Смотрите: «** Как создать [mcve] **», [о каких темах я могу спросить здесь?] (Http://stackoverflow.com/help/on-topic) и [ask]. – Makyen
Что именно * отображается * в [различных соответствующих консолях для вашего расширения] (http://stackoverflow.com/a/38920982/3773011) при загрузке и выполнении расширения? Пожалуйста, укажите * точные * входы, выход из строя и ожидаемый результат. – Makyen
Вы пытаетесь декодировать весь URI. Обычно вы должны использовать: ['decodeURI()'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURI), но используя [decodeURIComponent()] (https: //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent) вместо этого не должен приводить к сбою. – Makyen