javascript - UIWebView stringByEvaluatingJavaScriptFromString 问题

标签 javascript dom ipad uiwebview ios

我在 View Controller 中有以下代码。 “pageDisplay”是一个 UIWebView。 当我在模拟器中运行该应用程序时,HTML 页面出现在 JS 运行之前。 id 为“myHeader”的元素,一个 <h1>标签,不变。

-(void) loadPageToView:(int)pageNumber{
    NSString *path = [[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"%d",pageNumber]ofType:@"html"];
    NSURL *url = [NSURL fileURLWithPath:path];
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    [pageDisplay loadRequest:request];
    [self doJavaScript];
}

-(void) doJavaScript{
    [pageDisplay    stringByEvaluatingJavaScriptFromString:@"document.getElementById('myHeader').innerHTML = \"FOO\";"];   
}                                                     

最佳答案

你太早调用了 doJavaScript。您需要等到页面加载完毕。调查 Web View 委托(delegate)方法 - (void)webViewDidFinishLoad:(UIWebView *)webView

关于javascript - UIWebView stringByEvaluatingJavaScriptFromString 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3753286/

相关文章:

jquery - 对 jQuery/Javascript 中的元素应用 CSS 规则后的事件

html - 将文本转换为大写会干扰布局

ios - 在 iPad 中锁定横向模式

ios - 在控件样式 MPMovieControlStyleEmbedded 中触摸全屏按钮后将 View 添加到 MPMoviePlayerController View

javascript - DayPilot Scheduler - 垂直滚动条永远不会出现

html - DOM 中安全的最大节点数?

javascript - Angular2 - 将异步数据传递给子组件

iphone - iOS 中的自定义封面流程实现

javascript - 如何在javascript中以列表形式获取具有类名的所有元素

javascript - 我如何在 HTML 中执行此 SELECT/OPTION? (javascript)