Javascript decodeURIComponent从表单提交到chrome.webRequest提供的URI失败

Javascript decodeURIComponent从表单提交到chrome.webRequest提供的URI失败,javascript,google-chrome-extension,decodeuricomponent,Javascript,Google Chrome Extension,Decodeuricomponent,我有以下情况 我通过HTML表单执行GET请求 我有一个文本字段,该字段的内容为alert(“BLAH”)// 这是由根引起的卷曲引用。Chrome不会代表您重新映射任何字符以使其对URI友好。那就是“!=”“,而我的表单字段使用的是”“==>%94。奇怪的是,引擎盖下的表单没有使用encodeURIComponent(“)=>%E2%80%9D。总之,解码uricomponent(“%94”)爆炸。当我尝试使用decodeURIComponent对字符串进行解码时,我在Google Chr

我有以下情况

  • 我通过HTML表单执行GET请求

    • 我有一个文本字段,该字段的内容为
      alert(“BLAH”)// 这是由根引起的卷曲引用。Chrome不会代表您重新映射任何字符以使其对URI友好。那就是
      “!=”“
      ,而我的表单字段使用的是
      ==>
      %94
      。奇怪的是,引擎盖下的表单没有使用
      encodeURIComponent(“)=>%E2%80%9D
      。总之,
      解码uricomponent(“%94”)
      爆炸。

      当我尝试使用
      decodeURIComponent
      对字符串进行解码时,我在Google Chrome中遇到了一个
      URI格式不正确的
      错误。它在该字符串中的
      %
      字符上失败,我不希望对该字符串的有效性进行任何检查。因此我最终使用了
      unescape
      方法Intsead:
      unescape(mystring)

      请回答主题中的问题:包括复制问题的完整内容。包括manifest.json、一些后台/内容/弹出脚本/HTML。寻求调试帮助的问题(“此代码为什么不工作?”)必须包括:►想要的行为,►特定的问题或错误,以及►在问题本身中重现问题所需的最短代码。没有明确问题说明的问题对其他读者没有用处。请参阅:“如何创建问题解决方案?”,和。加载和执行扩展时,中到底显示了什么?请提供准确的输入、失败的输出和预期的输出。您正在尝试解码整个URI。通常情况下,您会使用:,但改用不应导致它失败。实际上,它的工作原理似乎取决于提交表单的网页上的某些其他特征。我刚刚模拟了一个本地示例,其中解码工作正常,但在这里仍然失败:。也就是说=>扩展在我的本地表单上解码URI成功,但在它们的表单上没有成功。我需要做进一步的调查。因为我不能提供一个可复制的例子。。。我的例子很成功!但在其他地方,扩展确实失败了。我仍然可以捆绑扩展并共享调试问题所需的信息,这样我们就有足够的信息来复制问题。请在问题中提供更多信息,以便我们可以复制该问题。如果您能够获得并向我们提供
      decodeURIComponent
      遇到问题的字符串,而不是必须向我们提供我们需要在其上执行提交以触发
      webRequest
      。谁将
      编码为
      %94
      ?这不是有效的百分比编码值。Chrome。HTML表单。那么目标请求中是否有此
      %94BLAH%94
      ?或者它只是在请求之前的
      事件处理程序
      .details
      中?在我的chrome浏览器上,它按预期使用
      %E2%80%9DBLAH%E2%80%9D
      执行请求。还有,这是哪个版本的chrome?啊,我知道了,你的页面的
      charset
      设置为
      ISO拉丁语
      或类似的对吗
      在此字符集中不受支持,因此使用了替换字符,无法对其进行编码。请将您的字符集设置为
      utf8
      ,一切正常。这样就可以根据您的问题内容确定这是一个有效的答案。这意味着您需要在问题中添加其他信息以获得完整的答案(即提供实际使用的HTML)。有了这些信息,这将是一个有趣的问题,可能对未来的读者有用,并可能获得一些支持。