ejemplos javascript html window location host

javascript - ejemplos - window location pathname



location.host vs location.hostname y compatibilidad entre navegadores? (6)

El host solo incluye el número de puerto si hay uno especificado. Si no hay un número de puerto específicamente en la URL, entonces devuelve lo mismo que el nombre de host. Usted elige si le interesa que coincida con el número de puerto o no. Consulte https://developer.mozilla.org/en/window.location para obtener más información.

Supongo que desea que el nombre de host solo obtenga el nombre del sitio.

Cuál de estos es el más efectivo, ya que comprueba si el agente de usuario accede a través del dominio correcto.

Nos gustaría mostrar una pequeña advertencia de estilo "barra superior" basada en js si están accediendo al dominio mediante algún tipo de proxy web (ya que tiende a romper el js).

Estábamos pensando en utilizar lo siguiente:

var r = /.*domain/.com$/; if (r.test(location.hostname)) { // showMessage ... }

Eso cuidaría de cualquier subdominio que utilicemos.

¿Qué debemos usar host o nombre de host?

En Firefox 5 y Chrome 12:

console.log(location.host); console.log(location.hostname);

.. muestra lo mismo para ambos.

¿Es porque el puerto no está realmente en la barra de direcciones?

W3Schools dice que el host contiene el puerto.

¿Debería validarse location.host/hostname o podemos estar bastante seguros en IE6 + y en todos los demás que existirá?



Si está insistiendo en usar window.location.origin , puede poner esto en la parte superior de su código antes de leer el origin

if (!window.location.origin) { window.location.origin = window.location.protocol + "//" + window.location.hostname + (window.location.port ? '':'' + window.location.port: ''''); }

Solution

PS: Para el registro, en realidad era la pregunta original. Probablemente ya lo hayan editado. :)


Solo para agregar una nota que el navegador Google Chrome tiene atributo de origen para la ubicación. que le da el dominio completo desde el protocolo hasta el número de puerto como se muestra en la siguiente captura de pantalla.


Su pregunta principal ha sido respondida anteriormente. Solo quería señalar que la expresión regular que estás usando tiene un error. También tendrá éxito en foo-domain.com que no es un subdominio de domain.com

Lo que realmente quieres es esto:

/(^|/.)domain/.com$/


Como una pequeña nota: la

-

En resumen (asumiendo una ubicación de http://example.org:8888/foo/bar#bang ):

  • hostname te da example.org
  • host te da example.org:8888