Un día, de repente pensé: ¿no sería maravilloso si cada vez que visitara un sitio web pudiera acceder inmediatamente a la información que necesitaba ver? Luego quise pensar más profundamente en esto, sentándome en una silla con un lápiz y sin saber lo que estaba escribiendo. En este caso, todavía tengo que ocuparme de codificarlos.
??Mi amigo abrió un pequeño sitio, que fue diseñado originalmente por mí. Esta es una buena plataforma para probar mis ideas. Entonces escribí el código y cargué el archivo. Es realmente emocionante, el programa funciona perfectamente y también demuestra que mi idea es realmente buena.
??He leído algunos informes sobre tendencias de usuarios de Internet antes y hay en ellos un patrón que me impresionó profundamente. Se dice que la mayoría de los usuarios abandonarán el sitio inmediatamente si no pueden encontrar lo que necesitan con tres clics. Mi código puede resolver este problema y garantizar que los usuarios puedan encontrar el objetivo con solo un clic del mouse. En mi ejemplo, supongamos que un usuario inicia sesión en Yahoo y busca Accesorios para chimeneas (accesorios para equipos de vuelo). En los resultados proporcionados, cuando visite el sitio de mi amigo, verá una pantalla con palabras como "Estás buscando accesorios para chimenea". Luego seguirá las indicaciones del sitio web e irá directamente a la página que desea.
??El primer paso que debe hacer es crear una variable inicial en el archivo global.asa y colocarla en su programa Sub Session_onStart().
??Sub sesión_onStart()
?? Referencia = Recortar (Request.ServerVariables ("HTTP_REFERER"))
??Si Referer = "" Entonces
??Referente = "Ninguno"
?? Terminar si
??Sesión("Referente") = Referente
??End Sub
??Entonces veamos cómo completar las funciones principales del programa.
??Debido a que la URL ha sido codificada, primero debemos restaurar los datos de señalización del host del visitante en algo que nos resulte útil. Cree una página ASP, llámela decode.asp, que es la columna vertebral de nuestro programa. La primera función es decodificar el encabezado señalador codificado. El procedimiento es un poco largo y muy sencillo, sin andarse con rodeos. Si le resulta problemático, también puede ir al "Curso de formación de gusanos de Internet" en www.popunet.com para encontrar este artículo y utilizarlo. Método "copiar/pegar".
??Lo segundo que debemos hacer en el código fuente
es separar la parte de la consulta de la información del encabezado de la URL; esto es lo que necesitamos.
'Separe los campos de consulta de la URL señalada.
?La función esProducto(pStr)
?? Si pStr <> "" y lCase(pStr) <> "ninguno" Entonces
?? 'Buscar campo hacia atrás
??temp = inStrRev(pStr, "/")
?? 'Obtener la ubicación de separación de directorios
?? tempStr = Derecha(pStr, temp)
?? 'Obtener la longitud de datos relevante
?? temp2 = Len(pStr)
?? 'Obtener filas de datos de consulta
??pStr = Medio(pStr, temp, temp2)
?? 'Establece el valor de la función de retorno
?? esProducto = pStr
??Demás
??esProducto = ""
??Fin si
?Función final
?? El siguiente paso es establecer criterios claros para la búsqueda. Para lograr este propósito, cree dos "punteros" de espacios estáticos para encontrar los datos a los que apunta el
Buscador de funciones (byRef prodList, byVal refList)
??'consulta difusa
??ListaRef = lCase(ListaRef)
??' Recorre los punteros para encontrar campos coincidentes
??Para i = 0 Para uBound(prodList) - 1
??Si inStr(refList, lCase(prodList(i, 0))) Entonces
??'Encontrar una coincidencia
??tHolder = tHolder & "¿Estás buscando" _
??& "" _
??& ListaProd(i, 0) & "
??"
??Fin si
??'Segundo bucle
??Próximo
??'devolver resultado
??Finder = Función tHolderEnd
??A través de un inclue, coloque el decode.asp que preparamos en cualquier página que necesite esta función y listo.
Los detalles son los siguientes:
'Si el encabezado señalador no está vacío, llame a esta función If lCase(Session("Referer")) <> "none" OR Session("Referer") <> "" Then' Analiza los datos señalados Respuesta.Escribir vbCrLf & "
??" _ & Finder(pArray, URLDecode(isProduct(Session("Referer")))) _ & "
??" & vbCrLf
??Fin si