在iPhone中不执行Javascript
我想使用UIWebView从我的iPhone应用程序执行javascript代码 但只有html部分在执行,而javascript部分不在执行。它也没有显示错误在iPhone中不执行Javascript,javascript,iphone,Javascript,Iphone,我想使用UIWebView从我的iPhone应用程序执行javascript代码 但只有html部分在执行,而javascript部分不在执行。它也没有显示错误 NSMutableString *htmlCode = [NSMutableString stringWithString:@"<!DOCTYPE HTML>"]; [htmlCode appendString:@"<html><head><tilte> sadaf </titl
NSMutableString *htmlCode = [NSMutableString stringWithString:@"<!DOCTYPE HTML>"];
[htmlCode appendString:@"<html><head><tilte> sadaf </title>"];
[htmlCode appendString:@"<h1>My First Web Page</h1>"];
[ htmlCode appendString:@" <p id='demo'>This is a paragraph.</p>"];
[self.webView loadHTMLString:htmlCode baseURL:nil];
webView.delegate= self;
[webView stringByEvaluatingJavaScriptFromString:@"<script type='text/javascript'>document.getElementById('demo').innerHTML=Date();</script> "];
NSMutableString*htmlCode=[nsmutablestringwithstring:@'';
[htmlCode appendString:@“sadaf”];
[htmlCode appendString:@“我的第一个网页”];
[htmlCode appendString:@“这是一段。
”;
[self.webView加载htmlstring:htmlCode baseURL:nil];
webView.delegate=self;
[webView stringByEvaluatingJavaScriptFromString:@“document.getElementById('demo').innerHTML=Date();”;
如果您使用stringByEvaluatingJavaScriptFromString
评估JavaScript,则不需要将JavaScript代码包装在
标记中(事实上,这样做会阻止脚本执行)。试试这个:
[webView stringByEvaluatingJavaScriptFromString:@"document.getElementById('demo').innerHTML=Date();"];
检查委托是否已正确设置
- (void)viewDidLoad
{
[super viewDidLoad];
// init and create the UIWebView
webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 88, 320, 400)];
webView.autoresizesSubviews = YES;
webView.autoresizingMask=(UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth);
[webView setDelegate:self];//set the web view delegates for the web view to be itself
NSMutableString *htmlCode = [NSMutableString stringWithString:@"<!DOCTYPE HTML>"];
[htmlCode appendString:@"<h1>My First Web Page</h1>"];
[htmlCode appendString:@" <p id='demo'>This is a paragraph.</p>"];
[htmlCode appendString:@"</form> </body> </html> "];
[self.webView loadHTMLString:htmlCode baseURL:nil];
[self.view addSubview:webView];//add the web view to the content view
}
- (void) webViewDidFinishLoad:(UIWebView *)webView1
{
NSLog(@"webViewDidFinishLoad");
[webView1 stringByEvaluatingJavaScriptFromString:@"alert('hi');document.getElementById('demo').innerHTML=Date();"];
}
-(void)viewDidLoad
{
[超级视图下载];
//初始化并创建UIWebView
webView=[[UIWebView alloc]initWithFrame:CGRectMake(0,88320400)];
webView.autoresizesSubviews=是;
webView.autoresizingMask=(uiviewautoresizingflexiblewhight | UIViewAutoresizingFlexibleWidth);
[webView setDelegate:self];//将web视图的web视图委托设置为自身
NSMutableString*htmlCode=[NSMutableString stringWithString:@”“;
[htmlCode appendString:@“我的第一个网页”];
[htmlCode appendString:@“这是一段。
”;
[htmlCode appendString:@”“;
[self.webView加载htmlstring:htmlCode baseURL:nil];
[self.view addSubview:webView];//将web视图添加到内容视图
}
-(无效)webViewDidFinishLoad:(UIWebView*)webView1
{
NSLog(@“webViewDidFinishLoad”);
[webView1 stringByEvaluatingJavaScriptFromString:@“警报('hi');document.getElementById('demo')。innerHTML=Date();”;
}
这可能会有帮助 @mplungjan-是的,我应该更清楚。如果在传递给
stringByEvaluatingJavaScriptFromString
的字符串中使用
标记,则不会对JavaScript求值。@aroth-那么我应该在哪里编写此代码