Recomendado: haga un poco la ventana emergente "obediente" Las ventanas emergentes aparecerán al ingresar a algunos sitios web mientras navegan por Internet. Puede ser un saludo amable del webmaster para usted, o puede ser un anuncio importante del sitio web, anuncios del sitio web, etc. Pero si lo usa mal, hará que las personas se sientan aburridas. Cómo hacer que las ventanas emergentes funcionen sin afectar la navegación
Cuando escribe aplicaciones del lado del servidor que usan ASP, debe confiar en los componentes ActiveX a las funciones de aplicaciones web potentes, tales como: debe conectarse a la base de datos, operar la base de datos en línea, etc.
1. Los componentes de las capacidades del navegador son bien conocidos, y no todos los navegadores admiten todos los aspectos de la tecnología de Internet actual. Hay algunas características que algunos navegadores admiten, pero otros no, como controles ActiveX, transmisiones de imágenes, HTML dinámico, flash y programas de secuencias de comandos. Utilizando el componente de capacidades del navegador de ASP, puede diseñar páginas web inteligentes para presentar contenido en un formato que se adapte al rendimiento del navegador. El componente de capacidades del navegador puede crear un objeto BrowserType que proporcione a los scripts de usuario descripciones funcionales del navegador web cliente. La razón por la cual este componente puede identificar información, como la versión del navegador del cliente, se debe principalmente a que cuando el navegador del cliente envía una solicitud de página al servidor, enviará automáticamente un título HTTP de un agente de usuario, que es una cadena ASCII que declara el navegador y su versión. El componente de capacidades del navegador asigna al agente de usuario al navegador observado en el archivo browscap.ini e identifica el navegador del cliente a través de las propiedades del objeto BrowserType. Si el objeto no puede encontrar un elemento que coincida con el título en el archivo browser.ini, se utilizarán las propiedades predeterminadas del navegador. Si el objeto no tiene una coincidencia encontrada y la configuración predeterminada del navegador se especifica en el archivo browser.ini, establece cada propiedad en la cadena desconocida. De manera predeterminada, el archivo browser.ini se almacena en Windows //// System //// Inersrv (IF 95/98 PWS4) o NT /////// System32 ////////////////////SRRV (IF NT) Directorio. Puede editar este archivo de texto usted mismo para agregar sus propias propiedades o modificar el archivo de acuerdo con el último archivo de actualización de la versión del navegador lanzado. Consulte el siguiente proceso de checkcookie (), use el atributo de cookie del objeto BrowserCap para determinar si el navegador del cliente admite cookies y devuelve información:
| El siguiente es el contenido citado: < % Sub checkcookie () Establecer browserCap = server.CreateObject (mswc.browserType) Si browserCap.cookie = verdadero entonces Respuesta. ¡Escribe tu navegador admite cookies! demás Respuesta. ¡Escribe lo siento, el navegador que estás usando no admite cookies! final si final %> |
2. Componente de acceso a archivos Si tiene la edad suficiente en la red, debe haber visto el libro de visitas CGI en la era del dinosaurio, que es el primer prototipo del libro de visitas web. En ese momento, era muy difícil conectarse a la base de datos de back-end del servidor en aplicaciones web basadas en Internet, por lo que la información histórica en el libro de visitas no se almacenó en la base de datos de backend como lo es hoy. Entonces, ¿dónde se almacenan estos datos? La respuesta es un archivo de texto. El programa CGI puede escribir la información recibida del cliente en un archivo de texto almacenado en el servidor. El archivo puede ser un archivo HTML o un archivo txt, que permite a los programadores guardar la información del cliente sin conectarse a la misma base de datos. Sin embargo, escribir tales programas CGI es muy engorroso. La siguiente lista es la muestra más simple de tales programas:
| El siguiente es el contenido citado: #!/usr/local/bin/perl # Ubicación perl uno su servidor Imprima contenido-type: text/sencillo //// n ///// n; if ($ env {/// 'request_method ///'} eqpost) { leer (stdin, $ buffer, $ env {/// 'content_length ///'}); } elsif ($ env {/// 'request_method ///'} eqget) { $ buffer = $ env {/// 'query_stirng ///'}; } @pares = división (/&/, $ buffer); foreach $ par (@Pairs) { ($ name, $ value) = split (/=/, $ par); $ valor = ~ tr///; $ valor = ~ s/%([AF AF 0-9] [AF AF 0-9])/Pack (C, Hex ($ 1))/Eg; $ Form {$ name} = $ value;} $ file_name = guestbook.txt; #file nombre #Contenido específico Abrir (archivo, >> $ file_name) || Die Error al abrir el archivo; Imprimir hora de grabación de archivos: $ Date //// n ///// n; Imprimir el nombre del archivo: $ form {/// 'name ///'}; Unidad de archivo de impresión: $ form {/// 'compañía ///'} //// n; Imprimir teléfono del archivo: $ form {/// 'teléfono ///'} Imprimir dirección del archivo: $ form {/// 'dirección ///'} //// n; Imprime el código ZIP del archivo: $ form {/// 'zip ///'} Imprime la dirección de correo electrónico del archivo: $ form {/// 'correo electrónico ///'} //// n; Imprimir Comentario de retorno de archivo: $ form {/// 'content ///'} Cerrar (archivo) |
Puede sentir que en comparación con ASP, este tipo de programa CGI es más pobre en legibilidad y operabilidad. Entonces, ¿debe preguntar si ASP también puede escribir archivos directamente en el servidor? La respuesta es, por supuesto, sí. Pero los amigos inteligentes pueden pensar que, dado que la conexión entre ASP y la base de datos web es tan conveniente, ¿por qué necesitamos escribir información del cliente en archivos de texto? ¿No es esta función de ASP extravagante? De hecho, para aquellas aplicaciones web comunes, como libros de visitas y BB, no podemos reemplazar la base de datos con la escritura de archivos de texto en términos de eficiencia de ejecución del programa o facilidad de uso. Sin embargo, escribir archivos de texto en algunos campos de aplicaciones web es un método estándar y relativamente conveniente en comparación con la base de datos. Si está familiarizado con NT, debe saber que NT tiene un mecanismo de seguridad muy potente, que puede guardar automáticamente casi todas las operaciones del servidor e información de conexión en un archivo con el nombre de sufijo .log. De hecho, esta tecnología también se puede utilizar en la web para registrar alguna información de inicio de sesión del cliente. El siguiente programa utiliza la característica de la lectura de ASP y la escritura de archivos de texto para crear una función que registra automáticamente los registros de voz de cada usuario en un programa BBS web.
| El siguiente es el contenido citado: < % Establecer fs = createObject (scripting.filesystemObject) Prevalecimiento = 1 /// 'Abra el archivo en modo de solo lectura. Este archivo no se puede escribir. Forappending = 8 /// 'Abra el archivo y escríbelo al final del archivo. TristateUsedefault = -2 Tristatetrue = -1 TristateFalse = 0/P> /// '------------------------------------------------------------------------------------------------------------------- servermap = server.mappath (/// bbs /// log ////)) /// 'Sistema de mapeo Ruta física temp = servermap & //// & año (fecha) y mes (fecha) y //// /// 'Obtenga la ruta y el tiempo físico del sistema, y use esto como la ruta física almacenada en el archivo de registro Si no fs.folderexists (temp) entonces Fs.CreateFolder (temp) final si /// 'Detección de la existencia de una carpeta, de lo contrario se creará automáticamente Dim syslog Tempname tenuoso tempname = fecha syslog = temp & tempname & .log /// 'El nombre del archivo es E: ///bbs///log///month////month.log li = user &&& now && request.servervariAnbles (remoto_addr) && tempfile &&& Letter && title /// 'El formato de registro de archivo de registro es: nombre de usuario y tiempo de envío de tiempo y usuarios de IP & Archivo y área de carta y carta de carta Si fs.fileExists (syslog) entonces Establecer ss = fs.opeNextFile (syslog, forappending, verdadero) demás establecer ss = fs.createTextFile (syslog, forwriting, falso) final si /// 'Detección de si el archivo de registro existe. Si existe, agregue el contenido del archivo, de lo contrario, escriba el archivo directamente ss.writel (li) ss. /// '------------------------------------------------------------------------------------------------------------------- %> |
Si no comprende completamente el programa anterior, escuche la explicación del autor. El componente de acceso a archivos proporciona métodos y propiedades que se pueden usar para acceder al sistema de archivos de una computadora. Podemos usar el componente de acceso a archivos para crear un objeto FileSystemObject. La primera oración del programa anterior es usar el componente de acceso de archivo para crear una instancia de objeto llamada FS. Después de crear el objeto, puede acceder al archivo a través de él. El objeto no tiene propiedades. Su único significado es crear, abrir o leer y escribir archivos de texto. Hay dos métodos más utilizados para el objeto FileSystemObject, uno se usa para crear archivos y el otro se usa para abrir y leer y escribir archivos de texto. El método CreateTextFile obtiene el nombre del archivo que especificó y crea el archivo. Devuelve un objeto TextStream. Puede usar este objeto para operar el archivo después de que se crea el archivo. La sintaxis del método CreateTextFile es la siguiente:
Establecer objTextStream = filesystemObject.CreateTextFile (nombre de archivo, [sobrescribir], [unicode])
El autor explicará los parámetros del método CreateTextFile a continuación
1. Nombre de archivo Una cadena que contiene el nombre de la ruta del archivo puede ser el nombre de ruta completo del archivo, incluido el nombre de la unidad y el nombre del directorio, o puede ser solo un nombre de archivo. Si solo se incluye el nombre del archivo, el archivo se creará en el directorio raíz del sitio.
2. Sobrescribir la cantidad booleana. Cuando se establece en False, puede evitar que el objeto FileSystemObject elimine los archivos existentes al crear un nuevo archivo. Este parámetro es opcional. Si el sistema no tiene una asignación predeterminada a verdadero, se eliminarán los archivos existentes con el mismo nombre de archivo.
3. Parámetros opcionales unicode. Los valores booleanos indican si crear un archivo en formato de archivo unicode o ASCII. Este valor es verdadero si se crea un archivo en formato de archivo unicode, y falso si se crea un archivo en formato de archivo ASCII. Si se omite esta sección, se supone que se crea un archivo ASCII.
En el programa anterior, usamos SET ss = fs.createTextFile (syslog, forwriting, false) para crear un archivo y escribir un archivo cuando el archivo de registro no existe. Aquí, la escritura significa escribir un archivo.
A diferencia del método CreateTextFile, el método OpenTextFile se usa para obtener el nombre del archivo que especificó y abra el archivo. Usando los parámetros que contiene, podemos realizar varias operaciones en el archivo. Al igual que el método CreateTextFile, el método OpenTextFile devuelve un objeto TextStream, para que pueda operar el archivo después de abrir el archivo. La sintaxis del método OpenTextFile es la siguiente:
Establecer objTextStream = filesystemObject.opentextFile (nombre de archivo, [iomode], [create], [formato])
Los parámetros son los siguientes:
1. El nombre de archivo es la variable necesaria, igual que el nombre de archivo de CreateTextFile
2. Iomode constante opcional, con el valor como una de las siguientes dos constantes prevaleciendo o para apagar. Si el modo es 1, el archivo se abre de solo lectura, y si es 8, el archivo se abre adjunto.
3. Cree una cantidad booleana opcional, especificando qué operación se realiza si el archivo que desea abrir no existe. Si su valor es verdadero, se creará automáticamente un archivo vacío cuando el archivo no exista. Si False, se generará un mensaje de error cuando no se encuentre el archivo. El valor predeterminado es falso. Se recomienda establecerlo en verdadero para evitar verificar los errores al abrir el archivo.
4. Formato de valor opcional, puede seleccionar tres valores de Tristate para especificar el formato del archivo, respectivamente. -2, -1 y 0 corresponden al sistema predeterminado del sistema, Unicode y ASCII, respectivamente.
Después de abrir o crear un archivo de texto, obtendrá un objeto TextStream, que tiene un cursor, al igual que un cursor en un procesador de textos, que indica dónde aparecerá el personaje que va a escribir, y también indica la posición del carácter que va a leer. No puede crear un objeto TextStream a través de CreateObject. La única forma de obtener un objeto TextStream es usar el objeto FileSystemObject para abrir un archivo de texto existente o crear un nuevo archivo como se describe anteriormente.
Las propiedades y métodos del objeto TextStream se enumeran a continuación
Textstream.atendofline solo lectura de lectura booleana, cuando el cursor está al final de la línea actual, su valor es verdadero, de lo contrario es falso
Textstream.atendofstream de solo lectura cantidad booleana, si el cursor está al final de la secuencia, su valor es verdadero, de lo contrario es falso
Textstream.column de solo lectura entera, contando el número de caracteres desde el comienzo de la línea hasta la posición actual del cursor
Textstream.line solo lectura entera que indica el número de línea de la línea del cursor en todo el archivo
Textstream.close () cierre la secuencia y el archivo de texto correspondiente
TextStream.read (num) especifica que se leen un cierto número de caracteres desde el archivo de texto que comienza desde la posición actual del cursor.
Textstream.readall () lee la transmisión completa en una cadena
Textstream.readline () lee una línea completa de caracteres en una cadena
Textstream.write (texto) Escriba una cadena en la transmisión
Textstream.writeline () escribe una cadena de texto en la transmisión
Textstream.skip (num) En una secuencia, mueva la posición del cursor por un cierto número de longitudes de cadena
Textstream.skiplines () En una secuencia, mueva el cursor a un cierto número de filas
Textstream.Writeblank escribe un cierto número de líneas vacías para la transmisión
líneas (num)
Creo que ahora todos pueden sentir las poderosas funciones del componente de acceso al archivo ASP. De hecho, no solo puede escribir algunos archivos de registro, sino también actualizar automáticamente su sitio web sin esfuerzo. Solo necesita transferir el archivo de texto en formato fijo al servidor remoto, leer el archivo a través del componente de acceso al archivo y generar automáticamente una página HTML nueva, sin tener que trabajar duro para actualizar los archivos HTML uno por uno. Si está interesado, puede usar el componente de acceso a archivos de ASP para escribir su propio generador HTML totalmente automático para disfrutar plenamente de la sensación avanzada y fácil de mantener el sitio web.
Compartir: JS Div Simula el dominio de formulario seleccionado Recientemente estaba trabajando en un proyecto AJAX, que utiliza muchos bloqueos de pantalla simulados con una capa de pantalla completa, pero hay un dolor de cabeza, es decir, el cuadro de lista desplegable siempre se mostrará en la capa. Escribí esta clase JS para resolver este problema. Personalmente siento que es fácil de usar. Lo compartiré contigo aquí.