再次单击选项卡时,Webview不会再次加载

时间:2013-08-16 08:45:57

标签: android titanium appcelerator titanium-mobile

我正在使用钛和开发与厨房水槽相同的标签应用

我的主页选项卡从json文件加载html数据这是代码,

HomeContent.js

function HomeWindow(title) {
var self = Ti.UI.createWindow({
    title:title,
    backgroundColor:'white'
});
var fileName = 'includes/HomeContent.json';
var file = Titanium.Filesystem.getFile(Titanium.Filesystem.resourcesDirectory, fileName);
var preParseData = (file.read().text);
var response = JSON.parse(preParseData);
var content = response[0].content;
var webview = Titanium.UI.createWebView({data:content});
self.add(webview);
return self;
};

module.exports = HomeWindow;

它是第一次工作,而再次点击它不会再次调用特定的HTML。

更多参考这里是我的选项卡生成代码,我认为不会产生任何问题,

var homewindowWin = new HomeWindow(L('HomeContent'));
var homeTab = Ti.UI.createTab({
    title: L('Home'),
    icon: '/images/tabs/KS_nav_ui.png',
    window: homewindowWin
});
homewindowWin.containingTab = homeTab;
self.addTab(homeTab);

坚持认为任何帮助都会非常感激。

1 个答案:

答案 0 :(得分:0)

我通过选项卡的加载事件解决了这个问题,再次分配webview看下面的编辑代码,

function HomeWindow(title) {
var self = Ti.UI.createWindow({
    title:title,
    backgroundColor:'white'
});

 var fileName = 'includes/HomeContent.json'; 
 var file = Titanium.Filesystem.getFile(Titanium.Filesystem.resourcesDirectory,   fileName);    
 var preParseData = (file.read().text); 
 var response = JSON.parse(preParseData); 
 var content = response[0].content;
 var webview = Titanium.UI.createWebView({data:content});
 var counter = 0;
 webview.addEventListener('load', function(e) {
     counter++;
        if ( counter > 1 ) {
            self.remove(webview);
            webview = null;
            fileName = 'includes/HomeContent.json'; 
             file = Titanium.Filesystem.getFile(Titanium.Filesystem.resourcesDirectory, fileName);    
             preParseData = (file.read().text); 
             response = JSON.parse(preParseData); 
             content = response[0].content;
        }
        var webview = Titanium.UI.createWebView({data:content});
            self.add(webview);
        });
 self.add(webview);
 return self;
 };

 module.exports = HomeWindow;