【问题标题】:nsurl doesn't load sites if http or https not include如果 http 或 https 不包括,nsurl 不会加载网站
【发布时间】:2011-09-04 07:43:43
【问题描述】:

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

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

我的代码:

NSString *zzz = URLbox.text;

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

【问题讨论】:

    标签: objective-c nsurl nsurlrequest


    【解决方案1】:

    检查输入 URL (URLbox.text) 是否以 http://https:// 开头,如果不是,则以 http:// 为前缀。

    【讨论】:

    • 谢谢大家!搞定了:NSString *myURLString = URLbox.text; NSURL *myURL; if ([myURLString hasPrefix:@"http://"]) { myURL = [NSURL URLWithString:myURLString]; } else { NSString *rer = [NSString stringWithFormat:@"http://%@", myURLString]; myURL = [NSURL URLWithString:rer]; rer = URLbox.text;; NSLog(@"updated textbox"); }
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-03
      • 2012-01-17
      • 1970-01-01
      • 1970-01-01
      • 2012-12-29
      • 1970-01-01
      相关资源
      最近更新 更多