如果不包含http或https,则nsurl不会加载站点

时间:2011-05-29 14:12:55

标签: objective-c nsurl nsurlrequest

我有一个文本框,我可以在其中输入网址。问题是如果我只是输入'cnn.com'或任何前面没有'http://'的网站,页面就不会加载。有办法解决这个问题吗?

我搜索了苹果文档,但找不到我正在寻找的帮助。

我的代码:

NSString *zzz = URLbox.text;

NSURL *url = [NSURL URLWithString:zzz];
[webBrowser loadRequest:[NSURLRequest requestWithURL:url]];

2 个答案:

答案 0 :(得分:14)

检查输入网址(URLbox.text)是以http://还是https://开头,如果不是,请在其前面添加http://

答案 1 :(得分:4)

URL包含一个方案,除非它是相对的文档的一部分。 cnn.comhttp://cnn.comhttp://www.cnn.com的随意缩写。在提交请求之前,浏览器通常会自动将http://添加到您在位置栏中输入的内容。

您应该检查用户的字符串是否以方案开头(不一定只是http://https://,但在您的用例中可能就足够了)并且如果缺少则默认添加一个