链接点按打开Android浏览器并退出应用程序

时间:2012-09-26 11:56:55

标签: android cordova sencha-touch-2

我使用 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',
    }
});  

1 个答案:

答案 0 :(得分:2)

您是否可以控制Ext.Panel中显示的HTML内容?如果是,请将<a href="MyPage.html">MyPage</a>更改为<a href="javascript:alert('MyPage.html');">MyPage</a>