Estoy desarrollando una extensión de Chrome que, entre otras cosas, le permite hacer clic con el botón derecho en el texto seleccionado y buscar ese texto seleccionado en una nueva pestaña después de probarlo con algunos patrones de expresión regular.
En el siguiente código JavaScript, el texto seleccionado se convierte en una cadena, luego se codifica como un componente de un URI, luego se supone que debe eliminar las comillas dobles del principio o el final de la variable, pero las comillas dobles están inexorablemente todavía en la URL de la pestaña recién creada. No puedo entender qué está causando que las citas aparezcan en el resultado final en primer lugar, y mucho menos por qué están allí incluso después de que se usa el método .replace. Necesito que no haya citas en absoluto y solo pasar el texto seleccionado a la URL. ¡Por favor ayuda!
var EncodedSelectedText = encodeURIComponent(JSON.stringify(info.selectionText)); var NoQuotes = EncodedSelectedText.replace(/^"|"$/g, ''); if (RITMRegExPattern.test(info.selectionText)) { chrome.tabs.create({ url: 'https://redacted-site-name.com/sc_req_item_list.do? sysparm_query=numberLIKE'+NoQuotes }); }else if . . .La URL resultante de la pestaña de Chrome recién creada se ve así:
https://redacted-site-name.com/sc_req_item_list.do? sysparm_query=numberLIKE"abc1234567"pero debe verse así (sin las comillas que rodean abc1234567):
https://redacted-site-name.com/sc_req_item_list.do? sysparm_query=numberLIKEabc1234567Elimine JSON.stringify y vuelva a cargar su extensión. – wOxxOm
Esto lo arregló. Gracias wOxxOm.