2013-01-15 52 views
1

我有一个HTML文件,它有一个< div>并且我正在加载到一个UIWebView中,我需要知道div中有多少行文本,所以我可以使用javascript来检查:iOS从UIWebView中检索JavaScript变量

<script> 
function countLines() { 
    var divHeight = document.getElementById('myDiv').offsetHeight; 
    var lineHeight = parseInt(document.getElementById('myDiv').style.lineHeight); 
    var lines = divHeight/lineHeight; 
    alert("Lines: " + lines); 
} 
</script> 

和它提醒变量“线”

在Objective-C我怎样才能从我的UIWebView检索此变量,然后在我的代码中使用它?

谢谢!

回答

8

的UIWebView的方法stringByEvaluatingJavaScriptFromString:是唯一的接口到JavaScript环境。它评估并返回传递给它的JavaScript表达式的值的字符串表示。因此,例如:

// simplified expression, no function needed 
NSString *expr = @"document.getElementById('myDiv').offsetHeight/document.getElementById('myDiv').style.lineHeight"; 
// now pass it to the web view and parse the result 
int lines = [[self.webView stringByEvaluatingJavaScriptFromString:expr] intValue]; 
3

这很简单:

NSString *jsString = @"function countLines() {var divHeight = document.getElementById('myDiv').offsetHeight;var lineHeight = parseInt(document.getElementById('myDiv').style.lineHeight);var lines = divHeight/lineHeight;return lines;};countLines();"; 

NSString *responseString = [MywebView stringByEvaluatingJavaScriptFromString:jsString]; 

而且你应该在responseString变量,你可以从一个NSString的值转换为编号:-)

+0

  • 11. iOS UIWebView中的Javascript console.log()
  • 12. 从闪存中检索变量值
  • 13. Python - 从内存中检索变量?
  • 14. 从全局变量中检索函数
  • 15. 从一个变量中检索整数
  • 16. 从函数变量中检索数组
  • 17. 从数组检索中改变常量
  • 18. 如何从cfquery中检索SQL变量?
  • 19. 从jQuery对话框中检索变量?
  • 20. 从jquery中检索变量each()
  • 21. 从表函数中检索变量
  • 22. 如何从方法中检索变量
  • 23. 从.txt错误中检索变量;批
  • 24. PDO - 从事务中检索变量值?
  • 25. 从Javascript中检索URL后无法显示变量值
  • 26. 如何从JavaScript函数中检索Java变量?
  • 27. 从URL中检索JavaScript文件并以Java访问变量
  • 28. 从javascript变量中检索和加载json
  • 29. 刮网页和检索的JavaScript变量
  • 30. Jquery/JavaScript - 检索数组变量