Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Car0nte en 17 Abril 2014, 20:54 pm



Título: [Solucionado] [JS] Problema de codificación al enviar cadena con caracteres
Publicado por: Car0nte en 17 Abril 2014, 20:54 pm
Buenas:

Estoy con una pequeña extensión de Google Chrome en la que necesito que al seleccionar una palabra, ésta abra una pestaña con una web en la que se busque la palabra seleccionada.

Hace lo que se supone que debe hacer siempre que no se utilicen caracteres especiales (tildes, Ñ, etc) y necesito que sí los reconozca.

El problema CREO que está en esta función:

Código
  1. function enviaOnClick(info, tab) {
  2. var texto=escape(info['selectionText']);
  3. var url="http://www.unapagina.es/buscatexto=";
  4. chrome.tabs.create({"url":url+texto});

El problema está en que al seleccionar por ejemplo la cadena "búsqueda" necesito que en vez de convertirla en:
Código:
http://www.unapagina.es/buscatexto=b\u00FAsqueda

se quede como:
Código:
http://www.unapagina.es/buscatexto=búsqueda

No tengo mucha idea de esto. Sé que que js suele haber problemas con los tipos de codificación, así que no sé si es algo sencillo o grave.

Saludos y gracias

===============================================
Editado: Solución encontrada
===============================================

La solución era sencilla; de hecho, hay unas cuantas. La que más se adecúa a lo que buscaba es:

Código
  1. function enviaOnClick(info, tab) {
  2. var texto=info.selectionText.toLowerCase();
  3. var url="http://www.unapagina.es/buscatexto=";
  4. chrome.tabs.create({"url":url+texto});

Saludos