英文: a 链接标记 链接标记 下会自动补全 href.
Mientras trabaja en el rastreador de enlaces AJAX y la mapas de la mapas, me he encontrado con una inconsistencia en la forma en que se recupera el atributo HREF utilizando Scripting DOM.El atributo HREF es diferente a otros atributos de elementos en que el conjunto de valor puede ser relativo al contexto de la URL de la página. Si establece un enlace con un atributo HREF relativo
<a href = ../desarrollo/test1.html> Página de prueba </a>
El navegador analizará la URL actual de las páginas y obtendrá una URL absoluta para el enlace.
http://www.glenn.jones.net/development/test1.html
Esta es la raíz del problema, algunos navegadores devuelven el texto del atributo y otros devuelven la URL absoluta derivada. Los resultados también difieren por el método que utiliza para recuperar el atributo HREF. Hay tres formas comunes de acceder a un atributo:
linkobj.href; linkobj ['href']; linkobj.getAttribute ('href');
El linkobj.href y linkobj['href ']; Métodos para acceder al atributo Devolver constantemente la URL absoluta derivada.
Microsoft ha intentado abordar esto por problema agregando un segundo parámetro al método getAttribute. El segundo parámetro se puede establecer en 0,1 o 2. Si el parámetro se establece en 2, el método devuelve el texto del atributo. Cualquier otra configuración devolverá la URL absoluta derivada.
linkobj.getAttribute ('href'); linkobj.getAttribute ('href', 2);
URL absoluta
Entonces, ¿qué debe ser devuelto por el método getAttribute? La especificación del núcleo de nivel 2 de DOM W3C que establece la estructura del método GetAttribute no cubre este problema. No es que ninguno de los enfoques esté mal o correcto. En este punto, la especificación está abierta a la interpretación.
Como codificador, me gustaría poder acceder a ambos valores. La especificación DOM Core debe actualizarse para abordar el problema.
Por el momento, estoy usando el método de propiedad de objetos de la vieja escuela linkobj.href para devolver las URL absolutas derivadas. Proporciona los resultados más consistentes en todos los navegadores. URL de interés
Como de costumbre, justo cuando estaba terminando esta publicación, encontré este informe de errores en el sitio QuickMode que discute el mismo tema.
getAttribute href es siempre absoluto.html