我使用Sencha Touch和Phonegap (cordova-2.0.0)为 Android 开发了一个应用程序。
我有一个包含一些 HTML 的 Ext.Panel,例如:
<body>
<a href="MyPage.html">MyPage</a>
</body>
我的问题:当我在设备上运行应用程序并点击链接时,Android 浏览器会打开 URL 并退出应用程序。
我的目标:当我在设备上运行应用程序并点击链接时,应用程序应该显示点击的链接,例如:
navigator.notification.alert(MyPage.html);
我的 Phonegap 代码(在 HTMLPanel 中显示 uniqueid.html):
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onRequestFileSystemSuccess, null);
function onRequestFileSystemSuccess(fileSystem) {
fileSystem.root.getDirectory(Ext.ComponentQuery.query('#bibliothekDataView')[0].getSelection()[0].get('directory'), null, SelectedItemSuccess, SelectedItemFail);
}
//shows the uniqueid.html in the HTMLPanel
function SelectedItemSuccess(dir) {
dir.getFile(record.get('id') + '.html', null, gotFileEntry, fail);
}
function SelectedItemFail() {
navigator.notification.alert("Failed to read file contents: " + error.code);
}
function gotFileEntry(file) {
file.file(gotFile, fail);
}
function gotFile(file) {
readAsText(file);
}
function readAsText(file) {
var reader = new FileReader();
reader.onload = function (evt) {
Ext.ComponentQuery.query('#mainHTMLPanel')[0].setHtml(evt.target.result);
};
reader.onerror = function () {
navigator.notification.alert("Failed to read file!");
};
reader.readAsText(file);
}
function fail(error) {
navigator.notification.alert("Failed to read file contents: " + error.code);
}
我的 HTMLPanel(视图):
Ext.define('myApp.view.HTMLPanel', {
extend: 'Ext.Panel',
xtype: 'mainhtmlpanel',
config: {
id: 'mainHTMLPanel',
scrollable: 'vertical',
}
});