我有这个URL:http://m.10bet.com/#game_event#6404838#99数字总是不同的,但其中总是有三个#标签符号。UIWebView不加载它,但移动Safari加载,这是我的代码:
UIWebView *myWebView = [[UIWebView alloc] initWithFrame:frame];
NSURL * url = [NSURL URLWithString:@"http://m.10bet.com/#game_event#6404838#99"];
[myWebView loadRequest:[NSURLRequest requestWithURL:url]];
我知道如何处理URL中的一个#(但不是全部三个):
UIWebView *myWebView = [[UIWebView alloc] initWithFrame:frame];
NSURL *fullURL = [NSURL URLWithString:@"#game_event" relativeToURL:@"http://m.10bet.com/"];
[myWebView loadRequest:[NSURLRequest requestWithURL:fullURL]];
我也试着在URL中用%23替换#,但也不起作用。
我现在的解决方法是,我调用一个URL缩短器,它返回缩短后的URL并将其加载到UIWebView中,这可以正常工作,但速度相当慢。
有什么想法吗,伙计们?
试试这个:
NSString *str = @"http://m.10bet.com/";
NSURL * url = [NSURL URLWithString:str];
[webview loadRequest:[NSURLRequest requestWithURL:url]];
在UIWebViewDelegate上,添加:
- (void)webViewDidFinishLoad:(UIWebView *)webView {
[webView stringByEvaluatingJavaScriptFromString:@"window.location.href = '#game_event#6404838#99'"];
}
'#'是一个特殊字符,因此在加载到UIWebView之前需要对其进行编码。Mobile safari会在开始加载之前自动完成。因此,请将"#"替换为"%23",并尝试在UIWebView中加载它。
希望这将帮助您:)