2012-06-22 63 views
0

我需要注入JavaScript到基本鏈接菜單,以標記當前選定的菜單項以不同的顏色。使用的代碼:UIWebview JavaScript注射太慢

NSString *jsString = [NSString stringWithFormat: @"var allLinks = document.getElementsByTagName('a');for(var i = 0; i < allLinks.length; i++){var link = allLinks[i];if(link.toString().indexOf(\"%@\") != -1){link.setAttribute(\"class\", \"active\"); break;}}", currentURL]; 


    [self.topNavigationBarWebView stringByEvaluatingJavaScriptFromString: jsString]; 

並從webviewdidfinishloading調用。然而,花費很長時間來評估這個javascript的web服務器,webview已經加載了很長時間,但js注入需要2-3秒的時間。

+0

爲什麼不使用本機UI組件? – 2012-06-22 15:02:06

+0

這是客戶的要求 –

回答

0

這是投訴還是問題?如果它的問題到底是什麼問題?

如果你想知道是否有任何其他方式執行Javascript比這個,沒有沒有。

您無法將stringByEvaluatingJavaScriptFromString加速爲其內置函數。

的唯一選項是 a)執行你的JavaScript的DOM後加載,而不是等待頁面加載,看它是否給人以更快 b中的外觀)評估/ changeO \你的JavaScript來看看它是最優的,或者它可以變得更高效,你可以刪除for循環嗎?