我需要将 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 需要很长时间,webview 已经加载了很长时间,但是 js 注入需要额外的 2-3 秒。