Existem duas maneiras de obter parâmetros de barra de endereço em JS: a primeira é usar expressões regulares para obter parâmetros da barra de endereço, e o segundo é um método relativamente tradicional. Aqui, o editor recomenda fortemente o uso do primeiro método, que é conveniente e prático. Consulte os detalhes abaixo para o processo de implementação específico.
Método 1: Use expressões regulares para obter parâmetros da barra de endereço: (altamente recomendado, prático e conveniente!)
função getQueryString (nome) {var reg = new regexp ("(^| &)" + name + "= ([^&]*) (& | $)"); var r = window.Location.Search.substr (1) .match (reg); if (r! = null) retornar (r! retornar nulo;}// Método de chamada
alerta (getQuerystring ("nome do parâmetro 1"));
alerta (getQueryString ("nome do parâmetro 2"));
alerta (getQuerystring ("nome do parâmetro 3"));
Aqui está um exemplo:
Se o URL da barra de endereços for: abc.html? Id = 123 & url = http: //www.maidq.com
Então, mas você usa o método acima para chamar: alert (getQueryString ("url"));
Uma caixa de diálogo será exibida: o conteúdo é http://www.maidq.com
Se você usar: alerta (getQueryString ("id")); Então o conteúdo pop-up é 123;
Obviamente, se você não passa parâmetros, por exemplo, se seu endereço for abc.html e não houver parâmetro depois, se o resultado da chamada de saída forçada às vezes relatará um erro:
Portanto, precisamos adicionar um julgamento para determinar se o parâmetro que solicitamos está vazio e primeiro atribua o valor a uma variável:
var myurl = getQueryString ("url"); if (myurl! = null && myurl.tostring (). comprimento> 1) {alert (getQueryString ("url"));}Dessa forma, você não relatará um erro!
Método 2: Método tradicional
<script type = "text/javascript"> function urlsearch () {var name, value; var str = local.href; // Obtenha a barra de endereço inteira var num = str.indexOF ("?") Str = str.substr (num+1); // obtenha todos os parâmetros stringvar.substr (start [, comprimento] var arr = str.split ("&"); // coloque cada parâmetro na matriz para (var i = 0; i <arr.length; i ++) {num = ar [i] .indexOf ("="); if (num> 0) { nome = arr [i] .substring (0, num); value = arr [i] .substr (num+1); este [nome] = value;}}} var request = new UrlSearch ();Por exemplo, salve este código como 1.html
Então eu quero acessar 1.html? Id = teste
Neste momento, o valor do teste é obtido
Chamado em html
<script type = "text/javascript"> var a = "http://baidu.com"; </script> </adhead> <body> <a id = "a1" href = ""> sadfsdfas </a> <cript> var a1 = documentElementById/"a1"); a1.href = var a = "http://xxx.com/gg.htm?cctv"; var s = A.IndexOF ("?"); var t = a.substring (s+1); // t é o que vem depois dele </cript>stringvar.substr (start [, comprimento]
Retorna uma substring do comprimento especificado a partir da posição especificada.
stringvar
Opção necessária. Um objeto literal ou string de string para extrair uma substring.
começar
Opção necessária. A posição inicial da substring necessária. O índice do primeiro caractere na string é 0.
comprimento
Opcional. O número de caracteres que devem ser incluídos na substring retornada.
Se o comprimento for 0 ou negativo, uma corda vazia será retornada. Se este parâmetro não for especificado, a substring continuará até o final do Stringvar.
Aqui estão alguns parâmetros relacionados:
str.tolowerCase () se converte em minúsculas
str.TOUPPERCASE () Todas as cordas são convertidas em maiúsculas
URL é: Localizador de Recursos Uniformes (URL)
O URL completo consiste nessas partes:
Esquema: // Host: Port/Path? Consulta#Fragment
Esquema: Protocolo de Comunicação
Comumente usado http, ftp, maito, etc.
Host: Host
Sistema de nomes de domínio do servidor (computador) Nome do host ou endereço IP.
Porta: número da porta
Inteiro, opcional, quando omitido, a porta padrão do esquema é usada, como a porta padrão do HTTP é 80.
Caminho: caminho
Uma sequência separada por símbolos zero ou múltiplos "/" é geralmente usada para representar um diretório ou endereço de arquivo no host.
Consulta: consulta
Opcionalmente, ele é usado para passar parâmetros para páginas dinâmicas da Web (como páginas da web fabricadas usando CGI, ISAPI, PHP/JSP/ASP/ASP.NET e outras tecnologias). Pode haver vários parâmetros, separados pelo símbolo "&", e o nome e o valor de cada parâmetro são separados pelo símbolo "=".
fragmento: fragmento de informação
Uma string que especifica fragmentos em um recurso de rede. Por exemplo, existem várias explicações substantivas em uma página da web e você pode usar o fragmento para localizar diretamente um determinado termo explicação. (Também conhecido como pontos de ancoragem.)
Para tal URL
http://www.maidq.com/index.html?ver=1.0&id=6#imhere
Podemos obter as várias partes dele em JavaScript
1, Window.Location.href
Toda a string de URL (a barra de endereço completa no navegador)
Valor de retorno neste exemplo: http://www.maidq.com/index.html?ver=1.0&id=6#imhere
2, Window.Location.protocol
A parte do protocolo do URL
Este exemplo retorna o valor: http:
3, Window.Location.Host
A parte anfitriã do URL
Valor de retorno neste exemplo: www.maidq.com
4, Window.Location.port
A parte da porta do URL
Se a porta 80 padrão for usada (atualização: mesmo se: 80 for adicionado), o valor de retorno não será o padrão 80, mas o personagem vazio
Este exemplo retorna o valor: ""
5, Window.Location.PathName
A parte do caminho do URL (que é o endereço do arquivo)
Este exemplo retorna o valor: /fisker/post/0703/window.location.html
6, Window.Location.Search
Parte de consulta (parâmetros)
Além de atribuir valores a linguagens dinâmicas, também podemos fornecer páginas estáticas e usar JavaScript para obter o valor do parâmetro que se acredita ser.
Valor de retorno neste exemplo :? ver = 1.0 & id = 6
7, Window.Location.hash
Ponto de ancoragem
Valor de retorno neste exemplo: #imhere
O exposto acima é a descrição completa dos dois métodos (simples e práticos) do JS para obter parâmetros da barra de endereço introduzidos pelo editor. Espero que seja útil para todos. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a todos a tempo. Muito obrigado pelo seu apoio ao site wulin.com!