2010-06-04 15 views
95

¿Qué significa el código de carácter (HTML) ​? Lo encontré en uno de mis scripts jQuery y me pregunté qué era ...¿Qué es el código de carácter HTML 8203?

Gracias.

Editar:

Aquí está el guión lo fue en (se añade al final, encontró en Firebug)

<script src="http://code.jquery.com/jquery-latest.js" type="text/javascript"></script> 
<script type="text/javascript"> 
var $jnyh = jQuery.noConflict(); 


$jnyh(function() { 
    $jnyh("#title-nyh").click(function() { 
     $jnyh(".show-hide-nyh").slideDown("slow"); 
    }, function() {   
     if(!$jnyh(this).data('pinned')) 
     $jnyh(".show-hide-nyh").slideUp("slow"); 
    }); 
    $jnyh("#title-nyh").click(function() { 
    $jnyh(this).parent().toggleClass("title-btm-brdr"); 
     $jnyh(this).toggleClass("chev-up-result"); 
     var pin = $jnyh(this).data('pinned'); 
     $jnyh(this).data('pinned', !pin); 
     if(pin) $jnyh(".show-hide-nyh").slideUp("slow");  
    }); 
});​&#8203; 
</script> 

Respuesta

110

Es la Unicode Character 'ZERO WIDTH SPACE' (U+200B).

este carácter está destinado para el control de salto de línea; no tiene ancho, pero su presencia entre dos caracteres no evita el aumento del espaciado entre letras en la justificación

Según el ejemplo de código dado, la entidad es completamente superflua en este contexto. Debe insertarse por algún accidente, muy probablemente por un editor de errores que intenta hacer cosas inteligentes con espacios en blanco o resaltado, o un usuario final que usa un idioma de teclado en el que este carácter se usa de forma nativa, como el árabe.

+1

Gracias. Extraño cómo terminó en mi jQuery. – Kyle

+0

@Kyle - ¿Qué es eso? –

+0

De nada. Puede que simplemente leas la función de lo que está haciendo con este personaje :) – BalusC

2

ZERO WIDTH SPACE.

Lo he usado como contenido para celdas de tabla "vacías". Sin embargo, no tengo idea de lo que está haciendo en una etiqueta <script>.

1

Tengo estos personajes aparecen en guiones donde no los deseo. Lo noté porque arruina mi formato visual HTML/CSS: crea un nuevo cuadro de texto.

Bastante seguro que un editor con errores los está agregando ... Sospecho que Komodo Edit para la Mac, en mi caso.

+0

lo dudo. Aparece en IE en mi PC cuando miré el '.html()' de un div que representaba un cuadro de texto en SP 2013. Creo que se debe al comportamiento de la aplicación web que muestra los datos. En mi caso, la longitud fue 1, para mí, cuando debería haber sido 0. Fue debido a este personaje. – vapcguy

2

el carácter de espacio de ancho cero se inserta cuando se utiliza jQuery para añadir elementos utilizando las funciones de manipulación de DOM como .before() y .after()

me he encontrado esto cuando la adición ocultos marcos de diálogo modales en la al final de mi documento y luego encontrar que el ESPACIO DE ANCHO CERO atornilla el diseño allí, agregando espacio no deseado.

La solución rápida fue insertarlo antes que el pie de página, no después. Está escondido de todos modos.

no puedo encontrar nada en jQuery que hace esto:

https://github.com/jquery/jquery/blob/master/src/manipulation.js

por lo que podría ser el navegador que lo añade.

6

Aterricé aquí con el mismo problema, luego lo resolví por mi cuenta. Este extraño personaje estaba apareciendo con mi HTML.

Probablemente el problema sea su editor de código. Uso Espresso y a veces me encuentro con problemas como este.

Para solucionarlo, simplemente resalte el código afectado, luego vaya al menú y haga clic en "convertir a entidades numéricas". Verás que aparece el valor numérico de este personaje; simplemente elimínelo y desaparecerá para siempre.

+0

Creo que necesito agregar esa funcionalidad a Aptana/Eclipse. ¡Gracias! – Kyle

9

Si desea buscar estos caracteres invisibles en su editor y hacerlos visibles, puede utilizar una Expresión regular para buscar caracteres que no sean ASCII. Intenta buscar [^\x00-\x7F]. Probado en IntelliJ IDEA.

+0

Esto funcionó. ¡¡Gracias!! – backdesk

+1

se supone que no debemos comentar solo para decir gracias, pero esto fue muy valioso. otras personas necesitan saber que esta es la solución que están buscando cuando intentan limpiar el texto de sistemas peculiares. cuando digo peculiar me refiero a la basura del sitio web de Microsoft 360! Soy muy bueno con expresiones regulares que tienen años de experiencia, pero realmente no importa cuando encuentras algo que no sabes cómo apuntar. (Intenté trabajar con 'get_html_translation_table (HTML_ENTITIES)' y 'ord()' pero aún no pude ganar) ¡esto finalmente me dio el control que necesitaba para seguir adelante! ¡¡¡GRACIAS!!! – aequalsb

+0

Puede encontrar más explicaciones en http://stackoverflow.com/questions/9868796/how-to-display-hidden-characters-by-default-zero-width-space-ie-8203/36495949#36495949. Me alegro de que te haya ayudado @aequalsb – Micros

-1

Se mostraba algunos caracteres extraños (â € <) hasta que me puse el juego de caracteres UTF-8 en la cabecera del archivo html

<meta http-equiv="content-type" content="text/html; charset=UTF-8"> 

o para HTML5:

<meta charset="UTF-8"> 

Ahora es transparente, pero aún se muestra en el html cuando uso el inspector.

La eliminación de todos los scripts de la página tampoco la eliminó.

Lo probé para Chrome y IE.

Cuestiones relacionadas