-1

我是Extjs的新手。当我单击Extjs 4中网格面板中的按钮时,我试图在新的浏览器窗口中打开一个日志文件。

我能够下载该文件。但我不想下载它,我希望当我单击该按钮时它应该在新的浏览器窗口中打开。

我正在这样做:

{
    xtype: 'gridpanel',
    id: 'logResultGrid',
    margin: '40 0 10 20',

    width: 439,

    title: 'Logs Result:',
    store: 'LogsStore',

    viewConfig: {
        id: 'logsGrid'
    },

    columns: [{
        xtype: 'gridcolumn',
        renderer: function(value, metaData, record, rowIndex, colIndex, store, view) {
            var directoryName = Ext.getCmp('logsJobName').getValue();
            return '<a href="http://localhost:40889/Snowy/fileDownload/download.htmreportName=' + value + '&directoryName=' + directoryName + '">' + value + '</a>';
        },
        width: 297,
        dataIndex: 'fileName',
        text: 'Log Name'
    }, {
        xtype: 'actioncolumn',
        width: 116,
        items: [{
            handler: function(view, rowIndex, colIndex, item, e) {
                var my_record = view.getSelectionModel().getLastSelected();

                var directoryName = Ext.getCmp('logsJobName').getValue();
                var rec = Ext.StoreMgr.lookup("LogsStore").getAt(rowIndex);
                var my_url = 'http://localhost:40889/Snowy/fileDownload/download.htm?reportName=' + rec.data.fileName + '&directoryName=' + directoryName;

                // new Ext.Window({
                //  width: 500,
                //  height: 500,
                //  html: '<iframe width="300" height="300" src="' + my_url + '"</iframe>'
                // }).show();

                window.open(my_url, "_blank");
                //});
            },
            icon: 'resources/images/Open-Folder-Info-icon.png'
        }]
    }],

    selModel: Ext.create('Ext.selection.CheckboxModel', {

    })

}

通过执行上述操作,我可以下载该renderer文件。我正在使用下载该文件。要在新的浏览器窗口中打开该文件,我正在使用处理程序。我使用 java 作为我的后端。

如果我在这方面做错了什么,请纠正我。从过去两天开始,我一直在挣扎。

提前致谢。

4

2 回答 2

5

您应该能够使用纯 Javascript 来实现这一点:

{
    xtype: 'button',
    text: 'Open Log',
    handler: function() {
        window.open('myLog.txt');
    }
}
于 2013-06-19T18:45:32.583 回答
0

是下载文件还是在新窗口中打开是由用户决定的行为。如果要强制查看 pdf,可以使用 pdf 查看器插件。

于 2017-10-03T22:40:57.930 回答