2017-03-22 2 views
0

Ich schrieb ein Javascript für eine Website und ich benutze das Skript lokal von der Konsole (eigentlich tampermonkey). Ich möchte einen externen Speicher haben (der ständig wachsen wird), mit dem ich über das Skript kommunizieren kann.Was ist der beste Weg das zu tun? Könnte ich irgendwie irgendwie eine Verbindung zu einer SQL-Datenbank mit meinem eigenen PHP herstellen?Javascript mit lokalen Speicher von der Konsole

+0

Da ist der lokale Speicher dafür. Sie können eine Lib verwenden, wie http://www.taffydb.com/ – R3tep

Antwort

0

Wenn Sie den Code für eine Webseite an www.example.com gehostet schreiben, können Sie ein local storage Objekt (oder bestimmte similar options) verwenden, um eine begrenzte Menge an Daten zu speichern, die über mehrere Sitzungen und zur Verfügung stehen offline anhalten werden. Im Prinzip könnten Sie eine JS-Bibliothek haben, die eine SQL-Datenbank zusätzlich zu einer dieser lokalen Speichermethoden implementiert, aber mir sind keine Beispiele bekannt und es scheint, als wäre es übertrieben.

Kein Browser ermöglicht es einer allgemeinen Website, aus offensichtlichen Sicherheitsgründen unbegrenzte lokale Daten zu speichern oder deren Beständigkeit zu garantieren.

Ihre Seite kann natürlich auf eine SQL-Datenbank unter www.example.com zugreifen, indem Sie XMLHttpRequest zum Lesen und Schreiben von Daten über Skripts verwenden, die Sie auf dem Server eingerichtet haben (z. B. http://www.example.com/my_json_data.php). Dies wäre der übliche Ansatz.

Wenn Sie auch die Einrichtung des Client-Computer steuern, dann ist es möglich, dass eine Seite bei www.example.com eine lokalen Datenbank auf die gleiche Art und Weise zuzugreifen, z.B. Ihr Skript kann Daten von http://localhost/my_json_data.php lesen. Dies verstößt gegen die Richtlinie des gleichen Ursprungs des Browsers. Daher müssen Sie den lokalen HTTP-Server so konfigurieren, dass er die cross-origin request zulässt. Sie müssen auch die SQL-Datenbank, den HTTP-Server und die Zugriffskripte auf jedem Client-Computer einrichten. Aber das ist mit ziemlicher Sicherheit nicht der beste oder einfachste Ansatz, selbst für eine Intranetanwendung.

Verwandte Themen