【问题标题】:How can I open a php webpage with uiwebview?如何使用 uiwebview 打开 php 网页?
【发布时间】:2012-03-14 12:51:52
【问题描述】:

我正在尝试在 uiwebview 中打开/显示 rssfeed http://www.golfweekly.nl/rss.php。但屏幕保持空白。打开http://www.google.com 只会显示谷歌内容。

这是我的 WebView.m 文件的外观:

// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
    [super viewDidLoad];

    NSString *strWebPage = @"http://www.golfweekly.nl/rss.php";
    NSURL *url = [NSURL URLWithString:strWebPage];
    NSURLRequest *requestURL = [NSURLRequest requestWithURL:url];

    [webViewBuienRadar loadRequest:requestURL];
    [strWebPage release];   

}

经过一些非常有用的提示/响应后,它可以使用以下代码:

// 实现 viewDidLoad 以在加载视图后进行额外设置,通常从 nib 进行。

- (void)viewDidLoad {
    [super viewDidLoad];

    NSString * userAgent = @"Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+(KHTML, like Gecko) Version/3.0 Mobile/1A543a Safari/419.3";
    NSString * urlString = @"http://reader.mac.com/mobile/v1/http%3A%2F%2Fwww.golfweekly.nl%2Frss.php";
    NSURL *URL = [NSURL URLWithString:urlString];
    NSMutableURLRequest *req = [NSMutableURLRequest requestWithURL:URL];
    [req setValue:userAgent forHTTPHeaderField:@"User-Agent"];
    NSURLResponse* response = nil;
    NSError* error = nil;
    NSData* data = [NSURLConnection sendSynchronousRequest:req
                                         returningResponse:&response
                                                     error:&error];
    [webViewBuienRadar loadData:data MIMEType:@"text/html" textEncodingName:@"utf-8" baseURL:URL];
}

【问题讨论】:

  • 您希望用户看到什么?
  • 嗨,阿里,它将显示一个包含高尔夫运动新闻标题的列表。单击新闻标题将显示详细信息。这是 Golfweekly 的功能。 - 布德维恩。
  • 你检查错误委托方法了吗?
  • @user1268984 :感谢您重新编辑您的问题以发布您的答案。我相信这是你的第一篇文章。通常,您要做的是选择引导您找到答案的问题(通过检查它)。我不知道您是否可以发布自己的答案。如果可以,请执行并检查。否则,请检查对您有帮助的答案。问候。

标签: php iphone xcode uiwebview


【解决方案1】:

您上面的网址提供的是 RSS 页面,而不是 HTML 页面。主要的桌面浏览器,如 firefox,ie 等,具有解析 RSS 并将其呈现为用户可读形式的功能。据我所知,UIWebView 没有此功能,因此它无法加载页面。您将需要自己解析 RSS 文件并基于它生成 HTML 页面(甚至是表格​​视图内容等)。

【讨论】:

    【解决方案2】:

    请参考that post,您可以在其中找到一个建议,以便您解析传入的 rss 提要,因为UIWebview 不会显示它。

    另一个不错的解决方案允许您更改用户代理。

    【讨论】:

    • 嗨,Zakaria,我快速将帖子中的代码复制/粘贴/编辑到我的文件中,它可以直接运行!!!渐渐地我明白了解析的需要。
    • 感谢大家的快速回复。
    • 在帖子中我不完全理解行 userAgent = @"Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+(KHTML, like Gecko) Version/ 3.0 手机/1A543a Safari/419.3";这是一条正确的路线吗?
    • @user1268984 :是的,这是用户代理。您只是告诉网站(您的网站)您正在从 Safari 移动版连接。
    • 好的,谢谢您的确认。我会自己阅读有关用户代理的内容。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多