的UIWebView stringByEvaluatingJavaScriptFromString包裝標籤比方說,我有一個這樣的HTML:與其他標籤
<html>
<form>
<input type="button" id="Signature8" pdfFieldName="Signature8" onclick="document.location='pdz://signatureTapped?name=Signature8'" />
</form>
</html>
,我想以編程
<html>
<form>
<img src="Signature8.png">
<input type="button" id="Signature8" pdfFieldName="Signature8" onclick="document.location='pdz://signatureTapped?name=Signature8'" />
</img>
</form>
</html>
在Objective-C有一個UIWebView替換它。我做了什麼,到目前爲止,已經來到了這一點:
-(void) injectCode:(NSString*) code intoWebView:(UIWebView*) webView withEndCode:(NSString*) endCode {
NSString* innerhtml = [webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"document.forms[0].%@.outerHTML", self.identifier]];
NSString* newCode = [NSString stringWithFormat:@"document.forms[0].%@.outerHTML=%@%@%@", self.identifier, code, innerhtml, endCode];
[webView stringByEvaluatingJavaScriptFromString:newCode];
NSLog(@"%@", [webView stringByEvaluatingJavaScriptFromString:@"document.body.outerHTML"]);
}
應該這樣調用:
[f injectCode:[NSString stringWithFormat:@"<img src=\"%@.png\" id=\"%@\">", f.identifier, f.identifier] intoWebView:self.webView withEndCode:@"</img>"];
(而F是包含名稱,標識,那等對象Signature8字段)。 問題是:這不起作用。當我通過它進行調試時,我可以看到innerhtml被填充,我可以看到newCode實際上是正確的(至少對我來說)是正確的,我認爲用newCode分配outerHTML的行以及所有應該替換整個HTML的行。爲了驗證,我將其登錄到控制檯。是的,沒有任何改變。
任何人都可以告訴我我在做什麼錯嗎?我真的不能使用jQuery或任何其他框架,因爲代碼應該從第三方獲取它的HTML表單,而且他們不必使用jQuery或類似的東西。