Detaillierte Erklärung von BOM und DOM in JavaScript

Detaillierte Erklärung von BOM und DOM in JavaScript

BOM (Browserobjektmodell)

Alle Browser unterstützen das Fensterobjekt, das das Browserfenster darstellt.
Alle globalen JS-Objekte, Funktionen und Variablen werden automatisch Mitglieder des Fensterobjekts.
Globale Variablen sind Eigenschaften des Fensterobjekts.
Globale Funktionen sind Methoden des Fensterobjekts.
Ein auf HTML DOM basierendes Dokument ist auch eine der Eigenschaften des Fensterobjekts.

window.document.getElementById("Kopfzeile");
 document.getElementById("header");

1. Fenster Holen Sie sich die Browser-Fenstergröße

Innere Höhe des Browserfensters (ohne Bildlaufleisten, Menüleisten und Symbolleisten)

Fenster.innereHöhe
Fenster.innereBreite

Das Fenster für Internet Explorer 8, 7, 6 und 5 sieht wie folgt aus:

Dokument.documentElement.clientHeight
Dokument.documentElement.clientWidth

Kompatible Lösung zum Ermitteln der Browserbreite und -höhe`

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 Computers

Die Eigenschaft gibt die Breite/Höhe des Bildschirms des Besuchers in Pixeln zurück, abzüglich Schnittstellenfunktionen wie der Fenster-Taskleiste.

Bildschirm.verfügbareBreite
Bildschirm.verfügbareHöhe

3. Fenster Fenster öffnen und schließen

Öffnen: window.open()
Schließen: window.close()

<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

Name beschreiben
Fenster.onload Browser-Ladeereignis
Fenster.OnScroll Browser-Scroll-Überwachung
Fenster.beiGrößenänderung Browser-Zoom-Überwachung
Fenster öffnen Offene Veranstaltung
Fenster schließen Schließung

5. Standort

Name beschreiben
standort.herf Aktuelle URL
Standort.Hostname Hostdomänenname
Standort.Pfadname Aktueller Seitenpfad und Dateiname
Standort.Port Hafen
Standortprotokoll Protokoll (http/https)
Standort zuweisen Laden eines neuen Dokuments
Standortsuche URL-Parameter

Konsole.log(Standort.href);
Konsole.log(Standort.Hostname);
console.log(Standort.Pfadname);
Konsole.log(Standort.Port);
Konsole.log(Standort.Protokoll);

6. Geschichte

Browserverlauf, Sie müssen das Präfix „window“ nicht schreiben

Name beschreiben
Verlauf.Länge Frequenz
geschichte.zurück Vorherige Seite
Geschichte.Weiter Nächste Seite
Geschichte.go

In den Klammern den Wert sowie das positive und negative Vorzeichen angeben. +Wert bedeutet die Anzahl der Sprünge zum nächsten Wert, -Wert bedeutet die Anzahl der Sprünge zum nächsten Wert.

Die Anzahl der Sprünge zur vorherigen Seite, die Anzahl der Sprünge wird wie folgt berechnet: Endseite - Startseite, die Anzahl der Fehlersprünge, kein Ausführungseffekt

Fenster.Historie.Zurück();

7. Navigator erhält browserbezogene Informationen

Fenster.Navigator

Name beschreiben
navagator.userAgent Modell, Kernel, Version, Plattform
navagator.appVersion Informationen zur Browserversion
navagator.appName Browsername
navagator.platform Betriebssystem
navagator.geolocation Zu den Standortinformationen zählen Längen- und Breitengrad

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

1. Warnfeld: Window.alert()

2. Eingabefeld: Window.prompt()

3. Bestätigungsfeld: Window.confirm()

DOM (Dokumentobjektmodell)

Greifen Sie mit JavaScript über das HTML-DOM auf alle Elemente eines HTML-Dokuments zu.
Wenn eine Webseite geladen wird, erstellt der Browser ein Dokumentobjektmodell für die Seite.

DOM-Klassifizierung

Definiert 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

  • Elementknoten
  • Textknoten
  • Eigenschaftsknoten

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

  • JavaScript kann alle HTML-Elemente auf einer Seite ändern.
  • JavaScript kann alle HTML-Attribute auf einer Seite ändern.
  • JavaScript kann alle CSS-Stile auf einer Seite ändern.
  • JavaScript kann auf alle Ereignisse auf der Seite reagieren.

DOM-Objekte

Objekt beschreiben
Dokument: Dokumentobjekt Jedes in einen Browser geladene HTML-Dokument wird zu einem Dokumentobjekt
Element: Elementobjekt Ein Elementobjekt kann untergeordnete Knoten vom Typ Elementknoten, Textknoten und Kommentarknoten haben.
Attribut: Knotenattributobjekt Das Attr-Objekt stellt ein HTML-Attribut dar
Ereignis: Ereignisobjekt Das Element, in dem das Ereignis aufgetreten ist, der Zustand der Tastaturtasten, die Position der Maus, der Zustand der Maustasten

Document-Objekt

Alle Eigenschaften des Document-Objekts

Eigentum beschreiben
Dokument.Text Körper bekommen
Dokument.Kopf Kopf bekommen
Dokument.Element HTML herunterladen
Dokument.Cookie Cookies abrufen
document.domain Der Domänenname des aktuellen Dokuments. Domänenübergreifende Operationen sind möglich.
Dokument.lastModified Datum und Uhrzeit der letzten Änderung des Dokuments
Dokument.Referrer Die URL des aktuellen Dokuments
Dokumenttitel Titel
Dokument.URL Die URL des aktuellen Dokuments

Gemeinsame Methoden dokumentieren

Verfahren beschreiben
dokument.schreiben() Inhalt des Dokumentschreibens
dokument.öffnen() Öffnet einen Stream, um die Ausgabe von einer beliebigen document.write()- oder document.writeln()-Methode zu sammeln.
dokument.schließen() Schließt den mit der Methode document.open() geöffneten Ausgabestream und zeigt die ausgewählten Daten an.
Dokument.writeIn() Identisch mit der Methode write(), außer dass nach jedem Ausdruck ein Newline-Zeichen geschrieben wird.
Elemente abrufen
document.getElementById() Element nach ID abrufen
document.getElementsByName() Holen Sie sich das Array verwandter Elemente nach Namen
document.getElementsByTagName() ForEach-Schleife kann nicht verwendet werden, um das zugehörige Elementarray per Tag abzurufen
document.getElementsByClassName() Sie können keine forEach-Schleife verwenden, um ein Array verwandter Elemente über die Klasse abzurufen
document.querySelector() Holen Sie sich das erste Tag-Objekt, das die Bedingung erfüllt. Es wird nur ein Tag-Objekt abgerufen.
document.querySelectorAll() Holen Sie sich alle Tag-Objekte, die den Bedingungen entsprechen. Das Ergebnis ist ein Pseudo-Array.
Elemente erstellen
Dokument.Attribute erstellen() Erstellen eines Eigenschaftsobjekts
Dokument.Element erstellen() Erstellen eines Elementobjekts
Dokument.ErstellenTextNode() Erstellen eines Textobjekts
Dokument.Kommentar erstellen() Erstellen einer Notiz

Elementdokumentobjekt

Allgemeine Methoden des Elementobjekts

Verfahren beschreiben
Elemente hinzufügen, löschen, ändern und klonen
anhängenKind(doc) Knoten bis zum Ende einfügen
einfügenVorher(ndoc, oldoc) Einfügen eines Knotens vor einem Knoten
entfernenKind(Dokument) Entfernen Sie den Knoten
Ersetzen von Kind (Dokument) Knoten ersetzen
Klonknoten () Knoten klonen
Klonknoten (wahr) Einen Knoten und seinen Inhalt klonen
Attributbezogen
getAttribute() Abrufen von Eigenschaften
setAttribute() Festlegen von Eigenschaften
entferneAttribut() Attribute entfernen
getAttributeNode() Angeben von Attributknoten
setAttributeNode() Festlegen des Eigenschaftsknotens
entferneAttributeNode() Attributknoten entfernen
getElementsByTagName() Eine Sammlung aller untergeordneten Elemente des angegebenen Tagnamens
Knotenliste.Element() Der Knoten am angegebenen Index in der NodeList

Gemeinsame Eigenschaften von Elementobjekten

Eigentum beschreiben
Ausweis Element-ID
Stil Stil
Klassenname Klassenattribute
innerHML Markierter Inhalt
innererText Textinhalt
Knoten abrufen
untergeordnete Knoten Abrufen von untergeordneten Elementknoten
übergeordneter Knoten Holen Sie sich den übergeordneten Knoten eines Elements
Attribute Alle Eigenschaften abrufen
Kinder Alle Label-Child-Knoten abrufen
erstes Kind Erster untergeordneter Knoten
letztes Kind Der letzte untergeordnete Knoten
erstesElementKind Erster Label-Unterknoten
letztesElementChild Der letzte Label-Child-Knoten
vorherigesGeschwister Vorheriger Geschwisterknoten
nächstesGeschwister Nächster Geschwisterknoten
vorherigesElementGeschwister Vorheriger Tab
nächstesElementGeschwister Nächster Tab
übergeordneter Knoten Übergeordneter Knoten
übergeordnetesElement Übergeordneter Beschriftungsknoten
Knotenname Name: Elementknoten – Tagname, Attributknoten – Attributname, Textknoten – #Text, Kommentarknoten – #Kommentar
Knotentyp Knotentyp: 1 Element, 2 Attribut, 3 Text, 8 Kommentar
Knotenwert Elementwert: Attributwert, Textinhalt, Kommentarinhalt
Knotenliste.Länge Die Anzahl der Knoten in der NodeList
Größenabstand
Kundenhöhe Höhe - Inhalt + Polsterung
Clientbreite Breite
Offsethöhe Höhe - Inhalt + Polsterung + Rand
Versatzbreite Breite
KundenTop Breite des oberen Rahmens
KundeLinks Rahmenbreite festlegen
offsetTop Oberer Abstand des übergeordneten Objekts
OffsetLinks Der linke Abstand des übergeordneten Objekts

DOM-Ereignismanipulation

Mausereignisse

Name beschreiben
klicken Klicken Sie auf Ereignis
dbklick Doppelklick-Ereignis
Kontextmenü Rechtsklick-Ereignis
Mauszeiger nach unten Ereignis drücken, einmal ausführen
Mauszeiger nach oben Ereignis auslösen
Mausbewegung Mausbewegung
mit der Maus darüber Einziehen
Mauszeiger Entfernen
Mauseingabe Einzug, es entsteht kein Blubbern
Mauseblatt Herausnehmen, kein Sprudeln

Tastaturereignisse

Holen Sie sich das Ereignisobjekt beim Klicken

  • Normale Version

E/Veranstaltung

  • IE niedrigere Version

Fenster.Ereignis

Kompatible Schreibweise: var e=e||window.event

Fallbezogene Informationen erhalten

  • Schaltflächenname:

e.Schlüssel

  • Tastencode:

e.Schlüsselcode

  • Kompatibel mit Firefox:

e.Welche

Kompatible Schreibweise: e.Keycode|| e.Which

altkey ctrlkey shiftkey Bestimmen Sie, ob alt ctrl shift gedrückt ist

Touchscreen-Ereignisse

Name beschreiben
berührungsempfindlicher Start Start
berühren Beenden
berühre bewegen

Besondere Ereignisse

Name beschreiben
Animationsende Ende der Animation
Übergangsende Überkopf

Formularereignisse

Name beschreiben
einreichen Das Ereignis wird nur ausgelöst, wenn das Formular übermittelt wird.
Fokus Ereignis wird ausgelöst, wenn das Tag den Fokus erhält
Eingang Ereignisse, die bei der Dateneingabe ausgelöst werden
ändern Additionsverlust und Änderung der Eingangsdaten sind auslösende Ereignisse

Browserkompatibilität

1. Scrollhöhe des Browsers

var Höhe = Dokument.documentElement.scrollTop||document.body.scrollTop
var Breite=document.documentElement.scrollLeft||document.body.scrollLeft
  • Es gibt eine Dokumenttypdeklaration
Dokument.documentElement.scrollTop
Dokument.documentElement.scrollLeft
  • Keine Dokumenttypdeklaration
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:
  • Implementierung der Zusammensetzung von JavaScript --- Detaillierte Erläuterung von BOM und DOM
  • Was ist Javascript BOM und der Unterschied zwischen BOM und DOM
  • JavaScript-Lernhinweise (Teil 3) Detaillierte Erklärung von BOM und DOM
  • Javascript Grundlagen (Teil 3) BOM, DOM Zusammenfassung
  • Analysieren Sie DHTML-, JavaScript-, DOM-, BOM- und WEB-Standardbeschreibungen
  • Detaillierte Erklärung des Unterschieds und der Verwendung von DOM und BOM in JavaScript

<<:  Ubuntu 20.04: Beispiel zum Ändern der IP-Adresse

>>:  Einführung in die Wissenspunkte MySql-Tabelle, Datenbank, Sharding und Partitionierung

Artikel empfehlen

Ideen und Praxis einer mehrsprachigen Lösung für ein Vue.js-Frontend-Projekt

Inhaltsverzeichnis 1. Welche Inhalte müssen üblic...

Implementierung der Remote-Linux-Entwicklung mit vscode

Verabschieden Sie sich von der Vergangenheit Bevo...

Eine detaillierte Anleitung zu benutzerdefinierten Anweisungen in Vue

Inhaltsverzeichnis 1. Was ist eine benutzerdefini...

Detailliertes Tutorial zum Kompilieren und Installieren von Python3.6 unter Linux

1. Gehen Sie zunächst auf die offizielle Website ...

Detaillierte Erklärung zur Verwendung von Bild-Tags in HTML

In HTML wird das <img>-Tag verwendet, um ei...

Ausführliches Tutorial zur Installation von MySQL 8.0.19 (Windows 64 Bit)

Inhaltsverzeichnis MySQL initialisieren MySQL-Die...

So stellen Sie einen Redis 6.x-Cluster über Docker bereit

Systemumgebung: Redis-Version: 6.0.8 Docker-Versi...

So richten Sie geplante Aufgaben in Linux und Windows ein

Inhaltsverzeichnis Linux 1. Grundlegende Verwendu...

So benennen Sie die Tabelle in MySQL um und worauf Sie achten müssen

Inhaltsverzeichnis 1. Tabellenmethode umbenennen ...