奇妙な振る舞いをする。にUIWebView
は、要素の位置を検出する javacript 関数があります。これです:
function getPosition(element){
var el = element;
var pos = [el.offsetLeft, el.offsetTop];
var parent = el.offsetParent;
if (parent != el) {
while (parent) {
pos[0] += parent.offsetLeft;
pos[1] += parent.offsetTop;
parent = parent.offsetParent;
}
}
//alert(pos);
return pos;
}
特別なことは何もありません...しかし、そのような関数を呼び出すと:
NSString *position = [browserWebView stringByEvaluatingJavaScriptFromString:@"getPosition(document.getElementById('exampleElement'));"];
私は空のNSString
背中を取得します。関数にアラートを挿入すると(現在はコメント解除されています)、アラート内の正しい位置が得られます!!
正しい戻り値があるように見えるのに、値が返されず、空の文字列だけが取得されるのはなぜpos
ですか?