Tengo una simple .htm página web alojados en diferentes carpetas para el manejo de diferentes idiomas.

default.htm dentro en la carpeta (en\default.htm y de\default.htm y así sucesivamente)

Necesito para redireccionar a una página web específica basada en el parámetro de URL, es decir, si el usuario tenía

especificado http://localhost/website/default.htm?lang=de, tengo que remiten a la

de\default.htm archivo. es decir, un alemán de la página web.

habían sido las páginas ASPX me hubiera hecho el trabajo fácilmente con ResourceManager

y apropiado .archivo resx el uso de la Solicitud.QueryString opción .NET

BCL. Sin embargo desde que estoy usando HTML de la página no tengo una experiencia para escribir un cliente

lado de script como javascript para consulta de los parámetros de URL y redirigir al usuario a la

página requerida.

Pregunta :

¿Alguien puede guiarme ¿cómo puedo lograr el mismo uso de cualquier forma de secuencias de cliente para

lograr la redirección ?? Y donde puedo invocar la función de secuencia de comandos ?

yo.e consulta el parámetro para cada post evento.??

Gracias una tonelada

InformationsquelleAutor this-Me | 2012-08-06

3 Comentarios

  1. 3

    Puede utilizar javascript para obtener una lista de parámetros con bastante facilidad con la siguiente línea.

    var paramArray = window.location.search.substring(1).split("&")

    Esto va a crear una matriz de los parámetros de la cadena de consulta. Desde allí sólo se necesita añadir la lógica para encontrar el parámetro que se especifica en tu pregunta y tomar la correspondiente redirigir el uso de

    window.location.href = 'some URL'; //causes the browser to refresh with the new URL

    Ejemplo:

    function getQueryStringArray(){
        var assoc=[]; 
        var items = window.location.search.substring(1).split('&'); 
        for(var j = 0; j < items.length; j++) { 
           var a = items[j].split('='); assoc[a[0]] = a[1]; 
        }
        return assoc;
    }
    
    //point at which you want to determine redirection
    var qs = getQueryStringArray();
    var url = '';
    if (qs.lang !== 'undefined' && qs.lang) {
       switch (qs.lang) {
          case 'en':
             url = 'blah';
             break;
          case 'de': 
             url = 'meh';
             break;
       }
       window.location.href = url; //reroute
     }
    • Conseguir una redirección de error en Mozilla … dice Firefox no sabe cómo abrir esta dirección, porque el protocolo (d) no está asociado con ningún programa.
    • Esto significa que no es un código de problema de mate. Es un formato de dirección URL problema. Compruebe el formato de la Url. support.mozilla.org/en-US/kb/…
  2. 2

    Ver en cómo analizar los parámetros de cadena de consulta usando jQuery ¿Cómo puedo obtener valores de cadena de consulta en JavaScript?

    Entonces usted puede redirigir a otra página con ventana.ubicación

    Algo como esto

    <script>
        $(document).ready(function(){
       var p = getParameterByName("lang");
       var rootUrl = "yourRootUrl";
        var url = rootUrl + p + '/default.htm';
       window.location = url;
    });
    </script>

    No jQuery

    <script>
         (function(){
              var p = getParameterByName("lang");
              var rootUrl = "yourRootUrl/";
              var url = rootUrl + p + '/default.htm';
              window.location = url;
         }());
    </script>
    • No lo es, pero no estaba especificado que jQuery no es ser utilizado. Es sólo otra opción. También, estoy aprovechando una solución existente de S. O y no reinventar la rueda.
    • No se trata de reinventar la rueda, se trata de dos cosas: 1) OP no’ pregunte cómo hacerlo en el uso de jQuery. 2) la respuesta le obliga a incorporar una totalmente nueva de la biblioteca para apoyar a este lenguaje de reasignación de bits.
  3. 0

    El siguiente debe hacerlo para usted. Basta con ponerla en <script></script> etiquetas.

    //Locate "lang=...." in the url using regex;
    var a = /[\?&]lang=([^\/&#\?]+)/i.exec(window.location.pathname);
    //check if the regex matched
    if (a) {
        //If so, redirect the user
        window.location.href = "http://localhost/website/" + a[1] + "/index.htm";
    }

    Esto le ahorrará de tener un bucle a través de la url, pero requiere una comprensión básica de cómo regexp obras.

Dejar respuesta

Please enter your comment!
Please enter your name here