私はUIWebViewで作業しています。私がしたいのは、webviewによって読み込まれたコンテンツにdivを追加することです。次のようにそのために は、私は、コードを書かれている:UIWebView stringByEvaluatingJavaScriptFromString問題
NSString *strInputJS = [NSString stringWithFormat:@"var newDiv = document.createElement('div');newDiv.innerHTML = '<h1>Hi there!</h1>';document.body.appendChild(newDiv);newDiv.style.height = 100 + 'px';"];
NSString *strResult = [_webview stringByEvaluatingJavaScriptFromString:strInputJS];
をしかし、それは動作しません。次のように私は、HTMLページと同じJavaScriptを試してみました:
<html>
<head>
<title>JSTrial</title>
</head>
<body>
<script>
var newDiv = document.createElement('div');
newDiv.innerHTML = '<h1>Hi there!</h1>';
document.body.appendChild(newDiv);
newDiv.style.height = 100 + 'px';
</script>
</body>
</html>
私はSafariブラウザでHTMLページを開くだけでなく、iPhone SimulatorでSafariブラウザ。それはうまくいった。
新しいJSを挿入しようとしている時点で、Webビューが既にロードされています。 私が見つけたものは、newDiv.styleがnullです。
このコードで何が間違っている可能性がありますか?
こんにちはDileep、返信いただきありがとうございます。私は不必要な引数を取り除こうとしました。問題は解決されません。私は、引数を削除するコード変更の問題を修正しました。 –
urのjavascriptコードはwebViewDidFinishLoadにあります.. check webView.delegate = self; –
webView.delegateがselfに設定されています。私のjavascriptコードはwebViewDidFinishLoadにはありませんが、webViewがロードされた後のある時点で表示されます。しかし、私はwebViewDidFinishLoad上のJSも、同じ問題を試してみました。また、JSはStyleが新しいDivに設定される直前まで作業しています。しかし、それはスタイルにアクセスする時には失敗しています。スタイルはnullです。 - 同じJSがブラウザで正常に動作します。 –