1

私のコードでは、UIWebviewにURL(aspxファイル)をロードします。ロードして正常に表示されます。

[webView loadRequest:requestObject];

iPhoneに読み込まれているHTMLコンテンツを調べたい。次のコードを使用してUIWebviewで表示すると、UIWebviewの表示形式が壊れ、行と表がワードラップ形式で表示されます。

NSString *htmlContent = [[NSString alloc] initWithContentsOfURL:inputUrl encoding:NSUTF8StringEncoding  error:&error];

[webView loadHTMLString:htmlContent baseURL:nil];

上記のようにloadRequestとloadHTMLStringを使用してファイルを開くと、何が違いを引き起こす可能性がありますか?

4

2 に答える 2

1

loadHTMLStringの呼び出しは、HTML内に含まれている相対URLを解決するために使用するURLを認識していません。これはbaseURLで渡す必要があります。

于 2012-09-27T03:08:00.190 に答える
0

興味があるかもしれない人のためのコードはここにあります:

    NSString* userAgent = @"Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3"; // user agent for iPhone browser
    NSMutableURLRequest* request = [[NSMutableURLRequest alloc] initWithURL:inputUrl]; // ARC enabled
    [request setValue:userAgent forHTTPHeaderField:@"User-Agent"]; //setting user agent
    NSURLResponse* response = nil;
    NSError* error = nil;
    NSData* data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
    NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; // ARC enabled
    NSURL *base = [NSURL URLWithString:@"http://mainwebsitehere"];
    [webView loadHTMLString:str baseURL:base];
于 2012-09-27T19:54:38.960 に答える