繁体   English   中英

在Webview中加载Javascript

[英]Loading Javascript in webview

我真的陷入了需要在Webview中加载HTML和Javascript代码的情况。 如果使用html文件加载它,则可以正常工作,但是当我尝试将其作为字符串加载时却无法正常工作。我需要将其作为字符串加载,因为我想动态更改HTML中的url。我认为问题出在HTML字符串,有人可以帮我吗。

  NSString *embedHTML = [NSString stringWithFormat:@"<HTML><HEAD><BODY>"
                           "<div id=\"fb-root\">sfd</div><script>(function(d, s, id) {var js, fjs = d.getElementsByTagName(s)[0];if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = \"http://connect.facebook.net/en_US/all.js#xfbml=1&appId=251520118193948\"; fjs.parentNode.insertBefore(js, fjs);}(document, 'script', 'facebook-jssdk'));</script>""<fb:comments-count href=http://abcd.com></fb:comments-count>"
                           "<BR></BODY></HTML>"];


    [webView loadHTMLString:embedHTML baseURL:nil];

非常简单:请使用HEADALEX,BODYALEX插入html中的u boundle index.html,并替换为u字符串

NSURL *indexURL = [[NSBundle mainBundle] URLForResource:@"index" withExtension:@"html"];
NSError *error = nil;

NSString *index = [NSString stringWithContentsOfURL:indexURL encoding:NSUTF8StringEncoding error:&error];

index = [index stringByReplacingOccurrencesOfString:@"HEADALEX" withString:htmlCodeHead];
index = [index stringByReplacingOccurrencesOfString:@"BODYALEX" withString:htmlCode];
[index writeToURL:indexURL atomically:YES encoding:NSUTF8StringEncoding error:&error];
if (error) NSLog(@"PHONE CONFIG: write to file html error:%@",error);

[adsView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"] isDirectory:NO]]];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM