2013-01-15 81 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 - 檢索數組變量