Recommandé: rendre la fenêtre pop-up "obéissante" un peu Les fenêtres populaires apparaîtront lors de la saisie de certains sites Web lors de la navigation sur Internet. Cela peut être une gentille salutation du webmaster pour vous, ou cela peut être une annonce importante du site Web, des publicités de site Web, etc. Mais si vous l'utilisez mal, cela fera que les gens s'ennuient. Comment faire fonctionner les pop-ups sans affecter la navigation
Lorsque vous écrivez des applications côté serveur à l'aide d'ASP, vous devez compter sur les composants ActiveX vers des fonctions de puissantes applications Web, telles que: vous devez vous connecter à la base de données, faire fonctionner la base de données en ligne, etc.
1. Les composants des capacités du navigateur sont bien connus, et tous les navigateurs ne prennent pas en charge tous les aspects de la technologie Internet d'aujourd'hui. Il existe certaines fonctionnalités que certains navigateurs prennent en charge, mais d'autres ne le font pas, comme les contrôles ActiveX, les flux d'images, les programmes dynamiques HTML, Flash et Scripting. En utilisant le composant Capacités du navigateur d'ASP, vous pouvez concevoir des pages Web intelligentes pour présenter du contenu dans un format qui convient aux performances du navigateur. Le composant Capacités du navigateur est capable de créer un objet BrowserType qui fournit des scripts utilisateur avec des descriptions fonctionnelles du navigateur Web client. La raison pour laquelle ce composant peut identifier des informations telles que la version du navigateur client est principalement parce que lorsque le navigateur client envoie une demande de page au serveur, il enverra automatiquement un titre d'agent utilisateur HTTP, qui est une chaîne ASCII déclarant le navigateur et sa version. Le composant des capacités du navigateur mappe l'agent utilisateur au navigateur noté dans le fichier BrowsCap.ini et identifie le navigateur client via les propriétés de l'objet BrowserType. Si l'objet ne peut pas trouver un élément qui correspond au titre dans le fichier Browser.ini, les propriétés du navigateur par défaut seront utilisées. Si l'objet n'a ni une correspondance trouvée et que les paramètres du navigateur par défaut sont spécifiés dans le fichier Browser.ini, il définit chaque propriété sur la chaîne inconnue. Par défaut, le fichier Browser.ini est stocké dans le répertoire Windows /// System /////rsrv (IF 95/98 PWS4) ou nt ////// System32 ////// INERSRV (IF NT). Vous pouvez modifier ce fichier texte vous-même pour ajouter vos propres propriétés ou modifier le fichier en fonction du dernier fichier de mise à jour de la version du navigateur publié. Veuillez consulter le processus CheckCooKie () suivant, utilisez l'attribut cookie de l'objet Browsercap pour déterminer si le navigateur client prend en charge les cookies et les informations de retour:
| Ce qui suit est le contenu cité: <% Sub Checkcookie () SET BROWSERCAP = Server.CreateObject (MSWC.BrowserType) Si browsercap.cookie = true alors Response. Écrivez votre navigateur prend en charge les cookies! autre Response.Write Désolé, le navigateur que vous utilisez ne prend pas en charge les cookies! terminer si Sub-Sub %> |
2. Composant d'accès aux fichiers Si vous êtes assez vieux dans le réseau, vous devez avoir vu le livre d'or CGI dans l'ère Dinosaur, qui est le premier prototype du livre d'or. À cette époque, il était très difficile de se connecter à la base de données du serveur Backend dans les applications Web basées sur Internet, de sorte que les informations historiques du livre d'or ont été stockées dans la base de données backend telle qu'elle est aujourd'hui. Alors, où ces données sont-elles stockées? La réponse est un fichier texte. Le programme CGI peut écrire les informations reçues du client dans un fichier texte stocké sur le serveur. Le fichier peut être un fichier HTML ou un fichier TXT, qui permet aux programmeurs d'enregistrer les informations client sans se connecter à la même base de données. Cependant, la rédaction de ces programmes CGI est très encombrant. La liste suivante est l'échantillon le plus simple de ces programmes:
| Ce qui suit est le contenu cité: #! / usr / local / bin / perl # Perl Emplacement un votre serveur Imprimer le contenu-type: texte / plaine //// n ///// n; if ($ env {/// 'request_method ///'} eqpost) { read (stdin, $ buffer, $ env {/// 'content_length ///'}); } elsif ($ env {/// 'request_method ///'} eqget) { $ buffer = $ env {/// 'query_stirng ///'}; } @ paires = Split (/ & /, $ buffer); foreach $ pair (@pairs) { ($ name, $ value) = split (/ = /, $ pair); $ valeur = ~ tr / //; $ value = ~ s /% ([af af 0-9] [af af 0-9]) / pack (c, hex (1 $)) / par exemple; $ Form {$ name} = $ valeur;} $ file_name = gattebook.txt; #file nom # Contenu spécifique Ouvrir (fichier, >> $ file_name) || Die Error en ouvrant le fichier; Heure d'enregistrement des fichiers d'impression: $ date //// n ///// n; Nom du fichier d'impression: $ form {/// 'name ////'}; Unité de fichier d'impression: $ form {/// 'Company ///'} //// n; Téléphone de fichier d'impression: $ form {/// 'téléphone ///'} Adresse du fichier d'impression: $ form {/// 'adresse ///'} //// n; Imprimer le code postal du fichier: $ form {/// 'zip ///'} Imprimer l'adresse e-mail du fichier: $ form {/// 'email ///'} //// n; Renvoi du fichier d'impression Commentaire: $ form {/// 'Contenu ///'} Fermer (fichier) |
Vous pouvez sentir que par rapport à l'ASP, ce type de programme CGI est plus pauvre en matière de lisibilité et d'opérabilité. Ensuite, vous devez vous demander si ASP peut également écrire des fichiers directement sur le serveur? La réponse est bien sûr oui. Mais les amis intelligents peuvent penser que puisque la connexion entre ASP et la base de données Web est si pratique, pourquoi devons-nous rédiger des informations clients dans des fichiers texte? Cette fonction d'ASP n'est-elle pas extravagante? En effet, pour les applications Web courantes telles que les livres d'hôtes et les BB, nous ne pouvons pas remplacer la base de données par la rédaction de fichiers texte en termes d'efficacité d'exécution de programme ou de facilité d'utilisation. Cependant, la rédaction de fichiers texte dans certains champs d'application Web est à la fois une méthode standard et relativement pratique par rapport à la base de données. Si vous connaissez NT, vous devez savoir que NT a un mécanisme de sécurité très puissant, qui peut enregistrer automatiquement presque toutes les opérations du serveur et les informations de connexion dans un fichier avec le nom de suffixe .log. En fait, cette technologie peut également être utilisée sur le Web pour enregistrer certaines informations de connexion client. Le programme suivant utilise la fonctionnalité des fichiers texte de lecture et d'écriture ASP pour créer une fonction qui enregistre automatiquement les enregistrements de la parole de chaque utilisateur dans un programme BBS Web.
| Ce qui suit est le contenu cité: <% Set fs = createObject (scripting.fileSystemObject) Forreading = 1 /// "Ouvrez le fichier en mode en lecture seule. Ce fichier ne peut pas être écrit. Pour une apprentissage = 8 /// "Ouvrez le fichier et écrivez-le à la fin du fichier. TristateUsefault = -2 TriStateTrue = -1 TRISTATEFALSE = 0 / P> /// '----------------------------------------------------------------------------------------------------------------------- servermap = server.mappath (/// bbs /// log /////)) /// 'Mapping System Physical Chemin temp = servermap & //// & année (date) & Mois (date) & ///// /// 'Obtenez le chemin et le temps physique du système et utilisez-le comme chemin physique stocké dans le fichier journal Si ce n'est pas Fs.folderexists (temp) alors Fs.CreateFolder (TEMP) terminer si /// 'détection de l'existence d'un dossier, sinon il sera automatiquement créé sombre syslog Tempname DIM tempname = date syslog = temp & tempname & .log /// 'Le nom du fichier est e: ///bbs///log///month////month.log li = user &&& maintenant && request.servervariables (reote_addr) && tempfile &&& lettre && title /// 'Le format d'enregistrement du fichier journal est: Nom d'utilisateur et envoi de l'heure et de l'utilisateur IP & Fichier Path & Letter Area & Letter Titre Si fs.fileexists (syslog) alors SET SS = FS.OPENEXTFILE (SYSLOG, FORPENSE, TRUE) autre set ss = fs.createtextfile (syslog, forwriting, false) terminer si /// Détection si le fichier journal existe. S'il existe, ajoutez le contenu du fichier, sinon écrivez le fichier directement SS.WriteLine (Li) SS.CLOSE /// '----------------------------------------------------------------------------------------------------------------------- %> |
Si vous ne comprenez pas pleinement le programme ci-dessus, veuillez écouter l'explication de l'auteur. Le composant d'accès aux fichiers fournit des méthodes et des propriétés qui peuvent être utilisées pour accéder au système de fichiers d'un ordinateur. Nous pouvons utiliser le composant d'accès aux fichiers pour créer un objet FileSystemObject. La première phrase du programme ci-dessus consiste à utiliser le composant d'accès au fichier pour créer une instance d'objet nommée FS. Une fois l'objet créé, vous pouvez accéder au fichier via lui. L'objet n'a pas de propriétés. Sa seule signification est de créer, ouvrir ou lire et écrire des fichiers texte. Il existe deux méthodes les plus couramment utilisées pour l'objet FileSystemObject, l'un est utilisé pour créer des fichiers, et l'autre est utilisé pour ouvrir et lire et écrire des fichiers texte. La méthode CreateTextFile obtient le nom de fichier que vous avez spécifié et crée le fichier. Il renvoie un objet TextStream. Vous pouvez utiliser cet objet pour utiliser le fichier après la création du fichier. La syntaxe de la méthode CreateTextFile est la suivante:
Définir objTextStream = FileSystemObject.CreateTextFile (nom de fichier, [écraser], [Unicode])
L'auteur expliquera les paramètres de la méthode CreateTextFile ci-dessous
1. Nom de fichier Une chaîne contenant le nom du chemin de fichier peut être le nom du chemin complet du fichier, y compris le nom du lecteur et le nom du répertoire, ou il peut être juste un nom de fichier. Si seul le nom du fichier est inclus, le fichier sera créé dans le répertoire racine du site.
2. Écraser la quantité booléenne. Lorsqu'il est défini sur False, il peut empêcher l'objet FileSystemObject de supprimer les fichiers existants lors de la création d'un nouveau fichier. Ce paramètre est facultatif. Si le système n'a pas de cas d'attribution par défaut, les fichiers existants avec le même nom de fichier seront supprimés.
3. Paramètres facultatifs UNICODE. Les valeurs booléennes indiquent s'il faut créer un fichier au format de fichier Unicode ou ASCII. Cette valeur est vraie si un fichier est créé au format de fichier Unicode, et faux si un fichier est créé au format de fichier ASCII. Si cette section est omise, un fichier ASCII est supposé être créé.
Dans le programme précédent, nous utilisons Set SS = fs.CreateTextFile (syslog, ForWriting, False) pour créer un fichier et écrire un fichier lorsque le fichier journal n'existe pas. Ici, pour l'écriture signifie écrire un fichier.
Contrairement à la méthode CreateTextFile, la méthode OpenTextFile est utilisée pour obtenir le nom de fichier que vous avez spécifié et ouvrir le fichier. En utilisant les paramètres qu'il contient, nous pouvons effectuer diverses opérations sur le fichier. Comme la méthode CreateTextFile, la méthode OpenTextFile renvoie un objet TextStream, afin que vous puissiez utiliser le fichier après l'ouverture du fichier. La syntaxe de la méthode OpenTextFile est la suivante:
Définir objTextStream = FileSystemObject.OpenSExtFile (nom de fichier, [iomode], [Create], [Format])
Les paramètres sont les suivants:
1. Le nom de fichier est la variable nécessaire, comme le nom de fichier de CreateTextFile
2. Iomode Constante facultative, avec la valeur comme l'une des deux constantes suivantes, le Forreading ou For Says. Si le mode est 1, le fichier est ouvert en lecture seule, et s'il est 8, le fichier est ouvert annexé.
3. Créez une quantité booléenne optionnelle, spécifiant l'opération effectuée si le fichier que vous souhaitez ouvrir n'existe pas. Si sa valeur est vraie, un fichier vide sera automatiquement créé lorsque le fichier n'existe pas. Si faux, un message d'erreur sera généré lorsque le fichier n'est pas trouvé. La valeur par défaut est fausse. Il est recommandé de le définir sur True pour éviter de vérifier les erreurs lors de l'ouverture du fichier.
4. Format Valeur facultative, vous pouvez sélectionner trois valeurs triState pour spécifier le format du fichier, respectivement. -2, -1 et 0 correspondent à la valeur par défaut du système, Unicode et ASCII, respectivement.
Après avoir ouvert ou créé un fichier texte, vous obtenez un objet TextStream, qui a un curseur, tout comme un curseur dans un traitement de texte, indiquant où le caractère dans lequel vous allez taper apparaîtra, et il indique également la position du personnage que vous allez lire. Vous ne pouvez pas créer un objet TextStream via CreatObject. La seule façon d'obtenir un objet TextStream est d'utiliser l'objet FileSystemObject pour ouvrir un fichier texte existant ou créer un nouveau fichier comme décrit précédemment.
Les propriétés et les méthodes de l'objet TextStream sont répertoriées ci-dessous
TextStream.AtendOfline Read Only Boolean Quantité, lorsque le curseur est à la fin de la ligne actuelle, sa valeur est vraie, sinon elle est fausse
TextStream.AtendOfStream Read only Boolean Quantité, si le curseur est à la fin du flux, sa valeur est vraie, sinon elle est fausse
TextStream.Column Read only Integer, comptant le nombre de caractères du début de la ligne à la position actuelle du curseur
TextStream.line en lecture seule indiquant le numéro de ligne de la ligne du curseur dans l'ensemble du fichier
TextStream.close () fermer le flux et le fichier texte correspondant
TextStream.read (num) spécifie qu'un certain nombre de caractères sont lus à partir du fichier texte à partir de la position actuelle du curseur.
TextStream.readall () lit l'ensemble du flux dans une chaîne
TextStream.readline () lit une ligne de caractères entière dans une chaîne
TextStream.write (texte) Écrivez une chaîne au flux
TextStream.WriteLine () écrit une chaîne de texte au flux
TextStream.skip (num) Dans un flux, déplacez la position du curseur par un certain nombre de longueurs de chaîne
TextStream.SkiPlines () Dans un flux, déplacez le curseur vers un certain nombre de lignes
TextStream.writeblank écrit un certain nombre de lignes vides vers le flux
lignes (num)
Je crois que tout le monde peut maintenant ressentir les fonctions puissantes du composant d'accès aux fichiers ASP. En fait, il peut non seulement écrire des fichiers journaux, mais également mettre à jour automatiquement votre site Web sans effort. Il vous suffit de transférer le fichier texte au format fixe vers le serveur distant, de lire le fichier via le composant d'accès au fichier et de générer automatiquement une nouvelle page HTML, sans avoir à travailler dur pour mettre à jour les fichiers HTML un par un. Si vous êtes intéressé, vous pouvez utiliser le composant d'accès aux fichiers d'ASP pour écrire votre propre générateur HTML entièrement automatique pour profiter pleinement de la sensation avancée et facile de maintenir le site Web.
Partage: JS div simule le domaine de la forme de la forme Récemment, je travaillais sur un projet Ajax, qui utilise de nombreux verrous d'écran simulés avec un calque plein écran, mais il y a un mal de tête, c'est-à-dire que la zone de liste déroulante sera toujours affichée sur le calque. J'ai écrit ce cours JS pour résoudre ce problème. Je pense personnellement que c'est facile à utiliser. Je vais le partager avec vous ici.