在iPhone中不执行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

我想使用UIWebView从我的iPhone应用程序执行javascript代码

但只有html部分在执行,而javascript部分不在执行。它也没有显示错误

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-那么我应该在哪里编写此代码