2011-12-09 64 views
1

我有一個文件名爲proof.html像這樣的:的UIWebView和javascript需要加載數據

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

<title>{title}</title> 
    <link rel="stylesheet" type="text/css" href="{cssURL}" /> 
    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" /> 
    <meta name="apple-mobile-web-app-capable" content="yes" /> 
</head> 
<body class="{language} {custom}"> 
<div class="FeedTitle">{feedTitle}<br /><span><em>via</em> RSS</span></div> 
<div class="Published">{date}</div> 
<div class="Title"><a href="{sourceURL}">{title}</a></div> 
<div class="Author">{author}</div> 
<div class="RSS">{text}</div> 
<div class="Original"><a href="{sourceURL}"></a></div> 

後來我使用下面的命令加載它在我的UIWebViev現在我不明白我如何用我的新聞的作者的真實姓名替換{author}例子...我怎樣才能將它傳遞給我的UIWebView?有人可以分享一個例子嗎? 謝謝。

回答

3

您將需要使用JavaScript來做到這一點,該方法stringByEvaluatingJavaScriptFromString:

例如:

[yourWebView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"document.getElementById('Author').innerHTML = '%@';",authorsName]]; 

注:在上面的例子中,你將需要一個id屬性添加到您的div 。

+0

嗯我嘗試你的代碼,但我不明白它是如何工作的。 NSString * author = @「Sample」; [doc stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@「document.getElementById('author')。innerHTML ='%@';」,author]];但我無法用{Sample}字符串替換{author}。 –

+0

'document.getElementById('author')'會在你的網頁中搜索'id'屬性等於'author'的div元素。你必須改變你的HTML爲'

{author}
'它工作 – Mutix

+0

現在我明白了!非常感謝! –

0

您可以使用javascript更改它。

[webview stringByEvaluatingJavaScriptFromString:@"your js code"]; 

上面的代碼將評估javascript到你的當前頁面。你可以添加js代碼來將作者設置爲你想要的字符串。

+0

謝謝我明白,但我不知道我可以創建一個功能,可以取代我在uiwebview上看到的{author}。你能舉出一個例子嗎? –