Ich lerne HTML5 und testen die neuen Funktionen auf einer Qt-Hybrid-Anwendung. Jetzt arbeite ich an einem einfachen Geolocation-Beispiel, aber wenn ich rufe, navigator.geolocation.getCurrentPosition (displayLocation); Es scheint, dass das QtWebKit es nicht unterstützt, aber gemäß dieser http://trac.webkit.org/wiki/QtWebKitFeatures22 unterstützt die Version von QtWebKit, die mit Qt4.8.0 kommt, Geolocation.Qt WebKit und HTML5 Geolocation
Dies ist der Code, ich verwende:
window.onload = function()
{
getMyLocation();
}
function getMyLocation()
{
if(navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(displayLocation);
}
else
{
alert("No geolocation support");
}
}
function displayLocation(position)
{
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
var div = document.getElementById("location");
div.innerHTML = "You are at Latitude: " + latitude + ", Longitude: " + longitude;
}
Und auf der Seite Qt:
QWebView* MyWindow::createWebView()
{
QWebSettings* default_settings = QWebSettings::globalSettings();
default_settings->setAttribute(QWebSettings::JavascriptEnabled,true);
default_settings->setAttribute(QWebSettings::OfflineStorageDatabaseEnabled,true);
default_settings->setAttribute(QWebSettings::OfflineWebApplicationCacheEnabled,true);
default_settings->setAttribute(QWebSettings::LocalContentCanAccessRemoteUrls,true);
default_settings->setAttribute(QWebSettings::LocalStorageEnabled,true);
default_settings->setAttribute(QWebSettings::JavascriptCanAccessClipboard,true);
default_settings->setAttribute(QWebSettings::DeveloperExtrasEnabled,true);
QWebView* web_view = new QWebView(this);
connect(web_view->page()->mainFrame(), SIGNAL(javaScriptWindowObjectCleared()),
this, SLOT(addJavascriptObject()));
inspector_->setPage(web_view->page());
inspector_->setVisible(true);
inspector_->show();
web_view->load(QUrl("qrc:/html/geolocation_example.html"));
return web_view;
}
Jeder weiß, wie Html5 Geolocation für eine Qt Desktop-Anwendung zu aktivieren?
Das Problem ist, dass es nicht einmal aufrufen navigator.geolocation.getCurrentPosition (displayLocation); Es kann nicht finden navigator.geolocation – userX731
userX731, haben Sie das jemals herausgefunden? – jdcravens
Ich habe versucht, dies mit PyQt4 zu implementieren, aber das featurePermissionRequested-Signal scheint nie zu feuern. – Snorfalorpagus