Wie erstellt man einen Offline-Bildschirm in Vue 3, Angular 14 oder React?
In diesem Tutorial lernen wir, wie man einen Offline-Bildschirm in Vue 3, Angular 14 und React-Anwendungen erstellt, indem man den Netzwerkzugriff API verwendet. Der Netzwerkzugriff API liefert Informationen über das Netzwerk und die Verbindung, sodass wir offline-Szenarien handhaben und einen besseren Benutzererlebnis bieten können. Für tiefergehende Erreichbarkeitsprüfungen über einen einfachen Online/Offline-Flag hinaus @capgo/capacitor-Netzwerkdiagnostik can test URL reachability, TCP ports, and WebSocket handshakes from native code.
Bevor wir beginnen, stellen Sie sicher, dass Sie die folgenden installiert haben:
Node.js
- (Version 14 oder höher) Vue __CAPGO_KEEP_0__
- Angular CLI
- Angular CLI
- Create React App
Einstellungen für das Projekt
Zuerst erstellen wir ein neues Projekt mit der jeweiligen Scaffold-Tool für jedes Framework.
Vue 3
Öffnen Sie Ihr Terminal und führen Sie den folgenden Befehl aus, um ein neues Vue 3-Projekt zu erstellen:
vue create offline-screen-vue3
Wählen Sie die Standardvorlage und warten Sie, bis das Projekt erstellt wird.
Angular 14
Öffnen Sie Ihr Terminal und führen Sie den folgenden Befehl aus, um ein neues Angular 14-Projekt zu erstellen:
ng new offline-screen-angular14
Folgen Sie den Anweisungen und wählen Sie bei der Frage nach zusätzlichen Funktionen "Routing" aus, indem Sie die Taste "Spacebar" drücken. Warten Sie, bis das Projekt erstellt wird. React
Öffnen Sie Ihr Terminal und führen Sie den folgenden Befehl aus, um ein neues React-Projekt zu erstellen:
Öffnen Sie Ihr Terminal und führen Sie den folgenden Befehl aus, um ein neues React-Projekt zu erstellen:
npx create-react-app offline-screen-react
Warten Sie, bis das Projekt erstellt wurde.
Installieren Sie das Netzwerk API
Installieren Sie nun das @capacitor/network Paket, das das Netzwerk API bereitstellt.
Öffnen Sie Ihr Terminal und navigieren Sie zu Ihrem Projektverzeichnis. Dann führen Sie den folgenden Befehl aus, um das Paket zu installieren:
npm install @capacitor/network
Für Capacitor-Projekte führen Sie auch den folgenden Befehl aus, um die native Projektdateien zu synchronisieren:
npx cap sync
Stellen Sie sicher, dass Sie das Capacitor CLI global installiert haben, indem Sie den folgenden Befehl ausführen:
npm install -g @capacitor/cli
Implementierung der Offline-Schaltfläche
Als nächstes werden wir die Offline-Schaltflächenvorlage in jedem Framework implementieren. Wir werden eine einfache Nachricht anzeigen, wenn der Benutzer offline geht.
Vue 3
Öffnen Sie in Ihrem Vue 3-Projekt das src/main.js Datei und importieren Sie das Network Modul von @capacitor/network:
import { createApp } from 'vue';
import { Network } from '@capacitor/network';
const app = createApp(App);
// Your application setup
app.mount('#app');
Network.addListener('networkStatusChange', status => {
if (status.connected) {
// User is back online
// Hide the offline screen
document.getElementById('offline-screen').style.display = 'none';
} else {
// User is offline
// Display the offline screen
document.getElementById('offline-screen').style.display = 'block';
}
});
const logCurrentNetworkStatus = async () => {
const status = await Network.getStatus();
console.log('Network status:', status);
};
In Ihrem Anwendungs-Template (App.vue), fügen Sie ein <div> Element mit der ID offline-screen um das Offline-Screen-Bildschirm-Meldung anzuzeigen:
<template>
<div id="app">
<div id="offline-screen">
<h1>You are offline</h1>
<p>Please check your internet connection and try again.</p>
</div>
<!-- Your application content -->
</div>
</template>
<style>
#offline-screen {
display: none;
text-align: center;
padding: 20px;
background-color: #f2f2f2;
}
#offline-screen h1 {
font-size: 24px;
}
#offline-screen p {
font-size: 16px;
}
</style>
Jetzt, wenn der Benutzer offline geht, wird das Offline-Screen-Bildschirm angezeigt. Wenn der Benutzer wieder online kommt, wird das Offline-Screen-Bildschirm verborgen.
Angular 14
In Ihrem Angular 14-Projekt öffnen Sie das src/app/app.component.ts Datei und importieren Sie das Network Modul von @capacitor/network:
import { Component } from '@angular/core';
import { Network } from '@capacitor/network';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
constructor() {
Network.addListener('networkStatusChange', status => {
if (status.connected) {
// User is back online
// Hide the offline screen
document.getElementById('offline-screen').style.display = 'none';
} else {
// User is offline
// Display the offline screen
document.getElementById('offline-screen').style.display = 'block';
}
});
}
logCurrentNetworkStatus = async () => {
const status = await Network.getStatus();
console.log('Network status:', status);
};
}
In Ihrem Anwendungs-Template (app.component.html), fügen Sie ein <div> element mit einer id von offline-screen zum Anzeigen des Offline-Bildschirm-Meldung:
<div id="offline-screen">
<h1>You are offline</h1>
<p>Please check your internet connection and try again.</p>
</div>
<!-- Your application content -->
Hinzufügen Sie die folgenden Styles zum app.component.css Datei:
#offline-screen {
display: none;
text-align: center;
padding: 20px;
background-color: #f2f2f2;
}
#offline-screen h1 {
font-size: 24px;
}
#offline-screen p {
font-size: 16px;
}
Jetzt, wenn der Benutzer offline geht, wird der Offline-Bildschirm angezeigt. Wenn der Benutzer wieder online ist, wird der Offline-Bildschirm ausgeblendet.
React
Klicken Sie in Ihrem React-Projekt auf die src/App.js Datei und importieren Sie das Network Modul aus @capacitor/network:
import React, { useEffect } from 'react'
import { Network } from '@capacitor/network'
function App() {
useEffect(() => {
Network.addListener('networkStatusChange', (status) => {
if (status.connected) {
// User is back online
// Hide the offline screen
document.getElementById('offline-screen').style.display = 'none'
}
else {
// User is offline
// Display the offline screen
document.getElementById('offline-screen').style.display = 'block'
}
})
}, [])
const logCurrentNetworkStatus = async () => {
const status = await Network.getStatus()
console.log('Network status:', status)
}
return (
<div id="app">
<div id='offline-screen'>
<h1>You are offline</h1>
<p>Please check your internet connection and try again.</p>
</div>
{/* Your application content */}
</div>
)
}
export default App
Hinzufügen Sie die folgenden Styles zum App.css Datei:
#offline-screen {
display: none;
text-align: center;
padding: 20px;
background-color: #f2f2f2;
}
#offline-screen h1 {
font-size: 24px;
}
#offline-screen p {
font-size: 16px;
}
Now, wenn der Benutzer offline geht, wird das Offline-Bildschirm angezeigt. Wenn der Benutzer wieder online ist, wird das Offline-Bildschirm versteckt.
Unterstützte Methoden und Interfaces
Der Netzwerk-API bietet mehrere Methoden und Interfaces, um Ihnen dabei zu helfen, die Netzwerkverbindung zu handhaben. Hier sind einige der wichtigsten:
getStatus(): Abfragen des aktuellen Status der Netzwerkverbindung.addListener('networkStatusChange', ...): Hört auf Veränderungen in der Netzwerkverbindung.
Fortsetzen Sie mit Offline-Bildschirm in Vue, Angular, React mit Capacitor
Wenn Sie mit Offline-Bildschirm in Vue, Angular, React mit Capacitor planen Sie native Medien und Schnittstellenverhalten, verbinden Sie es mit Verwenden Sie @capgo/capacitor-live-Aktivitäten Für die native Fähigkeit in Verwenden Sie @capgo/capacitor-live-Aktivitäten, @capgo/capacitor-live-Aktivitäten für die Implementierungsdetails in @capgo/capacitor-live-aktivitäten, Mit @capgo/capacitor-video-player für die native Fähigkeit in Mit @capgo/capacitor-video-player, @capgo/capacitor-video-player für die Implementierungsdetails in @capgo/capacitor-video-player und Mit @capgo/capacitor-native-navigations für die native Fähigkeit in Mit @capgo/capacitor-native-navigations.