Empfohlen: Machen Sie das Popup-Fenster "gehorsam" ein wenig Popups werden beim Eingeben einiger Websites beim Surfen im Internet angezeigt. Es kann eine freundliche Begrüßung vom Webmaster zu Ihnen sein, oder es kann eine wichtige Ankündigung der Website, der Website -Anzeigen usw. sein. Wenn Sie sie jedoch schlecht verwenden, fühlen sich die Menschen gelangweilt. Wie man Pop-ups funktioniert, ohne das Surfen zu beeinflussen
Wenn Sie serverseitige Anwendungen mit ASP schreiben, müssen Sie sich auf ActiveX-Komponenten für leistungsstarke Webanwendungsfunktionen verlassen, z. B.: Sie müssen eine Verbindung zur Datenbank herstellen, die Datenbank online betreiben usw.
1. Die Browserfunktionskomponenten sind bekannt, und nicht alle Browser unterstützen alle Aspekte der heutigen Internet -Technologie. Es gibt einige Funktionen, die einige Browser unterstützen, andere jedoch nicht, wie ActiveX -Steuerelemente, Bildströme, dynamische HTML-, Flash- und Skriptprogramme. Mithilfe der Browser -Funktionskomponente von ASP können Sie intelligente Webseiten so entwerfen, dass Inhalte in einem Format präsentiert werden, das die Browserleistung entspricht. Die Browser -Funktionskomponente kann ein BrowserType -Objekt erstellen, das Benutzerskripte mit Funktionsbeschreibungen des Client -Webbrowsers bereitstellt. Der Grund, warum diese Komponente Informationen wie die Version des Clientbrowsers identifizieren kann, ist hauptsächlich, wenn der Clientbrowser eine Seitenanforderung an den Server sendet, automatisch einen Benutzeragenten HTTP -Titel sendet. Dies ist eine ASCII -Zeichenfolge, die den Browser und seine Version deklariert. Die Browserfunktionskomponenten -Komponenten ordnen den Benutzeragenten dem in der Datei browscap.ini angegebenen Browser ab und identifiziert den Clientbrowser über die Eigenschaften des BrowserType -Objekts. Wenn das Objekt kein Element finden kann, das mit dem Titel in der Datei browser.ini übereinstimmt, wird die Standard -Browser -Eigenschaften verwendet. Wenn das Objekt weder eine Übereinstimmung gefunden hat und die Standard -Browser -Einstellungen in der Datei browser.ini angegeben sind, wird jede Eigenschaft auf die unbekannte Zeichenfolge festgelegt. Standardmäßig wird die Datei browser.ini in den Windows //// System //// Inersrv (falls 95/98 pws4) oder nt /////// System32 ////// Inersrv (if Nt) gespeichert. Sie können diese Textdatei selbst bearbeiten, um Ihre eigenen Eigenschaften hinzuzufügen oder die Datei gemäß der neuesten veröffentlichten Browser -Versions -Aktualisierungsdatei zu ändern. Bitte beachten Sie den folgenden Checkcookie () -Prozess. Verwenden Sie das Cookie -Attribut des BrowserCap -Objekts, um festzustellen, ob der Clientbrowser Cookies unterstützt und Informationen zurückgibt:
| Das Folgende ist der zitierte Inhalt: < % Sub checkcookie () Set browsercap = server.createObject (MSWC.BrowserType) Wenn browsercap.cookie = true dann Antwort. Schreiben Sie Ihren Browser unterstützt Cookies! anders Antwort. Schreiben Sie Entschuldigung, der von Ihnen verwendete Browser unterstützt keine Cookies! Ende wenn Ende sub %> |
2. Dateizugriffskomponente Wenn Sie im Netzwerk alt genug sind, müssen Sie das CGI -Gästebuch in der Dinosaurier -Ära gesehen haben, dem frühesten Prototyp des Webbuchs. Zu diesem Zeitpunkt war es sehr schwierig, eine Verbindung zur Server-Backend-Datenbank in internetbasierten Webanwendungen herzustellen, sodass die historischen Informationen im Gästebuch nicht wie heute in der Backend-Datenbank gespeichert wurden. Wo werden diese Daten gespeichert? Die Antwort ist eine Textdatei. Das CGI -Programm kann die vom Client empfangenen Informationen in eine auf dem Server gespeicherte Textdatei schreiben. Die Datei kann eine HTML -Datei oder eine TXT -Datei sein, mit der Programmierer Kundeninformationen speichern können, ohne sich mit derselben Datenbank zu verbinden. Das Schreiben solcher CGI -Programme ist jedoch sehr umständlich. Die folgende Liste ist das einfachste Beispiel solcher Programme:
| Das Folgende ist der zitierte Inhalt: #!/usr/local/bin/perl # Perl Standort eins Ihr Server Drucken Sie Content-type: text/plain /// n ///// n; if ($ env {/// 'Request_method ///'} eqpost) { read (stdin, $ buffer, $ env {/// 'content_length ///'}); } elsif ($ env {/// 'request_method ///'} eqget) { $ buffer = $ env {/// 'query_stirng ///'}; } @pairs = split (/&/, $ buffer); foreach $ pair (@pairs) { ($ name, $ value) = split (/=/, $ pair); $ value = ~ tr///; $ value = ~ s/%([AF AF 0-9] [AF AF 0-9])/Pack (C, Hex ($ 1))/EG; $ Form {$ name} = $ value;} $ file_name = gudbook.txt; #file Name #Spezifischer Inhalt Öffnen Sie (Datei, >> $ file_name) || Die Fehler beim Öffnen der Datei; Dateiaufzeichnungszeit: $ Datum //// n ///// n; Dateiname Druckdatei: $ Formular {/// 'name ///'}; Druckdateieinheit: $ Formular {/// 'Company ///'} //// n; Datei Telefon ausdrucken: $ Formular {/// 'Telefon ///'} Dateiadresse Druck: $ Formular {/// 'Adresse ///'} //// n; DRUCKENDE FILE ZIP CODE: $ Form {/// 'ZIP ///'} Datei -E -Mail -Adresse ausdruck: $ Formular {/// 'E -Mail ///'} //// n; DURCH -DATEI RETURUS KOMMENTAR: $ Form {/// 'Inhalt ///'} schließen (Datei) |
Sie können das Gefühl haben, dass diese Art von CGI -Programm im Vergleich zu ASP in Bezug auf Lesbarkeit und Funktionsfähigkeit schlechter ist. Dann müssen Sie sich fragen, ob ASP auch Dateien direkt auf den Server schreiben kann. Die Antwort lautet natürlich ja. Aber intelligente Freunde denken vielleicht, dass wir, da die Verbindung zwischen ASP und Web -Datenbank so bequem ist, Kundendaten in Textdateien schreiben müssen? Ist diese Funktion von ASP nicht extravagant? In der Tat können wir die Datenbank nicht durch das Schreiben von Textdateien im Hinblick auf die Programmausführungseffizienz oder die Benutzerfreundlichkeit ersetzen. Das Schreiben von Textdateien in einigen Webanwendungsfeldern ist jedoch sowohl eine Standard als auch eine relativ praktische Methode im Vergleich zur Datenbank. Wenn Sie mit NT vertraut sind, müssen Sie wissen, dass NT über einen sehr leistungsstarken Sicherheitsmechanismus verfügt, der automatisch fast alle Servervorgänge und Verbindungsinformationen in einer Datei mit dem Suffix -Namen .log speichern kann. Tatsächlich kann diese Technologie auch im Web verwendet werden, um einige Kundenanmeldeinformationen aufzuzeichnen. Das folgende Programm verwendet die Funktion von ASP -Lesen und Schreiben von Textdateien, um eine Funktion zu erstellen, die die Sprachdatensätze jedes Benutzers in einem Web -BBS -Programm automatisch aufzeichnet.
| Das Folgende ist der zitierte Inhalt: < % Setzen Sie fs = createObject (scripting.FilesSystemObject) Forreading = 1 /// 'Öffnen Sie die Datei im schreibgeschützten Modus. Diese Datei kann nicht geschrieben werden. Footappending = 8 /// 'Öffnen Sie die Datei und schreiben Sie sie am Ende der Datei. TristateUsedEfault = -2 Tristatetree = -1 TristateFalse = 0/p> /// '----------------------------------------------------------------------------------------------------------- servermap = server.mappath (/// bbs /// log ////)) /// 'Mapping -System physischer Pfad temp = servermap & //// & Jahr (Datum) & Monat (Datum) & ////// /// 'den physikalischen Pfad und die Zeit des Systems erhalten und diesen als physischen Pfad verwenden, der in der Protokolldatei gespeichert ist wenn nicht Fs.Createfolder (Temp) Ende wenn /// 'Erkennung der Existenz eines Ordners, sonst wird er automatisch erstellt Dimer Syslog Dim Tempname tempname = Datum syslog = temp & tempname & .log /// 'Der Dateiname ist e: ///bbs//log///month///month.log li = user &&& nun && request.servervariables (remote_addr) && tempfile &&& schief && title /// 'Protokolldatei -Datensatzformat lautet: Benutzername und Senden von Zeit- und Benutzer -IP- und Dateipfad- und Brief- und Brieftitel Wenn fs.FileExists (syslog) dann Setzen Sie ss = fs.opentextfile (syslog, fassender, true) anders Setzen Sie SS = fs.CreateTextFile (Syslog, Forsching, Falsch) Ende wenn /// 'Erkennung, ob die Protokolldatei vorhanden ist. Wenn es vorhanden ist, fügen Sie den Dateiinhalt hinzu, schreiben Sie sonst die Datei direkt direkt Ss.WriteLine (LI) ss.close /// '----------------------------------------------------------------------------------------------------------- %> |
Wenn Sie das obige Programm nicht vollständig verstehen, hören Sie sich die Erklärung des Autors an. Die Dateizugriffskomponente bietet Methoden und Eigenschaften, mit denen zum Zugriff auf das Dateisystem eines Computers zugreifen kann. Wir können die Dateizugriffskomponente verwenden, um ein Dateisystemobjekt -Objekt zu erstellen. Der erste Satz des obigen Programms besteht darin, die Dateizugriffskomponente zu verwenden, um eine Objektinstanz mit dem Namen FS zu erstellen. Nachdem das Objekt erstellt wurde, können Sie über sie auf die Datei zugreifen. Das Objekt hat keine Eigenschaften. Seine einzige Bedeutung ist, Textdateien zu erstellen, zu öffnen oder zu lesen und zu schreiben. Es gibt zwei am häufigsten verwendete Methoden für das DateisystemObject -Objekt, einer wird zum Erstellen von Dateien verwendet, und das andere wird zum Öffnen und Lesen und Schreiben von Textdateien verwendet. Die Methode createTextFile erhält den von Ihnen angegebenen Dateinamen und erstellt die Datei. Es gibt ein Textstream -Objekt zurück. Sie können dieses Objekt verwenden, um die Datei nach dem Erstellen der Datei zu bedienen. Die Syntax der CreateTeTextFile -Methode lautet wie folgt:
Setzen Sie ObjTextStream = DateisystemObject.CreateTextFile (Dateiname, [Overwrite], [Unicode])
Der Autor erklärt die Parameter der nachstehenden CreateTeTextFile -Methode
1. Dateiname Eine Zeichenfolge, die den Dateipfadnamen enthält, kann der vollständige Pfadname der Datei sein, einschließlich des Laufwerksnamens und des Verzeichnisnamens, oder es kann nur ein Dateiname sein. Wenn nur der Dateiname enthalten ist, wird die Datei im Stammverzeichnis der Website erstellt.
2. Die Boolesche Menge überschreiben. Wenn Sie auf False festgelegt sind, können Sie verhindern, dass das DateiSystemObject -Objekt beim Erstellen einer neuen Datei vorhandene Dateien löscht. Dieser Parameter ist optional. Wenn das System keine Zuordnungsverwaltung für true hat, werden vorhandene Dateien mit demselben Dateinamen gelöscht.
3.. Unicode Optionale Parameter. Boolesche Werte geben an, ob eine Datei im Unicode- oder ASCII -Dateiformat erstellt werden soll. Dieser Wert ist wahr, wenn eine Datei im Unicode -Dateiformat erstellt wird, und falsch, wenn eine Datei im ASCII -Dateiformat erstellt wird. Wenn dieser Abschnitt weggelassen wird, wird angenommen, dass eine ASCII -Datei erstellt wird.
Im vorherigen Programm verwenden wir SET SS = Fs.CreateTextFile (Syslog, Forwriting, False), um eine Datei zu erstellen und eine Datei zu schreiben, wenn die Protokolldatei nicht vorhanden ist. Hier bedeutet das, dass das Forrieren eine Datei schreiben muss.
Im Gegensatz zur Methode createTextFile wird die OpenTextFile -Methode verwendet, um den von Ihnen angegebenen Dateinamen zu erhalten und die Datei zu öffnen. Unter Verwendung der entsprechenden Parameter können wir verschiedene Vorgänge in der Datei ausführen. Wie bei der Methode createTextFile gibt die OpenTextFile -Methode ein Textstream -Objekt zurück, sodass Sie die Datei nach der Öffnung der Datei bedienen können. Die Syntax der OpenTextFile -Methode lautet wie folgt:
Setzen Sie ObjTextStream = DateiSystemObject.opentextFile (Dateiname, [Iomode], [erstellen], [Format])
Die Parameter sind wie folgt:
1. Dateiname ist die notwendige Variable, wie der Dateiname von CreateTextFile
2. iomode optionale Konstante, mit dem Wert als einer der folgenden zwei Konstanten, die vorreden oder fördern. Wenn der Modus 1 ist, wird die Datei schreibgeschützt geöffnet, und wenn sie 8 ist, wird die Datei angehängt geöffnet.
3. Erstellen Sie die optionale Boolesche Menge und geben Sie an, welche Operation ausgeführt wird, wenn die Datei, die Sie öffnen möchten, nicht vorhanden ist. Wenn ihr Wert stimmt, wird eine leere Datei automatisch erstellt, wenn die Datei nicht vorhanden ist. Wenn Falsch ist, wird eine Fehlermeldung generiert, wenn die Datei nicht gefunden wird. Der Standardwert ist falsch. Es wird empfohlen, es auf True zu setzen, um beim Öffnen der Datei auf Fehler zu überprüfen.
4. Format Optionaler Wert, Sie können drei Tristate -Werte auswählen, um das Format der Datei anzugeben. -2, -1 und 0 entsprechen dem System Standard, Unicode bzw. ASCII.
Nach dem Öffnen oder Erstellen einer Textdatei erhalten Sie ein Textstream -Objekt, das einen Cursor hat, genau wie ein Cursor in einem Textverarbeitungsprogramm, der angibt, wo das Zeichen, in das Sie eingeben, angezeigt werden, und auch die Position des Charakters anzeigt, das Sie lesen werden. Sie können kein Textstream -Objekt über CreateObject erstellen. Die einzige Möglichkeit, ein Textstream -Objekt zu erhalten, besteht darin, das Dateisystem -System zu verwenden, um eine vorhandene Textdatei zu öffnen oder eine neue Datei wie zuvor beschrieben zu erstellen.
Die Eigenschaften und Methoden des Textstream -Objekts sind unten aufgeführt
Textstream.atendofline schreibgeschützte boolesche Menge, wenn sich der Cursor am Ende der aktuellen Zeile befindet, ist sein Wert wahr, sonst ist er falsch
Textstream.atendofstream schreibgeschützte boolesche Menge, wenn der Cursor am Ende des Streams ist, ist sein Wert wahr, sonst ist er falsch
Textstream.column schreibgeschützte Ganzzahl, zählt die Anzahl der Zeichen vom Beginn der Zeile bis zur aktuellen Cursorposition
Textstream.line schreibgeschützte Ganzzahl angibt die Zeilennummer der Cursorzeile in der gesamten Datei
Textstream.close () Schließen Sie den Stream und die entsprechende Textdatei
Textstream.read (num) gibt an, dass eine bestimmte Anzahl von Zeichen aus der Textdatei aus der aktuellen Position des Cursors gelesen wird.
Textstream.readall () liest den gesamten Stream in eine Zeichenfolge
Textstream.readline () liest eine ganze Zeichenzeile in eine Zeichenfolge
TextStream.write (text) Schreiben Sie eine Zeichenfolge in den Stream
Textstream.writeLine () schreibt eine Textzeichenfolge in den Stream
Textstream.skip (num) In einem Stream bewegen Sie die Cursorposition um eine bestimmte Anzahl von Stringlängen
Textstream.skiplines () verschieben Sie den Cursor in einer bestimmten Anzahl von Zeilen
Textstream.writeBlank schreibt eine bestimmte Anzahl leerer Zeilen in den Stream
Zeilen (num)
Ich glaube, dass jetzt jeder die leistungsstarken Funktionen der ASP -Dateizugriffskomponente spüren kann. Tatsächlich kann es nicht nur einige Protokolldateien schreiben, sondern auch Ihre Website automatisch ohne Aufwand aktualisieren. Sie müssen die Textdatei nur in festem Format auf den Remote -Server übertragen, die Datei über die Dateizugriffskomponente lesen und automatisch eine brandneue HTML -Seite generieren, ohne hart arbeiten zu müssen, um die HTML -Dateien einzeln zu aktualisieren. Wenn Sie interessiert sind, können Sie die Dateizugriffskomponente von ASP verwenden, um Ihren eigenen vollautomatischen HTML -Generator zu schreiben, um das fortschrittliche und einfache Gefühl der Wartung der Website voll und ganz zu genießen.
Share: JS Div -Simulate Wählen Sie die Formulardomäne aus Kürzlich habe ich an einem AJAX-Projekt gearbeitet, bei dem viele simulierte Bildschirmschlösser mit einer Vollbildschicht verwendet werden. Es gibt jedoch Kopfschmerzen, dh das Dropdown-Listenfeld wird immer auf der Ebene angezeigt. Ich habe diese JS -Klasse geschrieben, um dieses Problem zu lösen. Ich persönlich finde es einfach zu bedienen. Ich werde es hier mit Ihnen teilen.