Heim >Web-Frontend >CSS-Tutorial >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.
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.
Wir beginnen mit der Erstellung des HTML-Layouts:
<code class="language-html"><!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></code>
Damit wird die Grundstruktur eingerichtet, einschließlich Elementen zur Anzeige des Angebots, Schaltflächen für neue Angebote und Symbole zum Kopieren und Teilen.
Um auf die externe API zuzugreifen, benötigen wir eine CORS-Lösung (Cross-Origin Resource Sharing). Ein einfacher Express.js-Proxyserver erledigt dies:
<code class="language-javascript">// 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}`));</code>
Dieser lokale Proxy ruft Anführungszeichen ab und vermeidet CORS-Probleme.
Die Schaltfläche „Neues Angebot“ löst einen Angebotsabruf aus:
<code class="language-javascript">// 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."; } }</code>
Dieses Skript ruft Daten ab und aktualisiert das Zitat und den Autor in der Benutzeroberfläche.
Die Clipboard-API ermöglicht das Kopieren von Angeboten:
<code class="language-javascript">// 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); } }</code>
Durch Klicken auf das Kopiersymbol werden das Zitat und der Autor kopiert.
Die Navigator-API erleichtert das Teilen:
<code class="language-javascript">// 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}`); } }</code>
Dies übernimmt die Freigabe und bietet einen Ersatz für Browser, denen navigator.share
fehlt.
CSS formatiert die App für visuelle Attraktivität und Reaktionsfähigkeit (Beispielstile wurden der Kürze halber weggelassen).
npm install
node proxy.js
index.html
in Ihrem Browser.index.html
: Hauptbenutzeroberflächeproxy.js
: CORS-Proxyserverindex.js
: Angebotsabruf und -anzeigecopyQuote.js
: KopierfunktionshareQuote.js
: Freigabefunktionstyles.css
: StylingVon der Quotes API bereitgestellte Angebote.
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!