Recomendado: Torne a janela pop-up "obediente" um pouco Os pop -ups aparecerão ao entrar em alguns sites enquanto navegam na Internet. Pode ser uma saudação gentil do webmaster para você, ou pode ser um anúncio importante do site, anúncios do site etc. Mas se você o usar mal, isso fará com que as pessoas se sintam entediadas. Como fazer os pop-ups funcionarem sem afetar a navegação
Quando você escreve aplicativos do lado do servidor usando ASP, você deve confiar nos componentes ActiveX para as funções de aplicativos da Web poderosos, como: você precisa se conectar ao banco de dados, operar o banco de dados on-line, etc.
1. Os componentes dos recursos do navegador são bem conhecidos, e nem todos os navegadores suportam todos os aspectos da tecnologia da Internet de hoje. Existem alguns recursos que alguns navegadores suportam, mas outros não, como controles ActiveX, fluxos de imagem, HTML dinâmico, flash e programas de script. Usando o componente Recursos do navegador do ASP, você pode criar páginas da Web inteligentes para apresentar conteúdo em um formato que se adapte ao desempenho do navegador. O componente Recurso do navegador é capaz de criar um objeto BrowserType que fornece scripts do usuário com descrições funcionais do navegador da web do cliente. A razão pela qual esse componente pode identificar informações como a versão do navegador do cliente é principalmente porque, quando o navegador do cliente envia uma solicitação de página para o servidor, ele enviará automaticamente um título HTTP do agente do usuário, que é uma sequência ASCII que declarará o navegador e sua versão. O componente do Recurso do navegador mapeia o agente do usuário para o navegador observado no arquivo Browscap.ini e identifica o navegador do cliente através das propriedades do objeto BrowserType. Se o objeto não conseguir encontrar um item que corresponda ao título no arquivo navegador.ini, as propriedades do navegador padrão serão usadas. Se o objeto não tiver uma correspondência encontrada e as configurações padrão do navegador forem especificadas no arquivo navegador.ini, ele define cada propriedade para a string desconhecida. Por padrão, o arquivo Browser.ini é armazenado no Windows /// System /// inersrv (se 95/98 PWS4) ou NT /////// System32 ////// inersrv (se nt). Você pode editar este arquivo de texto para adicionar suas próprias propriedades ou modificar o arquivo de acordo com o último arquivo de atualização da versão do navegador lançado. Consulte o seguinte processo CheckCookie (), use o atributo Cookie do objeto BrowserCap para determinar se o navegador do cliente suporta cookies e retorna informações:
| A seguir, o conteúdo citado: < % Sub -checkcookie () SET BrowserCap = Server.CreateObject (MSWC.BrowserType) Se BrowserCap.cookie = true então Response.Write seu navegador suporta cookies! outro Response.Write Desculpe, o navegador que você está usando não suporta cookies! final se final sub %> |
2. Componente de acesso ao arquivo Se você tiver idade suficiente na rede, deve ter visto o livro de visitas CGI na era dos dinossauros, que é o protótipo mais antigo do livro de visitas da web. Naquela época, era muito difícil conectar-se ao banco de dados de back-end do servidor em aplicativos da Web baseados na Internet; portanto, as informações históricas no livro de visitas não foram armazenadas no banco de dados de back-end como é hoje. Então, onde esses dados estão armazenados? A resposta é um arquivo de texto. O programa CGI pode escrever as informações recebidas do cliente em um arquivo de texto armazenado no servidor. O arquivo pode ser um arquivo html ou um arquivo txt, que permite que os programadores salvem as informações do cliente sem se conectar ao mesmo banco de dados. No entanto, escrever esses programas CGI é muito pesado. A lista a seguir é a amostra mais simples de tais programas:
| A seguir, o conteúdo citado: #!/usr/local/bin/perl # Perl localização um seu servidor IMPRIMENTO CONTEÚDO: TEXT/PLANE /// N ///// N; if ($ Env {/// 'request_method ///'} eqpost) { Leia (stdin, $ buffer, $ Env {/// 'Content_Length ///'}); } elsif ($ Env {/// 'request_method ///'} eqget) { $ buffer = $ Env {/// 'Query_stirng ///'}; } @pars = split (//, $ buffer); foreach $ par (@pairs) { ($ nome, $ valor) = dividido (/=/, $ par); $ valor = ~ tr///; $ valor = ~ s/%([AF 0-9] [AF 0-9])/pack (C, Hex ($ 1))/EG; $ Form {$ name} = $ value;} $ FILE_NAME = VIVERSOBOOK.TXT;#Nome do arquivo #Conteúdo Específico Abrir (arquivo, >> $ file_name) || Erro de matriz na abertura do arquivo; Print Argin Frivendo Hora: $ DATE //// N ///// N; Nome do arquivo de impressão: $ form {/// 'name ///'}; Unidade de arquivo de impressão: $ form {// 'Company ///'} //// n; Telefone de impressão: $ form {// 'telefone ///'} Endereço do arquivo de impressão: $ form {/// 'endereço ///'} //// n; IMPRIMENTO DE CEP ANDE: $ FORM {/// 'ZIP ///'} IMPRIMENTO ENDEREÇO DE EMPRENHO DO ARQUIVO DE PRIMEIRA: $ Form {/// 'Email ///'} //// N; Print File Return Comment: $ Form {/// 'Content ///'} fechar (arquivo) |
Você pode sentir que, em comparação com o ASP, esse tipo de programa CGI é mais pobre em legibilidade e operabilidade. Então você deve perguntar se o ASP também pode gravar arquivos diretamente no servidor? A resposta é claro que sim. Mas os amigos inteligentes podem pensar que, como a conexão entre o ASP e o banco de dados da Web é tão conveniente, por que precisamos escrever informações do cliente em arquivos de texto? Esta função não é extravagante do ASP? De fato, para os aplicativos da Web comuns, como livros de visitas e BBs, não podemos substituir o banco de dados por escrever arquivos de texto em termos de eficiência da execução do programa ou facilidade de uso. No entanto, escrever arquivos de texto em alguns campos de aplicativos da Web é um método padrão e relativamente conveniente em comparação com o banco de dados. Se você estiver familiarizado com o NT, deve saber que o NT possui um mecanismo de segurança muito poderoso, que pode salvar automaticamente quase todas as operações do servidor e informações de conexão em um arquivo com o nome do sufixo .Log. De fato, essa tecnologia também pode ser usada na Web para gravar algumas informações de login do cliente. O programa a seguir usa o recurso de arquivos de texto de leitura e gravação do ASP para criar uma função que registre automaticamente os registros de fala de cada usuário em um programa BBS da Web.
| A seguir, o conteúdo citado: < % Set fs = createObject (script.filesystemoBject) Freading = 1 /// 'Abra o arquivo no modo leitura-somente. Este arquivo não pode ser escrito. Forappender = 8 /// 'Abra o arquivo e escreva no final do arquivo. TristateUsedEfault = -2 Tristatetrue = -1 Tristatefalse = 0/p> /// '----------------------------------------------------------------------------------------------------------------------------- servermap = server.mappath (/// bbs /// log ////)) /// 'Caminho físico do sistema de mapeamento temp = servermap & //// ano (data) e mês (data) & ///// /// 'Obtenha o caminho físico e o tempo do sistema e use -o como o caminho físico armazenado no arquivo de log se não fs.polderexists (temp), então fs.createfolder (temp) final se /// 'Detecção da existência de uma pasta, caso contrário, será criada automaticamente Dim syslog Dim TempName tempname = data syslog = temp & tempname & .log /// 'O nome do arquivo é e: ////bbs//log///month///month.log li = usuário && agora && request.servervariables (remote_addr) && tempfile && letra && title /// 'Formato de registro do arquivo de log é: nome de usuário e tempo de envio e IP do usuário e caminho do arquivo e área de carta e título de carta Se FS.FileExists (syslog), então Set ss = fs.opentExtfile (syslog, forapinging, true) outro set ss = fs.createTextFile (syslog, forwriting, false) final se /// 'Detecção se o arquivo de log existe. Se existir, adicione o conteúdo do arquivo, caso contrário, escreva o arquivo diretamente ss.writeLine (li) ss.close /// '----------------------------------------------------------------------------------------------------------------------------- %> |
Se você não entende completamente o programa acima, ouça a explicação do autor. O componente de acesso ao arquivo fornece métodos e propriedades que podem ser usados para acessar o sistema de arquivos de um computador. Podemos usar o componente de acesso ao arquivo para criar um objeto FileSystemObject. A primeira frase do programa acima é usar o componente de acesso ao arquivo para criar uma instância de objeto chamada fs. Depois que o objeto for criado, você pode acessar o arquivo através dele. O objeto não tem propriedades. Seu único significado é criar, abrir, ler e gravar arquivos de texto. Existem dois métodos mais usados para o objeto FileSystemObject, um é usado para criar arquivos e o outro é usado para abrir, ler e gravar arquivos de texto. O método CreateTextFile obtém o nome do arquivo que você especificou e cria o arquivo. Ele retorna um objeto Textstream. Você pode usar este objeto para operar o arquivo após a criação do arquivo. A sintaxe do método CreateTextFile é o seguinte:
Definir objTextStream = filesystemobject.createTextFile (nome do arquivo, [substituição], [unicode])
O autor explicará os parâmetros do método CreateTeTextFile abaixo
1. Nome do arquivo Uma string que contém o nome do caminho do arquivo pode ser o nome do caminho completo do arquivo, incluindo o nome da unidade e o nome do diretório, ou pode ser apenas um nome de arquivo. Se apenas o nome do arquivo estiver incluído, o arquivo será criado no diretório raiz do site.
2. Subscrever a quantidade booleana. Quando definido como false, ele pode impedir que o objeto FileSystemObject exclua os arquivos existentes ao criar um novo arquivo. Este parâmetro é opcional. Se o sistema não tiver um padrão de atribuição para true, os arquivos existentes com o mesmo nome do arquivo serão excluídos.
3. Parâmetros opcionais unicode. Os valores booleanos indicam se deve criar um arquivo no formato de arquivo Unicode ou ASCII. Este valor é verdadeiro se um arquivo for criado no formato de arquivo Unicode e false se um arquivo for criado no formato do arquivo ASCII. Se esta seção for omitida, supõe -se que um arquivo ASCII seja criado.
No programa anterior, usamos set ss = fs.createTextFile (syslog, forwriting, false) para criar um arquivo e escrever um arquivo quando o arquivo de log não existir. Aqui, formar significa escrever um arquivo.
Ao contrário do método CreateTextFile, o método OpenTextFile é usado para obter o nome do arquivo especificado e abrir o arquivo. Usando os parâmetros que ele contém, podemos executar várias operações no arquivo. Como o método CreateTextFile, o método OpenTextFile retorna um objeto Textstream, para que você possa operar o arquivo após a abertura do arquivo. A sintaxe do método OpenTextFile é o seguinte:
Definir objTextStream = filesystemObject.opentExtFile (nome do arquivo, [iomode], [create], [formato])
Os parâmetros são os seguintes:
1. O nome do arquivo é a variável necessária, igual ao nome do arquivo do CreateTextFile
2. Constantes opcionais do Ioma, com o valor como um dos dois seguintes constantes forreia ou forpendendo. Se o modo for 1, o arquivo será aberto somente leitura e se tiver 8 anos, o arquivo será aberto anexado.
3. Crie quantidade booleana opcional, especificando qual operação é feita se o arquivo que você deseja abrir não existir. Se seu valor for verdadeiro, um arquivo vazio será criado automaticamente quando o arquivo não existir. Se false, uma mensagem de erro será gerada quando o arquivo não for encontrado. O valor padrão é falso. Recomenda -se configurá -lo como True para evitar a verificação de erros ao abrir o arquivo.
4. Formato Valor opcional, você pode selecionar três valores Tristate para especificar o formato do arquivo, respectivamente. -2, -1 e 0 correspondem ao padrão do sistema, Unicode e ASCII, respectivamente.
Depois de abrir ou criar um arquivo de texto, você obtém um objeto Textstream, que possui um cursor, assim como um cursor em um processador de texto, indicando onde o personagem que você digitará aparecerá e também indica a posição do caractere que você vai ler. Você não pode criar um objeto TextStream através do CreatObject. A única maneira de obter um objeto Textstream é usar o objeto FileSystemObject para abrir um arquivo de texto existente ou criar um novo arquivo, conforme descrito anteriormente.
As propriedades e métodos do objeto Textstream estão listados abaixo
Textstream.atendofline somente leitura Quantidade booleana, quando o cursor está no final da linha atual, seu valor é verdadeiro, caso contrário, é falso
Textstream.atendofstream somente leitura Quantidade booleana, se o cursor estiver no final do fluxo, seu valor será verdadeiro, caso contrário, é falso
Textstream.column somente leitura inteira, contando o número de caracteres desde o início da linha até a posição atual do cursor
TextStream.Line somente leitura Inteiro indicando o número da linha da linha do cursor em todo o arquivo
Textstream.close () feche o fluxo e o arquivo de texto correspondente
TextStream.read (num) Especifica que um certo número de caracteres é lido no arquivo de texto, começando pela posição atual do cursor.
Textstream.readall () lê o fluxo inteiro em uma string
Textstream.readline () lê toda uma linha de caracteres em uma string
Textstream.write (text) escreva uma string no fluxo
TextStream.WriteLine () grava uma sequência de texto no fluxo
Textstream.skip (num) em um fluxo, mova a posição do cursor por um certo número de comprimentos de string
Textstream.skiplines () em um fluxo, mova o cursor para um certo número de linhas
Textstream.writeblank escreve um certo número de linhas vazias no fluxo
Linhas (NUM)
Acredito que todos agora possam sentir as poderosas funções do componente de acesso a arquivos ASP. De fato, ele pode não apenas escrever alguns arquivos de log, mas também atualizar automaticamente seu site sem nenhum esforço. Você só precisa transferir o arquivo de texto em formato fixo para o servidor remoto, ler o arquivo através do componente de acesso ao arquivo e gerar automaticamente uma nova página HTML, sem precisar trabalhar duro para atualizar os arquivos HTML um por um. Se você estiver interessado, pode usar o componente de acesso ao arquivo da ASP para escrever seu próprio gerador HTML totalmente automático para aproveitar completamente a sensação avançada e fácil de manter o site.
Compartilhar: o JS Div simula o domínio de seleção de formulário Recentemente, eu estava trabalhando em um projeto Ajax, que usa muitos bloqueios de tela simulados com uma camada de tela inteira, mas há uma dor de cabeça, ou seja, a caixa de listagem suspensa sempre será exibida na camada. Eu escrevi esta classe JS para resolver esse problema. Pessoalmente, sinto que é fácil de usar. Vou compartilhar com você aqui.