无法打开外部网页

时间:2013-05-14 17:37:37

标签: tidesdk

我正在尝试使用以下代码在子窗口中打开外部网页

var secondwindow = Ti.UI.createWindow("http://www.google.com");

这曾经很好地工作,但突然它停止工作,我也尝试使用

打开它
window.location.assign("http://www.google.com");

但这也不起作用。应用程序控制台输出

[Ti.Network.Analytics] [错误]网址https://api.appcelerator.net/p/v1/app-track失败:无法连接到服务器

有人可以向我解释这里发生了什么吗?

1 个答案:

答案 0 :(得分:0)

据我所知(刚刚开始学习SDK),你无法做到这一点。您可以通过编写html文件在应用程序包中定义自己的窗口,使用Ti.UI对象打开它,并使用Ti.Network命名空间的HTTPCLient获取外部HTML内容。通过这种方式,您可以加载所需的HTML内容或其他类似JSON,并将其植入您的窗口HTML DOM。

示例:

首先,您将使用自己的html文件创建一个新窗口:

Ti.UI.createWindow("app://special-window.html") 

在该文件中,您将执行一些Javascript来获取一些外部资源,如HTML:

//Request URL
var url = 'http://mywebsite.com/api/users/';
//Create the HTTP Client
var client = Ti.Network.createHTTPClient({
    onload: function(e) {
         //request complete do something with data
         //assuming that we are not working with XML
         Ti.API.INFO('Response received '+this.responseText);
         // DO SOMETHING WITH THE this.responseText HERE (like adding it to your DOM)
    },
    onerror: function(e) {
         //error received, do something
    }
});

//Specify request type and open 
client.open('GET',url);
//Send request
client.send();

代码来自文档。 (正如我所说,我刚刚开始使用SDK)

希望,我可以帮助一点:)