我使用 Sencha Touch 和 Phonegap (cordova-2.0.0)开发适用于Android的应用。
我有一个Ext.Panel,里面有一些HTML,For Instance:
<body>
<a href="MyPage.html">MyPage</a>
</body>
我的问题:当我在设备上运行应用并点按该链接时,Android浏览器会打开该网址并退出该应用。
我的目标:当我在设备上运行应用并点按链接时,该应用应该会显示已点按的链接,例如:
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',
}
});
答案 0 :(得分:2)
您是否可以控制Ext.Panel中显示的HTML内容?如果是,请将<a href="MyPage.html">MyPage</a>
更改为<a href="javascript:alert('MyPage.html');">MyPage</a>
。