2012-05-30 78 views
1

我正在製作一個從網站獲取內容的iOS應用程序。該網站允許通過在網頁中單擊鏈接時調用的JS腳本投票給內容。從iOS的網頁執行JS功能

我想在我的應用程序中進行投票,而無需向用戶顯示網頁,並要求點擊投票。

我知道這是可能使用

[myWebView stringByEvaluatingJavaScriptFromString:@"myJSFunction()"] 

但加載一個UIWebView有點長,特別是因爲它只是投票(要快)執行一個UIWebView的javascript函數,是不是有一個簡單的方法,只需要JS功能,而不需要用戶interarction(當然,除了在應用程序中錄入投票按鈕除外)

謝謝!

+0

如何顯示從網站檢索到的內容?我假設它不是uiwebview,因爲你試圖避免加載。你是否也負責網站方面(特別是myJSFunction()的行爲)? –

+0

實際上,我使用我自己的HTML解析器解析頁面的內容並在UITableView中顯示它們......不,實際上我對服務器端不負責任,並且所有者似乎並沒有對製作投票簡單的API。我只知道有這個JS函數,它投票。我只知道它使用Xajax來調用PHP函數。 – Abel

+0

stringByEvaluatingJavaScriptFromString是在iOS上執行JS的唯一方式(當然不包括Safari)。 – Gruntcakes

回答

1

在iOS上,該函數是執行JS函數的唯一方法。

你說的是使用本地用戶界面來輸入一些投票信息,但處理信息是由JS完成的?

這取決於JS正在做什麼,即它是否與dom等進行交互,但在調用stringByEvaluatingJavaScriptFromString之前,您可能不一定要等待UIWebView完成下載/加載/呈現網頁。 JS可能準備立即使用,在這種情況下,您可以在等待webViewDidFinishLoad被調用之前調用stringByEvaluatingJavaScriptFromString?