Seite 1 von 1

Probleme mit Qt, Webkit, Javascript und SQLite

Verfasst: 31. Dezember 2011 17:24
von maxmoon
Hallo qtforum-community,

ich möchte eine Anwendung schreiben, welche eine lokale HTML-Seite lädt in der Javascript mit SQLite integriert ist. Bisher klappt alles wunderbar, HTML5 und Javascript läuft super, doch wenn ich in Javascript mit SQLite arbeite, funktioniert es nicht mehr.

Die Sache ist, dass wenn ich die HTML-Datei im Google Chrome öffne, funktioniert die Datenbank ohne Probleme, in der eigenen Anwendung passiert jedoch nichts. Habe ein Testscript benutzt.

Hier die HTML-Datei (html/index.html):

Code: Alles auswählen

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> 
   <head> 
      <title>JS DB Test</title> 
      <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> 
      <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type" /> 
      <meta content="yes" name="apple-mobile-web-app-capable" /> 
      <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;"/> 
      <script type="text/javascript"> 
var db;
if (window.localStorage) {
     var db = window.localStorage;
     document.writeln(db);
 }
 else {
     document.writeln(window.localStorage);
 }
 
      </script> 
   </head> 
   <body> 
  
   </body> 
</html> 
Hier die main.cpp:

Code: Alles auswählen

#include "html5_videotest01.h"

#include <QApplication>
#include <QWebView>

int main(int argc, char **argv) {
	QApplication app(argc, argv);


	QWebView *view = new QWebView();
	view->setWindowState(Qt::WindowMaximized);
	view->load(QUrl("html/index.html"));
	view->show();

	return app.exec();
}
Im Google Chrome kommt folgende Ausgabe:
[object Storage]

In meiner Qt-Anwendung kommt jedoch folgende Ausgabe:
null

Wieso kann ich keine Datenbank mit meiner Qt-Anwendung in Verbindung mit Javascript in HTML erstellen?
Habe ich etwas vergessen?
Habe den gleichen Fehler unter Windows (XP) und unter Linux (Ubuntu)

Für eure Hilfe bin ich sehr dankbar


Ich wünsche euch allen einen guten Rutsch ins neue Jahr! :)

Re: Probleme mit Qt, Webkit, Javascript und SQLite

Verfasst: 3. Januar 2012 05:44
von maxmoon
Ups... im Javascript oben ist noch ein anderer Test.
Der Fehler kam natürlich bei der folgenden Zeile:

Code: Alles auswählen

var db = window.openDatabase('testDb', '1.0', 'test db', 1048576);
Hier nochmal die HTML Datei (gekürzt):

Code: Alles auswählen

<html>
   <head> 
      <title>JS DB Test</title> 
      <script type="text/javascript"> 
     var db = window.openDatabase('testDb', '1.0', 'test db', 1048576);
     document.writeln(db);
      </script> 
   </head> 
   <body> 
  
   </body> 
</html> 
Ausgabe im Chrome:
[object Database]

Ausgabe im Qt Programm:
null


Ich bin für jede Hilfe sehr dankbar

Re: Probleme mit Qt, Webkit, Javascript und SQLite

Verfasst: 3. Januar 2012 12:43
von DBGTMaster
Zwar nicht die Lösung deines Problemes, aber soviel kann ich sagen, QT sollte den HTML5 Standard unterstützen:

http://qt.nokia.com/products/library/qtwebkit/

Re: Probleme mit Qt, Webkit, Javascript und SQLite

Verfasst: 3. Januar 2012 12:45
von DBGTMaster
Probier mal, bevor du den javascript code initialisiert, via qt folgende methode aufzurufen, um einen pfad für das offline storage zu setzen:

Code: Alles auswählen

QWebSettings::globalSettings()->setOfflineStoragePath("/some/writable/path/here");