我有以下情况。
- 我通过 HTML 表单执行 GET 请求
- 我有一个文本字段,该字段的内容为
<< BLAH >alert (”BLAH”);//<</ blah >
. 已知无效的假设标记。
- 我有一个文本字段,该字段的内容为
- 我有一个事件监听器
webRequest
- 我尝试
decodeURIComponent
在 webrequest 的完整 url 上,由表单提交触发 - 解码失败,出乎意料。
- 我希望 decodeURIComponent 应该能够解码浏览器从表单中编码的任何内容。这似乎是一个错误的假设,或者 chrome: 55.0.x* 中的一个错误
如果以下 JS 在 chrome 扩展中,则以下代码段将演示该问题。
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 是 chrome 扩展 API 的一部分。
寻找提示。谢谢!