BOM (Browserobjektmodell)
window.document.getElementById("Kopfzeile"); document.getElementById("header"); 1. Fenster Holen Sie sich die Browser-Fenstergröße
Fenster.innereHöhe Fenster.innereBreite
Dokument.documentElement.clientHeight Dokument.documentElement.clientWidth
var width = window.innerWidth|| document.documentElement.clientWidth|| document.body.clientWidth var Höhe = Fenster.innereHöhe||Dokument.Dokumentelement.Clienthöhe||Dokument.Body.Clienthöhe 2. screen Ermitteln Sie die Bildschirmgröße Ihres ComputersDie Eigenschaft gibt die Breite/Höhe des Bildschirms des Besuchers in Pixeln zurück, abzüglich Schnittstellenfunktionen wie der Fenster-Taskleiste.
3. Fenster Fenster öffnen und schließen
<Skripttyp="text/javascript"> var neuesWindows; Funktion neuesFenster() { neuesFenster = Fenster.öffnen("https://www.baidu.com/","baidu"); } Funktion Fenster schließen() { neuesFenster.schließen(); } </Skript> 4. Browser-Ereignisse
5. Standort
Konsole.log(Standort.href); Konsole.log(Standort.Hostname); console.log(Standort.Pfadname); Konsole.log(Standort.Port); Konsole.log(Standort.Protokoll); 6. GeschichteBrowserverlauf, Sie müssen das Präfix „window“ nicht schreiben
7. Navigator erhält browserbezogene InformationenFenster.Navigator
Exportfunktion GetCurrentBrowser() { var agent = navigator.userAgent.toLowerCase(); var regStr_ie = /msie [\d.]+;/gi; var regStr_ff = /firefox\/[\d.]+/gi var regStr_chrome = /chrome\/[\d.]+/gi; var regStr_saf = /safari\/[\d.]+/gi; //IE11 und darunter if (agent.indexOf("msie") > 0) { returniere agent.match(regStr_ie); } // Das MSIE-Feld ist in der IE11-Version nicht enthalten if (agent.indexOf("trident") > 0 && agent.indexOf("rv") > 0) { return "IE " + agent.match(/rv:(\d+\.\d+)/)[1]; } // Feuerfuchs wenn (agent.indexOf("firefox") > 0) { returniere Agent.match(regStr_ff); } //Chrom wenn (agent.indexOf("chrome") > 0) { gibt agent.match(regStr_chrome) zurück; } //Safari wenn (agent.indexOf("safari") > 0 und agent.indexOf("chrome") < 0) { Agent zurückgeben.match(regStr_saf); } } // Betriebssystem abrufen Exportfunktion GetOs() { let userAgent = navigator.userAgent.toLocaleLowerCase() //toLocaleLowerCase() wandelt Buchstaben in Kleinbuchstaben um let wins = [ { sys: "Windows NT 5.0", Alias: „Windows 2000“, Name: "Win2000" }, { sys: "Windows NT 5.1", Alias: „Windows XP“, Name: "WinXP" }, { sys: "Windows NT 5.2", Alias: „Windows 2003“, Name: "Win2003" }, { sys: "Windows NT 6.0", Alias: „Windows Vista“, Name: "WinVista" }, { sys: "Windows NT 6.1", Alias: „Windows 7“, Name: „Win7“ }, { sys: "Windows NT 6.2", Alias: „Windows 8“, Name: „Win8“ }, { sys: "Windows NT 10.0", Alias: „Windows 10“, Name: „Win10“ }, ] für (lass gewinnen von gewinnt) { wenn (userAgent.indexOf(win.sys) > -1 || userAgent.indexOf(win.alias) > -1) { win.name zurückgeben } } } Exportfunktion getEdition() { var userAgent = navigator.userAgent.toLocaleLowerCase() wenn (userAgent.indexOf("win64") > -1 || userAgent.indexOf("wow64") > -1) { gibt „64 Bit“ zurück } anders { gibt „32 Bit“ zurück } } Exportfunktion IsPC() { var userAgentInfo = navigator.userAgent; var Agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"]; varflag = wahr; für (var v = 0; v < Agents.length; v++) { wenn (userAgentInfo.indexOf(Agents[v]) > 0) { Flagge = falsch; brechen; } } Flagge zurückgeben; } // URL-Parameter abrufen und Objektexportfunktion GetRequest() zurückgeben { var url = location.search; //Holen Sie sich die Zeichenfolge nach dem "?"-Zeichen in der URL var theRequest = {} lass strs = [] wenn (url.indexOf("?") != -1) { var str = url.substr(1); strs = str.split("&"); für (var i = 0; i < strs.length; i++) { dieAnfrage[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]); } } gib die Anfrage zurück; } export const browser = { Versionen: (Funktion() { lass u = navigator.userAgent // let app = navigator.appVersion zurückkehren { Trident: U.Indexof ('Trident')> -1, // IE Kernel Presto: U.Intexof ('Presto')> -1, // Opera Kernel Webkit: U.Indexof ('Applewebkit')> -1, // Apple, Google Kernel Gecko: U.Indexof ('GECKO) Kernel Mobile: !! match (/applewebkit.* mobile.*/), // ist es ein mobiler Terminal iOS: !! u.match (/\ (i [^;]+; (u;)? ('iPhone')> -1, // Ist es ein iPhone oder ein QQHD -Browser iPad: U.Indexof ('iPad')> -1, // Ist es ein iPad webApp: u.indexOf('Safari') === -1, // Ist es eine Webanwendung ohne Kopf- und Fußzeile weixin: u.indexOf('MicroMessenger') > -1, // Ist es WeChat qq: u.match(/\sQQ/i) === 'qq' // Ist es QQ } }()), Sprache: (navigator.browserLanguage || navigator.language).toLowerCase() } 8. Popups
DOM (Dokumentobjektmodell)
DOM-KlassifizierungDefiniert Standardmethoden für den Zugriff auf und die Bearbeitung von HTML-Dokumenten. DOM stellt HTML-Dokumente als Baumstruktur dar In HTML ist alles ein Knoten
Die Beziehung zwischen den einzelnen Knoten ist: Eltern-Kind-Beziehung\Geschwisterbeziehung Durch das programmierbare Objektmodell hat JavaScript genügend Leistung gewonnen, um dynamisches HTML zu erstellen
DOM-Objekte
Document-Objekt
Elementdokumentobjekt
DOM-Ereignismanipulation Mausereignisse
Tastaturereignisse Holen Sie sich das Ereignisobjekt beim Klicken
E/Veranstaltung
Fenster.Ereignis
Fallbezogene Informationen erhalten
e.Schlüssel
e.Schlüsselcode
e.Welche
Touchscreen-Ereignisse
Besondere Ereignisse
Formularereignisse
Browserkompatibilität 1. Scrollhöhe des Browsers var Höhe = Dokument.documentElement.scrollTop||document.body.scrollTop var Breite=document.documentElement.scrollLeft||document.body.scrollLeft
Dokument.documentElement.scrollTop Dokument.documentElement.scrollLeft
Dokument.body.scrollTop Dokument.Body.ScrollLeft 2. Holen Sie sich nicht-Inline-Stilattribute Der eigentliche Effekt besteht darin, dass die vom Tag ausgeführten Stilattribute abgerufen werden wenn (window.getComputedStyle) { Fenster.getComponentStyle(dom).width }anders{ doc.currentStyle.width } 3. Holen Sie sich das Ereignisobjekt dom.onclick=Funktion(e){ e=e||Fenster.Ereignis } 4. Holen Sie sich das Ziel des Ereignisobjekts Kompatibel mit niedrigeren Versionen von Firefox, der mittlerweile grundsätzlich nicht mehr verwendet wird dom.event = Funktion() { e=e||Fenster.Ereignis var Ziel = e.Ziel || e.QuelleElement } 5. Schaltflächenwert Kompatibel mit niedrigeren Versionen von Firefox, der mittlerweile grundsätzlich nicht mehr verwendet wird Dokument.onkeyup=Funktion(e){ e=e||Fenster.Ereignis var Schlüsselnummer = e.Schlüsselcode||e.welcher } 6. Veranstaltungsbeobachtung/Veranstaltungsanmeldung Funktion myAddEvent(ele,type,fun){ Bestimmen Sie, ob die Methode addEventListener vorhanden ist, wenn (ele.addEventListener) { ele.addEventListener(Typ, Spaß) }anders{ ele.attachEvent('an'+Typ,Spaß) } } 7. Ereignisbehandlungsfunktion löschen Funktion delFun(ele,typ,spaß){ wenn(ele.removeEventListener){ ele.removeEventListener(Typ,Spaß) }anders{ ele.detachEvent('an'+Typ,Spaß) } } 8. Verhindern Sie die Übermittlung von Ereignissen Funktion stopBBle(e){ wenn(e.stopPropagation){ e.stopPropagation() }anders{ e.cancelBubble=true } } 9. Verhindern Sie die Ausführung von Standardereignissen wenn(e.preventDefault){ e.preventDefault }anders{ e.returnValue=false } 10. Ajax-Objekt lass xhr; versuchen{ //Normale blaue Flagge xhr=new XMLHttpRequest() }fangen(e){ //Kompatibel mit niedrigeren IE-Versionen xhr=new ActiveXObject('Microsoft.XMLHTTP') } xhr.open('Beitrag','URL') xhr.setRequestHeader('Inhaltstyp','Anwendung/x-www/Formular-URL-codiert') xhr.send('Name=111&Alter=222') //Standardbrowser xhr.onload = function(){} //Kompatibilität beim Schreiben von xhr.onreadystatechange=function(){ wenn(xhr.readystate==4){ sei reg=/^a\d{2}$/ wenn (res.test(xhr.status)) { Konsole.lof(json.parse(xhr.antwort)) } } } Kompatibilitätsschreiben, Verpackungstools Funktion „Bestätigungscode generieren“ Funktion meinSetVc() { var str = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXUZ'; var neuerStr = ''; für (var i = 1; i <= 6; i++) { var num = parseInt(Math.random() * str.länge) wenn (newStr.indexOf(str[num]) === -1) { neuerStr += str[num]; } anders { ich--; } } gibt newStr zurück; } Abrufen von Adressleistendateninformationen Funktion getUrlVal() { // 1. Holen Sie sich den Adressleistenparameter string let str = decodeURI(window.location.search).substr(1); // Erstellen Sie ein Objekt zum Speichern der Ergebnisse let obj = {}; // 2 In Array konvertieren gemäß Semikolon- und Leerzeichenkonvertierung const arr1 = str.split('&') // 3 Schleifenvariablen-Array, teile die Datenzeichenfolge gemäß dem Gleichheitszeichen in Arrays auf arr1.forEach(v => { lass arr2 = v.split('='); obj[arr2[0]] = arr2[1]; }) gibt Objekt zurück; } Tabellenfunktion generieren // Parameter 1: array, das Datenarray auf das verwiesen werden soll // Parameter 2: label, das Labelobjekt, das geschrieben werden soll function mySetTable(array, element) { var str = ''; array.fürJedes(Funktion (v, k) { str += '<tr>'; für (var Schlüssel in v) { str += `<td>${v[key]}</td>`; } str += `<td><button index="${k}">Löschen</button></td>` str += '</tr>'; }); element.innerHTML = str; var oBtns = document.querySelectorAll('Schaltfläche'); meinSetButton(oBtns, Array, Element); } Binden Sie die Funktion zum Löschen von Effekten an die Schaltfläche // Parameter 1, Button-Array // Parameter 2, Daten-Array // Parameter 3, Label-Objekt zum Schreiben des Inhalts function mySetButton(BtnArray, array, element) { BtnArray.forEach(Funktion (v) { v.onclick = Funktion () { var bool = window.confirm('OK, möchten Sie löschen?'); wenn (bool) { var index = v.getAttribute('index'); Array.splice(Index, 1); meineSetTable(Array, Element); } } }) } Behandeln von Kompatibilitätsfunktionen für Listener-Ereignisse // Parameter 1: das Tag-Objekt, an das das Ereignis gebunden werden soll // Parameter 2: der Ereignistyp, der gebunden werden soll, kein // Parameter 3: anzubindende Ereignisverarbeitungsfunktion function myAddEvent(element, type, fun) { wenn (element.addEventListener) { // Gewöhnlicher Browser element.addEventListener(type, fun); } anders { // Niedrige IE-Browserversion element.attachEvent('on' + type, fun); } } Holen Sie sich die CSS-Stilfunktion // Parameter 1, das Tag-Objekt, dessen Attribute benötigt werden // Parameter 2, der Attributname, dessen Attribute benötigt werden function myGetStyle(element, type) { wenn (window.getComputedStyle) { gibt window.getComputedStyle(Element)[Typ] zurück; } anders { gibt Element zurück.currentStyle[Typ]; } } Cookie-Funktion festlegen // Parameter 1: Name des Cookie-Schlüssels // Parameter 2: Wert des Cookie-Schlüssels // Parameter 3: Ablaufdatum des Cookies (Sekunden) Funktion mySetCookie(Schlüssel, Wert, Zeit) { // 1. Aktuelles Zeitobjekt abrufen const nowTime = new Date(); // 2. Holen Sie sich den Zeitstempel der aktuellen Zeit --- die Einheit ist Millisekunden let timeStamp = nowTime.getTime(); // 3. Berechnen Sie den Zeitstempel: Aktueller Zeitstempel - 8 Stunden + Ablaufzeit (Sekunden) // Holen Sie sich den Zeitstempel mit der Ablaufzeit, die der weltweiten Standardzeit entspricht. let newTimeStamp = timeStamp - 8 * 60 * 60 * 1000 + time * 1000; // 4, setze den Zeitstempel zurück auf das Zeitobjekt nowTime.setTime(newTimeStamp); // 5. Kompatibel mit dem Fall, in dem der dritte Parameter nicht übergeben wird // Wenn die Zeit nicht definiert ist, beweist dies, dass kein dritter Parameter vorhanden ist, führt die Sitzungsgültigkeit aus und weist einen leeren String zu // Wenn die Zeit nicht undefiniert ist, beweist dies, dass kein dritter Parameter vorhanden ist, und führt die Gültigkeit des Zeitstempels im Zeitobjekt nowTime aus let endTime = time === undefined ? '' : nowTime; // 6, Cookie setzen //Setze ein zusätzliches Attribut für das Cookie, path=/ // Alle Dateien im WWW die gesetzten Cookies verwenden lassen document.cookie = `${key}=${value}; läuft ab=${endTime};pfad=/`; } Holen Sie sich die spezifischen Daten des Cookies Funktion meinGetCookie() { // Erstellen Sie ein Objekt zum Speichern der Ergebnisse let obj = {}; // 1 Holen Sie sich den Cookie-String let str = document.cookie; // 2 In Array konvertieren gemäß Semikolon- und Leerzeichenkonvertierung const arr1 = str.split('; ') // 3 Schleifenvariablen-Array, teilen Sie die Datenzeichenfolge gemäß dem Gleichheitszeichen in Arrays auf arr1.forEach(v => { lass arr2 = v.split('='); obj[arr2[0]] = arr2[1]; }) gibt Objekt zurück; } Funktion Spaß () { console.log('Ich bin der Inhalt der neu erstellten js-Datei, hast du mich komprimiert?') } Dies ist das Ende dieses Artikels mit der detaillierten Erklärung von BOM und DOM in JavaScript. Weitere relevante Inhalte zu js BOM und DOM finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den verwandten Artikeln weiter unten. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Ubuntu 20.04: Beispiel zum Ändern der IP-Adresse
>>: Einführung in die Wissenspunkte MySql-Tabelle, Datenbank, Sharding und Partitionierung
Problembeschreibung Der Schaltflächenstil ist Sym...
Wenn href zum Übergeben von Parametern benötigt w...
Inhaltsverzeichnis 1. Welche Inhalte müssen üblic...
Verabschieden Sie sich von der Vergangenheit Bevo...
Inhaltsverzeichnis 1. Was ist eine benutzerdefini...
1. Gehen Sie zunächst auf die offizielle Website ...
1. Was ist Docker Swarm? Docker Swarm ist ein off...
In HTML wird das <img>-Tag verwendet, um ei...
Inhaltsverzeichnis MySQL initialisieren MySQL-Die...
Hintergrund Es gibt einen Tencent Linux Cloud-Hos...
Systemumgebung: Redis-Version: 6.0.8 Docker-Versi...
In einer Tabelle können Sie die Farbe des oberen ...
Ich habe einige Qt-Schnittstellenprogramme geschr...
Inhaltsverzeichnis Linux 1. Grundlegende Verwendu...
Inhaltsverzeichnis 1. Tabellenmethode umbenennen ...