在viewDidLoad上的UIWebView上加载URL。
- (void)viewDidLoad
{
[super viewDidLoad];
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL
URLWithString:@"http://abc.com/Test.html"]]];
}
然后在NSTimer上运行以下命令来执行javascript。对JavaScript的调用效果很好。
-(void)WebViewLoad:(NSTimer *)theTimer
{
NSString *abcFiles = [webView stringByEvaluatingJavaScriptFromString:@"abc.length"];
NSLog(@"The TotalNumberOfFiles is %i",abcFiles); //This works
//--------------------------------------------------------
NSString *currentURL = webView.request.URL.absoluteString;
NSLog(@"Current url 1 is %@",currentURL);
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://abc.com/newpage.html"]]];
[self.view addSubview:webView];
NSString *currentURL2 = webView.request.URL.absoluteString;
NSLog(@"Current url 2 is %@",currentURL2);
}
评论专线上方的所有内容都有效。 但是添加新URL的部分,我仍然可以获得初始URL。 我尝试添加重新加载。那没起效。 尝试创建一个新的UIWebView对象也无法正常工作。
结果是
Current url 1 is http: //abc.com/Test.html
Current url 2 is http: //abc.com/Test.html
我想要
Current url 1 is http: //abc.com/Test.html
Current url 2 is http: //abc.com/newpage.html
另一个问题是“我们可以从代码加载一个新的URL。它不是通过按钮或任何动作来的。它来自一个重复的计时器。这是一个问题吗?”
答案 0 :(得分:0)
您没有看到预期请求的原因是request
的{{1}}属性未被UIWebView
更改,直到 请求之后完全加载,包括所有重定向和资产。