


Erstellen eines Generators für zufällige Zitate: Eine Schritt-für-Schritt-Anleitung mit Code
Dieses Tutorial führt Sie durch die Erstellung einer praktischen Random Quotes Generator-Anwendung, die sich perfekt zum Erlernen der Codierungsgrundlagen eignet. Wir werden jeden Schritt mit detaillierten Codebeispielen abdecken, damit Anfänger ihn leicht nachvollziehen können.
Projektübersicht
Diese App ruft zufällige Zitate von einer öffentlichen API ab, zeigt sie an und ermöglicht es Benutzern, sie zu kopieren oder zu teilen. Lassen Sie uns den Prozess aufschlüsseln und die Codelogik untersuchen.
Schritt 1: HTML-Struktur
Wir beginnen mit der Erstellung des HTML-Layouts:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Random Quotes Generator</title> <link rel="stylesheet" href="styles.css"> </head> <body> <div id="app"> <!-- Content will be added here --> </div> <script src="index.js"></script> </body> </html>
Damit wird die Grundstruktur eingerichtet, einschließlich Elementen zur Anzeige des Angebots, Schaltflächen für neue Angebote und Symbole zum Kopieren und Teilen.
Schritt 2: CORS-Verarbeitung mit einem Proxy
Um auf die externe API zuzugreifen, benötigen wir eine CORS-Lösung (Cross-Origin Resource Sharing). Ein einfacher Express.js-Proxyserver erledigt dies:
// proxy.js const express = require("express"); const fetch = require("node-fetch"); const cors = require("cors"); const app = express(); app.use(cors()); app.get("/api/quote", async (req, res) => { try { const response = await fetch("https://qapi.vercel.app/api/random"); const data = await response.json(); res.json(data); } catch (error) { res.status(500).json({ error: "API fetch failed" }); } }); const PORT = 4000; app.listen(PORT, () => console.log(`Proxy running on http://localhost:${PORT}`));
Dieser lokale Proxy ruft Anführungszeichen ab und vermeidet CORS-Probleme.
Schritt 3: Angebote mit JavaScript abrufen
Die Schaltfläche „Neues Angebot“ löst einen Angebotsabruf aus:
// index.js const quoteDisplay = document.getElementById("quote"); const authorDisplay = document.getElementById("author"); async function getQuote() { try { const response = await fetch('http://localhost:4000/api/quote'); const data = await response.json(); quoteDisplay.textContent = data.quote || "No quote found."; authorDisplay.textContent = data.author || "Unknown"; } catch (error) { console.error("Quote fetch error:", error); quoteDisplay.textContent = "Error fetching quote."; } }
Dieses Skript ruft Daten ab und aktualisiert das Zitat und den Autor in der Benutzeroberfläche.
Schritt 4: Kopierfunktion
Die Clipboard-API ermöglicht das Kopieren von Angeboten:
// copyQuote.js async function copyQuote() { try { const quoteText = `${quoteDisplay.textContent} - ${authorDisplay.textContent}`; await navigator.clipboard.writeText(quoteText); alert("Copied to clipboard!"); } catch (error) { console.error("Copy failed:", error); } }
Durch Klicken auf das Kopiersymbol werden das Zitat und der Autor kopiert.
Schritt 5: Funktionalität teilen
Die Navigator-API erleichtert das Teilen:
// shareQuote.js async function shareQuote() { const quoteText = `${quoteDisplay.textContent} - ${authorDisplay.textContent}`; try { await navigator.share({ text: quoteText }); } catch (error) { console.error("Share failed:", error); // Fallback for unsupported browsers alert(`Share this quote: ${quoteText}`); } }
Dies übernimmt die Freigabe und bietet einen Ersatz für Browser, denen navigator.share
fehlt.
Schritt 6: Styling mit CSS
CSS formatiert die App für visuelle Attraktivität und Reaktionsfähigkeit (Beispielstile wurden der Kürze halber weggelassen).
Schritt 7: Starten der App
- Klonen Sie das Repository: (ersetzen Sie es durch Ihre tatsächliche Repository-URL)
-
Abhängigkeiten installieren:
npm install
-
Proxyserver starten:
node proxy.js
- Öffnen Sie
index.html
in Ihrem Browser.
Projektstruktur
-
index.html
: Hauptbenutzeroberfläche -
proxy.js
: CORS-Proxyserver -
index.js
: Angebotsabruf und -anzeige -
copyQuote.js
: Kopierfunktion -
shareQuote.js
: Freigabefunktion -
styles.css
: Styling
API-Guthaben
Von der Quotes API bereitgestellte Angebote.
Fazit
In diesem Tutorial ging es um den Aufbau eines Generators für zufällige Anführungszeichen, die Demonstration der API-Integration, der CORS-Verarbeitung und der Browser-APIs. Es ist eine großartige Übung zum Erlernen der API-Interaktion, der JavaScript-Grundlagen und der Browser-APIs. Feedback ist willkommen!
GitHub | LinkedIn | X
Das obige ist der detaillierte Inhalt vonErstellen eines Generators für zufällige Zitate: Eine Schritt-für-Schritt-Anleitung mit Code. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

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

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen











Ich sehe, dass Google -Schriftarten ein neues Design (Tweet) ausgelöst haben. Im Vergleich zur letzten großen Neugestaltung fühlt sich dies viel iterativer an. Ich kann den Unterschied kaum erkennen

Haben Sie jemals einen Countdown -Timer für ein Projekt benötigt? Für so etwas ist es möglicherweise natürlich, nach einem Plugin zu greifen, aber es ist tatsächlich viel mehr

Alles, was Sie schon immer über Datenattribute in HTML, CSS und JavaScript wissen wollten.

Zu Beginn eines neuen Projekts erfolgt die SASS -Zusammenstellung im Blinzeln eines Auges. Dies fühlt sich gut an, besonders wenn es mit Browsersync kombiniert ist, das nachlädt

Tartan ist ein gemustertes Tuch, das normalerweise mit Schottland verbunden ist, insbesondere mit ihren modischen Kilts. Auf Tartanify.com haben wir über 5.000 Tartan gesammelt

Mit der Inline-Template-Anweisung können wir reichhaltige Vue-Komponenten als fortschreitende Verbesserung gegenüber vorhandenem WordPress-Markup erstellen.

PHP -Vorlagen erhält oft einen schlechten Rap für die Erleichterung von unterdurchschnittlichem Code - aber das muss nicht der Fall sein. Schauen wir uns an, wie PHP -Projekte eine Basis durchsetzen können

Wir sind immer darauf aus, das Web zugänglicher zu machen. Farbkontrast ist nur Mathematik, sodass SASS dazu beitragen kann, Kantenfälle zu bedecken, die Designer möglicherweise verpasst haben.
