我正在尝试使用Titanium studio构建简单的应用程序,这将加载google.com但我没有得到正确的结果。
1)我使用WebView加载网址,但除白屏外没有显示任何内容。
2)我使用了httpClient,但我总是遇到错误,我在onerror函数中定义了。
下面粘贴了两种方法。我是否必须在tiApp.xml中进行更改,即interent权限?
请帮助我,我怎样才能更好地做到这一点?
注意:我正在使用代理互联网。模拟器和设备都出现问题。
我正在从app.js
加载js文件var win = Ti.UI.currentWindow;
Ti.App.fireEvent('show_indicator'); //display loading spinner until webview gets loaded
var fbUrl = "http://www.facebook.com";
var extwebview = Titanium.UI.createWebView({
url:fbUrl,
backgroundColor:'#ccc'
});
win.add(extwebview); //adding webview in current window
extwebview.addEventListener('load', function() {
Ti.App.fireEvent('hide_indicator'); //Hide the Loading indicatr
});
---------------方法2 -----------------
var url ="http://www.google.com.pk";
var xhr = Ti.Network.createHTTPClient({
onload: function() {
// I don't know what to write here.
},
onerror: function(e) {
Ti.API.debug("STATUS: " + this.status);
Ti.API.debug("TEXT: " + this.responseText);
Ti.API.debug("ERROR: " + e.error);
alert('There was an error retrieving the remote data. Try again.');
},
timeout:50000
});
xhr.open("GET", url);
xhr.send();
答案 0 :(得分:1)
方法1的代码看起来不错。您的负载事件是否会触发?我建议你在WebView上为“错误”事件添加一个处理程序,看看是否被触发了?
extwebview.addEventListener('error', function(e) {
Ti.API.debug("Oh no!");
});
然而,“错误”事件不会触发404或其他HTTP相关错误。另一个测试选项是设置webview的html值,而不是加载外部URL,并确保WebView的其他所有内容都正常工作,并且可以在那里看到html。您的代理可能遇到了问题。
var extwebview = Titanium.UI.createWebView({
html:"<html><head></head><body><h1>YOU MADE IT!</h1></body></html>",
backgroundColor:'#ccc'
});
答案 1 :(得分:0)
你的第一个代码工作正常,我不禁想到你的问题与你的win变量有关。
您的窗户可能无法打开吗?即在代码末尾尝试win.open()。
你能否测试win是否正确填充了窗口对象,Ti.UI.currentWindow只能在从网址实例化窗口的某些情况下使用。
如果这些仍然不起作用,您可以提供app.js文件中的代码吗?
答案 2 :(得分:0)
你的问题与网址有关......我曾经疯狂过这个lol
应该是
http://www.google.com.pk
基本上如果您在视图中有一个名为detailwebview的webview,那么您可以
$。detailwebview.url =&#34; http://www.google.com.pk"
喝彩!