How to Create an Offline Screen in Vue 3, Angular 14, oder React
In this tutorial, we will learn how to create an offline screen in Vue 3, Angular 14, and React applications using the Network API. The Network API provides network and connectivity information, allowing us to handle offline scenarios and provide a better user experience. For deeper reachability checks beyond a simple online/offline flag, @capgo/capacitor-Netzwerkdiagnostik Kann die Erreichbarkeit einer URL, TCP-Ports und WebSocket-Handshakes von native code testen.
Voraussetzungen
Bevor wir beginnen, stellen Sie sicher, dass Sie die folgenden installiert haben:
- Node.js (Version 14 oder höher)
- Vue CLI
- Angular CLI
- Create React App
Projekt einrichten
Erstens 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 wurde.
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 zusätzlichen Funktionen "Routing" aus, indem Sie die Leertaste drücken.
React
Ö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.
Die Netzwerk API installieren
Installieren wir nun das @capacitor/network Paket, das die 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ühren Sie für Capacitor-Projekte außerdem den folgenden Befehl aus, um die native Projektdateien zu synchronisieren:
npx cap sync
Stellen Sie sicher, dass Sie die Capacitor CLI global installiert haben, indem Sie den folgenden Befehl ausführen:
npm install -g @capacitor/cli
Die Offline-Anzeige implementieren
Als Nächstes werden wir die Offline-Anzeige-Funktion in jedem Framework implementieren. Wir werden eine einfache Nachricht anzeigen, wenn der Benutzer offline geht.
Vue 3
In Ihrem Vue 3-Projekt öffnen Sie 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 Ihrer Anwendungs-Vorlage (App.vue) fügen Sie ein <div> Element mit der ID offline-screen um das Offline-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>
Nun, wenn der Benutzer offline geht, wird das Offline-Bildschirm angezeigt. Wenn der Benutzer wieder online ist, wird das Offline-Bildschirm versteckt.
Angular 14
In Ihrem Angular 14-Projekt öffnen Sie das src/app/app.component.ts Datei und importieren Sie das Network Modul aus @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 Ihrer Anwendungs-Vorlage (app.component.html) fügen Sie ein <div> Element mit der ID offline-screen um die Offline-Bildschirmmeldung anzuzeigen:
<div id="offline-screen">
<h1>You are offline</h1>
<p>Please check your internet connection and try again.</p>
</div>
<!-- Your application content -->
Fügen Sie die folgenden Styles zur 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
Öffnen Sie in Ihrem React-Projekt 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
Fügen Sie die folgenden Styles zur 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;
}
Jetzt, wenn der Benutzer offline geht, wird der Offline-Bildschirm angezeigt. Wenn der Benutzer wieder online ist, wird der Offline-Bildschirm ausgeblendet.
Unterstützende Methoden und Interfaces
Der Netzwerk API bietet mehrere Methoden und Schnittstellen, um Ihnen dabei zu helfen, die Netzwerkverbindung zu handhaben. Hier sind einige der wichtigsten:
getStatus(): Abfragen des aktuellen Status der Netzwerkverbindung.addListener('networkStatusChange', ...): Auf Veränderungen in der Netzwerkverbindung lauschen.
Fortsetzen Sie mit Offline-Bildschirm in Vue, Angular, React mit Capacitor
Wenn Sie Offline-Bildschirm in Vue, Angular, React mit __CAPGO_KEEP_0__ verwenden Offline-Bildschirm in Vue, Angular, React mit Capacitor Um native Medien und Schnittstellenverhalten zu planen, verbinden Sie es mit Mit @capgo/capacitor-live-aktivitäten Für die native Fähigkeit in Mit @capgo/capacitor-live-aktivitäten, @capgo/capacitor-live-aktivitäten Für die Implementierungsdetail in @capgo/capacitor-live-aktivitäten, Mit @capgo/capacitor-video-player für die native Fähigkeit in Using @capgo/capacitor-video-player, @capgo/capacitor-video-player für die Implementierungsdetails in @capgo/capacitor-video-player und Using @capgo/capacitor-native-navigation für die native Fähigkeit in Using @capgo/capacitor-native-navigation.