iPhone在UIWebView中加载Htmlstring并使用Javascript替换文本

时间:2012-01-04 15:13:03

标签: javascript iphone objective-c uiwebview

我有一个像这样的html文件。

<body class="iphone" onLoad="doSomething()">
    <div id="title_wrapper"><h2 id="title">[[[TITOLO]]]</h2></div>
    <h2 id="subtitle">[[[DATA]]]</h2>
    <div id="content">
        [[[TESTO]]]
    </div>

我将它加载到我的UIWebView中,我想用一个NSString变量的内容替换“[[[TESTO]]]”。 我该怎么办?

3 个答案:

答案 0 :(得分:7)

您可以使用UIWebView的{​​{1}}方法修改HTML后加载HTML:

-stringByEvaluatingJavaScriptFromString:

答案 1 :(得分:6)

为什么必须在javascript中执行此操作?

要在Objective-C中执行此操作,请执行:

NSString *templateHTML = [NSString stringWithContentsOfFile:@"Filename" encoding:NSUTF8Encoding error:NULL];
NSString *finalHTML = [templateHTML stringByReplacingOccurrencesOfString:@"[[TEST0]]" withString:variable];

这将使用您的变量而不是[[TEST0]]来获取HTML,然后可以使用loadHTMLString:baseURL:将其加载到UIWebView中。

答案 2 :(得分:1)

之前我做过类似的事情,但我是在目标C中做到的。

首先构建你的html文件

[NSString stringWithFormat:@"<body class="iphone" onLoad="doSomething()"><div id="title_wrapper"><h2 id="title">%@</h2></div><h2 id="subtitle">%@</h2><div id="content">%@</div>", titolo ,data, content];

然后将其加载到webview中,就像这样

[webView loadHTMLString:myHtml];