我有設置下面這段代碼我的UIWebView:的iOS stringByEvaluatingJavaScriptFromString問題
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
[webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"document.getElementById(\"image\").src=\"q%@.png\";", self.imageIndex]];
NSLog(@"%f", [[webView stringByEvaluatingJavaScriptFromString:@"document.getElementById(\"image\").height;"] floatValue]);
CGFloat width = [[webView stringByEvaluatingJavaScriptFromString:@"document.width"] floatValue];
CGFloat height = [[webView stringByEvaluatingJavaScriptFromString:@"document.height"] floatValue];
CGSize contentSize = CGSizeMake(width, height);
[self setUpNewSize:contentSize];
}
我設置新的形象與標識對象(和它的作品)。但尺寸不變。正如你所看到的,我使用NSLog打印高度值,但高度顯示爲0.0000。
這是我的HTML文件:
<!DOCTYPE html>
<html>
<head>
<title>Question 1</title>
</head>
<body>
<h3 id="header">Question 1</h3>
<img id="image" src="" alt="" width="100%">
</body>
</html>
,我爲每個圖像不同的高度,它是動態變化的。所以我的問題是爲什麼當我調用stringByEvaluatingJavaScriptFromString時,document和img的高度不會改變。也許我需要創建一些重載方法?
感謝響應,但不知道,我明白你的權利。我已經添加了你的方法,並且惰性了我的圖像代碼。但加載後我沒有看到任何變化。我先設置了斷點,然後調用了shouldStartLoadWithRequest然後是webViewDidFinishLoad,但內容沒有按照我的想法加載,這意味着我無法使用DOM對象,因爲它們尚不可用。 –