2

我正在使用 Appcelerators Titanium 来构建我的应用程序。我已经使用它一段时间了,它运行良好。当我升级到最新的 Ti SDK (3.1.3 GA) 和带有 iOS7 SDK 的 Xcode 5 时,一段特定的代码停止工作。

不再起作用的行涉及 WebView。

imageData  = generateURL(win.vforumLocation + 'slide' + (id + 1) + '.pdf', 600);
//-- assume imageData is a valid URL that gets generated.
portWV.url = imageData; //-- portrait webview
landWV.url = imageData; //-- landscape webview

在我升级之前,这 3 条线路运行良好。基本上这两个 webview 正在加载相同的 URL。

升级后我遇到的是只有一个 Web 视图正在加载 url,所以我所做的是:

imageData   = generateURL(win.vforumLocation + 'slide' + (id + 1) + '.pdf', 600);
//-- assume imageData is a valid URL that gets generated.
portWV.url  = imageData; //-- portrait webview
setTimeout(function(){
    landWV.url = imageData; //-- landscape webview
},500);

对另一个.url道具和 bam 进行基本的超时调用,它起作用了。知道这里发生了什么吗?我宁愿不添加这个超时。

更新 只是测试了一下,我尝试更改正在加载的 URL,如下所示:

imageData   = generateURL(win.vforumLocation + 'slide' + (id + 1) + '.pdf', 600);
portWV.url  = imageData;
imageData   = generateURL(win.vforumLocation + 'slide' + (id + 2) + '.pdf', 600);
landWV.url = imageData;

在上面的例子中,两个 web 视图都加载了,很明显它们不再是同一张幻灯片

4

1 回答 1

0

虽然不是您最初问题的特别解决方案,但您可以通过将 eventListener 附加到 portWV 来解决使用 setTimeout 的问题,触发“加载”事件。

portWV.addEventListener('load', function() {
    landWV.url = imageData;
});

无论哪种方式,一种可能的解决方案是仅使用一个 Web 视图并检查方向更改以调整其大小...

于 2013-09-24T12:36:13.067 回答