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
もう 1 つの質問は、「コードから新しい URL をロードできますか。ボタンやアクションを介してではなく、定期的なタイマーから来ています。それは問題ですか?」というものです。