suchen
HeimWeb-Frontendjs-TutorialVerlieren Sie die JQuery Bloat

Lose the jQuery Bloat ­

Kernpunkte

  • nodelist.js als Alternative zum DOM -Betrieb für JQuery bietet ähnliche Funktionen, ist jedoch kleiner (4K nach Komprimierung) und nutzt Verbesserungen an der nativen Browser -API.

  • Im Gegensatz zu JQuery behandelt Nodelist.js Knotenarrays als einzelne Knoten, wodurch sauberer Code und einfachere Nodelist -Objektvorgänge aktiviert werden.

  • nodelist.js enthält spezielle Methoden zum Einstellen und Erhalten von Attributen, zum Aufrufen von elementspezifischen Methoden und zum Zugriff auf Knoten in Nodelist sowie das prevObject -attribut, das dem Attribut von JQuery entspricht. owner

  • nodelist.js ist mit Mainstream -Browsern nach einer bestimmten Version (Firefox 6, Safari 5.0.5, Chrome 6, dh 9, Opera 11.6) kompatibel und wird automatisch aktualisiert, um neue Methoden/Eigenschaften hinzuzufügen, die vom Browser hinzugefügt wurden.

    p.tip { Hintergrundfarbe: RGBA (128.128.128.0,05); Grenz-Top-Right-Radius: 5px; Grenz-Bottom-Right-Radius: 5px; Polsterung: 15px 20px; Border-Links: 10px Solid RGBA (128.128.128,0,075); }

In den letzten Jahren ist JQuery die De -facto -JavaScript -Bibliothek im Web geworden. Es entfernt viele Cross-Browser-Inkonsistenzen und fügt Kundenskripten eine Ebene populärer syntaktischer Zucker hinzu. Einer seiner Hauptschmerzpunkte in der Abstraktionsverarbeitung sind DOM -Operationen, aber seit dem Aufkommen von JQuery wurde die nativen Browser -APIs erheblich verbessert, und das Konzept von "Sie brauchen wahrscheinlich nicht JQuery".

Die Gründe sind wie folgt:

    jQuery enthält viele Funktionen, die Sie nicht benötigen oder nicht verwenden (und daher ist es unnötig, riesig zu sein).
  1. jQuery nimmt für zu viele Menschen zu viele Funktionen an. Im Allgemeinen können kleinere Bibliotheken einige Aufgaben besser ausführen.
  2. In Bezug auf DOM -Operationen kann die Browser -API nun die meisten Funktionen von JQuery ausführen.
  3. Die Browser -API ist jetzt mehr synchronisiert, beispielsweise unter Verwendung von
  4. anstelle von addEventListener. attachEvent
Was ist das Problem?

Das Problem ist, dass die Verwendung natives (oder reines) JavaScript für DOM im Vergleich zu JQuery problematisch sein kann. Dies liegt daran, dass Sie redundanterer Code schreiben und den nutzlosen Nodelist des Browsers verarbeiten müssen.

Schauen wir uns zunächst einen Blick auf die Definition von MDN von Nodelist an:

Das

nodelistische Objekt ist eine Sammlung von Knoten, wie sie beispielsweise von den Methoden

und Node.childNodes zurückgegeben werden. document.querySelectorAll

Es gibt manchmal Dynamik -Nodelist (was verwirrend sein kann):

In einigen Fällen ist Nodelist eine dynamische Sammlung, was bedeutet, dass Änderungen in der DOM in der Sammlung widerspiegeln. Zum Beispiel ist

dynamisch. Node.childNodes

Dies kann ein Problem sein, da Sie nicht erkennen können, welche dynamisch und welche statisch sind. Es sei denn, Sie entfernen jeden Knoten vom Nodelist und überprüfen Sie dann, ob der Nodelist leer ist. Wenn Sie leer sind, haben Sie eine dynamische Nodelistin (es ist nur eine schlechte Idee).

Darüber hinaus bietet der Browser keine nützlichen Methoden zur Manipulation dieser Nodelist -Objekte.

Zum Beispiel ist es leider nicht möglich, mit forEach durch Knoten zu schleifen

var nodes = document.querySelectorAll('div');
nodes.forEach(function(node) {
  // do something
});
// 错误:nodes.forEach 不是函数
Daher müssen Sie Folgendes tun:

var nodes = document.querySelectorAll('div');
for(var i = 0, l = nodes.length; i < l; i++) {
  // do something with nodes[i]
}
oder verwenden Sie nur "Hack":

[].forEach.call(document.querySelectorAll('div'), function(node) {
    // do something
});
Der native Nodelist des Browsers hat nur eine Methode:

. Es gibt einen Knoten von Nodelist per Index zurück. Wenn wir auf den Knoten zugreifen können, wie wir ein Array verwenden (mit item), ist es völlig nutzlos: array[index]

var nodes = document.querySelectorAll('div');
nodes.item(0) === nodes[0]; // true
Hier kommt Nodelist.js ins Spiel - so einfach, ein DOM mithilfe einer nativen API von Browser wie JQuery zu bedienen, erfordert jedoch nur eine 4K -Komprimierungsgröße.

Lösung

Ich habe nodelist.js erstellt, weil ich native DOM -APIs verwendet habe, aber sie prägnanter machen möchte, wodurch beim Schreiben von Code eine Menge Redundanz reduziert wird (z. B. für Schleifen).

nodelist.js ist ein Wrapper für die native DOM -API, mit der Sie Arrays von Knoten (d. H. Mein Nodelist) manipulieren können, als wäre es ein einzelner Knoten. Dies gibt Ihnen mehr Funktionen als das native Nodelist -Objekt in Browser.

Wenn Sie dies für gut halten, erhalten Sie eine Kopie von nodelist.js aus dem offiziellen Github -Repository und lesen Sie den Rest dieses Tutorials weiter.

Verwendung:

Auswahl eines DOM -Knotens ist einfach:

// kehre zu meinem Nodelist $$(selector); zurück

Diese Methode wird im Hintergrund

verwendet. querySelectorAll(selector)

Aber wie ist es mit JQuery verglichen?

Ich bin froh, dass Sie diese Frage gestellt haben. Vergleichen wir einheimische JS, JQuery und Nodelist.js.

Angenommen, wir haben drei Tasten:

Ändern wir den Text jeder Schaltfläche auf "Klicken Sie auf mich":

native js:

var buttons = document.querySelectorAll('button'); // 返回浏览器无用的 NodeList
for(var i = 0, l = buttons.length; i < l; i++) {
  buttons[i].textContent = 'Click Me';
}

jQuery:

$('button').text('Click Me');

nodelist.js:

$$('button').textContent = 'Click Me';

Hier sehen wir, dass nodelist.js nodelist effektiv als einzelne Knoten behandeln kann. Das heißt, wir verweisen auf eine Nodelistin und setzen seine

-Mobilie auf "Klicken Sie mich". Nodelist.js führt dies dann für jeden Knoten im Nodelist durch. Sehr klug, oder? textContent

Wenn wir eine Methodenkette (ähnlich wie JQuery) wollen, machen wir Folgendes, was einen Verweis auf Nodelist zurückgibt:

$$('button').set('textContent', 'Click Me');

Fügen Sie jetzt einen Klickereignis -Listener zu jeder Schaltfläche hinzu:

native js:

var buttons = document.querySelectorAll('button'); // 返回浏览器无用的 NodeList
for(var i = 0, l = buttons.length; i < l; i++) {
  buttons[i].addEventListener('click', function() {
    this.classList.add('clicked');
  });
}

jQuery:

$('button').on('click', function() {
  $(this).addClass('click');
  // 或将 jQuery 与原生混合使用 `classList`:
  this.classList.add('clicked');
});

nodelist.js:

$$('button').addEventListener('click', function() {
  this.classList.add('clicked');
});

Okay, die

-Methode von JQuery ist also ziemlich gut. Meine Bibliothek verwendet die native DOM -API des Browsers (daher on), aber das hindert uns nicht daran, einen Alias ​​für die Methode zu erstellen: addEventListener

$$.NL.on = $$.NL.addEventListener;

$$('button').on('click', function() {
  this.classList.add('clicked');
});

Nicht schlecht! Dies zeigt, wie wir unsere eigene Methode hinzufügen:

var nodes = document.querySelectorAll('div');
nodes.forEach(function(node) {
  // do something
});
// 错误:nodes.forEach 不是函数

nodelist.js Unterstützung für Array -Methoden

nodelist.js erbt von Array.prototype, aber nicht direkt, da einige Methoden geändert wurden, daher ist es sinnvoll, sie mit Nodelist (Array von Knoten) zu verwenden.

push und unshift

Zum Beispiel: push und unshift Methoden können nur Knoten als Parameter annehmen, da ansonsten ein Fehler geworfen wird:

var nodes = document.querySelectorAll('div');
for(var i = 0, l = nodes.length; i < l; i++) {
  // do something with nodes[i]
}

So werden sowohl push als auch unshift nodelist zurückgegeben, um die Methoden zu ermöglichen, was bedeutet, dass es sich von den nativen Methoden Array#push oder Array#unshift von JavaScript unterscheidet, die irgendetwas akzeptieren und die neue Länge des Arrays zurückgeben. Wenn wir die Länge von Nodelist wünschen, müssen wir nur die Eigenschaft length verwenden.

Diese beiden Methoden wie die native Array -Methode von JavaScript ändern die Nodelist.

concat

concat Die Methode akzeptiert Folgendes als Parameter:

[].forEach.call(document.querySelectorAll('div'), function(node) {
    // do something
});

concat ist eine rekursive Methode, daher können diese Arrays so tief sein, wie wir es gerne haben würden und werden abgeflacht. Wenn jedoch ein Element im übergebenen Array kein Knoten, Nodelist oder HTMLCollection ist, wirft es einen Fehler auf.

concat Gibt einen neuen Nodelist zurück, genau wie die Array#concat -Methode von JavaScript.

pop, shift, map, slice, filter,

,

Sowohl die Methoden pop shift als auch Array#pop können optionale Parameter annehmen, was angibt, wie viele Knoten sich vom Nodelist zum Pop oder Verschieben haben. Im Gegensatz zu JavaScripts nativem Array#shift oder

taucht letzteres immer auf oder verschiebt ein Element im Array, unabhängig davon, was als Parameter übergeben wird.

map Wenn jeder zugeordnete Wert ein Knoten ist, gibt die

-Methode einen Nodelist zurück.

Die Methoden slice filter und

tun das Gleiche wie in realen Arrays, geben aber einen Nodelist zurück.

Array.prototype Da nodelist.js nicht direkt von Array.prototype erbt, wenn Sie beim Laden von nodelist.js eine Methode hinzufügen, wird sie nicht vererbt.

Sie können die verbleibenden Array -Methoden von nodelist.js hier anzeigen.

spezielle Methode

nodelist.js verfügt über vier eindeutige Methoden und eine Eigenschaft namens owner, was dem prevObject -Merkmal von JQuery entspricht.

get und set Methode:

Einige Elemente haben Attribute, die für Elemente dieses Typs spezifisch sind (z. B. das Attribut href auf dem Anker -Tag). Aus diesem Grund wird $$('a').href undefined zurückkehren - da es sich nicht um eine Eigenschaft handelt, die von jedem Element in Nodelist geerbt wird. So verwenden wir die Methode get, um auf diese Eigenschaften zuzugreifen:

var nodes = document.querySelectorAll('div');
nodes.forEach(function(node) {
  // do something
});
// 错误:nodes.forEach 不是函数
Die

set Methode kann verwendet werden, um diese Eigenschaften für jedes Element festzulegen:

var nodes = document.querySelectorAll('div');
for(var i = 0, l = nodes.length; i < l; i++) {
  // do something with nodes[i]
}

set Gibt auch Nodelist zurück, um die Methodenverkettung zu ermöglichen. Wir können es in textContent usw. (beide gleichwertig) verwenden:

[].forEach.call(document.querySelectorAll('div'), function(node) {
    // do something
});

Wir können auch mehrere Eigenschaften in einem Anruf festlegen:

var nodes = document.querySelectorAll('div');
nodes.item(0) === nodes[0]; // true

Alle oben genannten Vorgänge können mit jedem Attribut durchgeführt werden, z. B. style:

var buttons = document.querySelectorAll('button'); // 返回浏览器无用的 NodeList
for(var i = 0, l = buttons.length; i < l; i++) {
  buttons[i].textContent = 'Click Me';
}

call Methode

Mit der Methode

call können Sie elementspezifische Methoden aufrufen (z. B. pause in einem Videoelement):

$('button').text('Click Me');

item Methode

Die Methode

item entspricht der eq -Methode von JQuery. Es gibt einen Nodelist zurück, der nur die Knoten enthält, die den Index bestehen:

$$('button').textContent = 'Click Me';

owner Attribute

Das Attribut

owner entspricht dem prevObject von JQuery.

$$('button').set('textContent', 'Click Me');

btns.style Gibt ein Stilarray zurück, während owner den von style abgebildeten Nodelist zurückgibt.

nodelist.js Kompatibilität

Meine Bibliothek ist mit allen wichtigen neuen Browsern kompatibel, wie unten beschrieben.

Browser Version

Firefox 6 safari 5.0.5 Chrom 6 ie 9 Opera

11.6

Schlussfolgerung

Jetzt können wir endlich das nützliche Nodelist -Objekt verwenden!

Für eine Komprimierungsgröße von ca. 4K erhalten Sie alle oben genannten und mehr, über die Sie im Github -Repository von nodelist.js erfahren können.

Da nodelist.js einen Browser als Abhängigkeit verwendet, ist kein Upgrade erforderlich. Wenn der Browser dem DOM -Element neue Methoden/Attribute hinzufügt, können Sie diese Methoden/Attribute automatisch über nodelist.js verwenden. All dies bedeutet, dass die einzige Abwertung, über die Sie sich Sorgen machen müssen, die Browserentfernungsmethode ist. Dies sind normalerweise sehr niedrige Verwendungsmethoden, da wir das Web nicht brechen können.

Was denkst du? Würden Sie in Betracht ziehen, diese Bibliothek zu verwenden? Fehlen wichtige Funktionen? Ich würde gerne Ihre Kommentare in den Kommentaren unten hören.

häufig gestellte Fragen zu DOM -Operationen mit nodelist.js

Was ist der Unterschied zwischen Nodelist und HTMLCollection?

Array.from() nodelist und htmlcollection sind beide Knotensammlungen. Der Hauptunterschied zwischen ihnen besteht darin, dass Nodelist jeden Knotentyp enthalten kann, während HTMLCollection eine Sammlung von Elementknoten ist. HTMLCollection ist ebenfalls dynamisch, dh sie wird automatisch aktualisiert, wenn sich die Dokumentstruktur ändert. Nodelist hingegen ist statisch und aktualisiert nicht, um Änderungen im Dokument widerzuspiegeln.

Wie kann ich Nodelist in ein Array umwandeln? Sie können Nodelist mit der -Methode oder dem erweiterten Bediener in ein Array konvertieren. Hier erfahren Sie, wie es geht:
var nodes = document.querySelectorAll('div');
nodes.forEach(function(node) {
  // do something
});
// 错误:nodes.forEach 不是函数

Warum gibt der JQuery -Selektor PrevObject anstelle eines normalen Elements zurück?

Die Verkettungsmechanismus von

jQuery funktioniert, indem sie frühere Objekte speichert, bevor Änderungen vorgenommen werden. Auf diese Weise können Sie die Methode .end() verwenden, um in Ihren vorherigen Zustand wiederherzustellen. Wenn Sie das tatsächliche DOM -Element erhalten möchten, können Sie die Methode oder die Array -Notation .get() verwenden.

Wie kann ich Nodelist durchlaufen?

Sie können die Nodelist mit der für die Schleife für ... von Schleifen oder forEach() Methode durchlaufen. Hier ist ein Beispiel mit A für Schleife:

var nodes = document.querySelectorAll('div');
for(var i = 0, l = nodes.length; i < l; i++) {
  // do something with nodes[i]
}

Wie verwendet die .prev () -Methode in jQuery?

Die .prev() -Methode in jQuery wird verwendet, um das ausgewählte Element unmittelbar neben dem vorherigen Geschwister auszuwählen. Wenn ein Selektor bereitgestellt wird, wird das vorherige Geschwisterelement nur dann abgerufen, wenn der Selektor übereinstimmt.

Ist JQuery im Jahr 2022 noch relevant?

Während JQuery beim Start ein Spielveränderer war, hat sich das moderne JavaScript-Ökosystem erheblich verändert. Viele der Funktionen, die JQuery beliebt machen, sind jetzt in JavaScript selbst integriert. JQuery ist jedoch immer noch weit verbreitet und gewartet, und es kann für einige Projekte eine gute Wahl sein.

Wie wählt ich einen bestimmten Knoten von Nodelist aus?

Sie können einen bestimmten Knoten von Nodelist mit der Array -Notation oder der item() -Methode auswählen. Hier erfahren Sie, wie es geht:

[].forEach.call(document.querySelectorAll('div'), function(node) {
    // do something
});

Kann ich Methoden auf Nodelist verwenden, filtern und reduzieren?

nodelist ist kein Array, daher gibt es keine Methoden wie Karte, Filter und Reduzierung. Sie können Nodelist jedoch in ein Array umwandeln und diese Methoden dann verwenden.

Was ist der Unterschied zwischen QuerySelector und QuerySelectorall?

querySelector Gibt das erste Element in dem Dokument zurück, das mit dem angegebenen CSS -Selektor entspricht, und querySelectorAll gibt den Nodelist aller Elemente, die mit dem CSS -Selektor übereinstimmen, zurück.

Wie kann ich überprüfen, ob Nodelist leer ist?

Sie können überprüfen, ob Nodelist leer ist, indem Sie seine length Eigenschaft überprüfen. Wenn die Länge 0 ist, ist Nodelist leer. Hier erfahren Sie, wie es geht:

var nodes = document.querySelectorAll('div');
nodes.item(0) === nodes[0]; // true

Das obige ist der detaillierte Inhalt vonVerlieren Sie die JQuery Bloat. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Ist JavaScript in C geschrieben? Prüfung der BeweiseIst JavaScript in C geschrieben? Prüfung der BeweiseApr 25, 2025 am 12:15 AM

Ja, der Motorkern von JavaScript ist in C. 1) Die C -Sprache bietet eine effiziente Leistung und die zugrunde liegende Steuerung, die für die Entwicklung der JavaScript -Engine geeignet ist. 2) Die V8-Engine als Beispiel wird sein Kern in C geschrieben, wobei die Effizienz und objektorientierte Eigenschaften von C kombiniert werden.

JavaScripts Rolle: das Web interaktiv und dynamisch machenJavaScripts Rolle: das Web interaktiv und dynamisch machenApr 24, 2025 am 12:12 AM

JavaScript ist das Herzstück moderner Websites, da es die Interaktivität und Dynamik von Webseiten verbessert. 1) Es ermöglicht die Änderung von Inhalten, ohne die Seite zu aktualisieren, 2) Webseiten durch DOMAPI zu manipulieren, 3) Komplexe interaktive Effekte wie Animation und Drag & Drop, 4) die Leistung und Best Practices optimieren, um die Benutzererfahrung zu verbessern.

C und JavaScript: Die Verbindung erklärteC und JavaScript: Die Verbindung erklärteApr 23, 2025 am 12:07 AM

C und JavaScript erreichen die Interoperabilität durch WebAssembly. 1) C -Code wird in das WebAssembly -Modul zusammengestellt und in die JavaScript -Umgebung eingeführt, um die Rechenleistung zu verbessern. 2) In der Spieleentwicklung kümmert sich C über Physik -Engines und Grafikwiedergabe, und JavaScript ist für die Spiellogik und die Benutzeroberfläche verantwortlich.

Von Websites zu Apps: Die verschiedenen Anwendungen von JavaScriptVon Websites zu Apps: Die verschiedenen Anwendungen von JavaScriptApr 22, 2025 am 12:02 AM

JavaScript wird in Websites, mobilen Anwendungen, Desktop-Anwendungen und serverseitigen Programmierungen häufig verwendet. 1) In der Website -Entwicklung betreibt JavaScript DOM zusammen mit HTML und CSS, um dynamische Effekte zu erzielen und Frameworks wie JQuery und React zu unterstützen. 2) Durch reaktnatives und ionisches JavaScript wird ein plattformübergreifendes mobile Anwendungen entwickelt. 3) Mit dem Elektronenframework können JavaScript Desktop -Anwendungen erstellen. 4) Node.js ermöglicht es JavaScript, auf der Serverseite auszuführen und unterstützt hohe gleichzeitige Anforderungen.

Python gegen JavaScript: Anwendungsfälle und Anwendungen verglichenPython gegen JavaScript: Anwendungsfälle und Anwendungen verglichenApr 21, 2025 am 12:01 AM

Python eignet sich besser für Datenwissenschaft und Automatisierung, während JavaScript besser für die Entwicklung von Front-End- und Vollstapel geeignet ist. 1. Python funktioniert in Datenwissenschaft und maschinellem Lernen gut und unter Verwendung von Bibliotheken wie Numpy und Pandas für die Datenverarbeitung und -modellierung. 2. Python ist prägnant und effizient in der Automatisierung und Skripten. 3. JavaScript ist in der Front-End-Entwicklung unverzichtbar und wird verwendet, um dynamische Webseiten und einseitige Anwendungen zu erstellen. 4. JavaScript spielt eine Rolle bei der Back-End-Entwicklung durch Node.js und unterstützt die Entwicklung der Vollstapel.

Die Rolle von C/C bei JavaScript -Dolmetschern und CompilernDie Rolle von C/C bei JavaScript -Dolmetschern und CompilernApr 20, 2025 am 12:01 AM

C und C spielen eine wichtige Rolle in der JavaScript -Engine, die hauptsächlich zur Implementierung von Dolmetschern und JIT -Compilern verwendet wird. 1) C wird verwendet, um JavaScript -Quellcode zu analysieren und einen abstrakten Syntaxbaum zu generieren. 2) C ist für die Generierung und Ausführung von Bytecode verantwortlich. 3) C implementiert den JIT-Compiler, optimiert und kompiliert Hot-Spot-Code zur Laufzeit und verbessert die Ausführungseffizienz von JavaScript erheblich.

JavaScript in Aktion: Beispiele und Projekte in realer WeltJavaScript in Aktion: Beispiele und Projekte in realer WeltApr 19, 2025 am 12:13 AM

Die Anwendung von JavaScript in der realen Welt umfasst Front-End- und Back-End-Entwicklung. 1) Zeigen Sie Front-End-Anwendungen an, indem Sie eine TODO-Listanwendung erstellen, die DOM-Operationen und Ereignisverarbeitung umfasst. 2) Erstellen Sie RESTFUFFUPI über Node.js und express, um Back-End-Anwendungen zu demonstrieren.

JavaScript und das Web: Kernfunktionalität und AnwendungsfälleJavaScript und das Web: Kernfunktionalität und AnwendungsfälleApr 18, 2025 am 12:19 AM

Zu den Hauptanwendungen von JavaScript in der Webentwicklung gehören die Interaktion der Clients, die Formüberprüfung und die asynchrone Kommunikation. 1) Dynamisches Inhaltsaktualisierung und Benutzerinteraktion durch DOM -Operationen; 2) Die Kundenüberprüfung erfolgt vor dem Einreichung von Daten, um die Benutzererfahrung zu verbessern. 3) Die Aktualisierung der Kommunikation mit dem Server wird durch AJAX -Technologie erreicht.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

SecLists

SecLists

SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

mPDF

mPDF

mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

SublimeText3 Linux neue Version

SublimeText3 Linux neue Version

SublimeText3 Linux neueste Version

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software