我的iPhone应用程序中有一个UIWebView,可以快速显示网页内容,但它不会将访问过的链接呈现给未访问的链接。通常我希望它为访问过的链接使用不同的颜色,但是没有。
Safari另一方面正确处理其链接。我假设UIWebView缺少关于它访问过的URL的信息存储。期望代表提供此信息是合理的,但代表或其他任何我可以看到的API都没有这样的API。
那么,如何让UIWebView显示访问过的访问链接?
答案 0 :(得分:1)
我得出结论,获得此功能的唯一方法就是伪造它。
我通过向所有页面添加一个JavaScript函数来成功地工作,将“被访问”类应用于所有链接,这些链接的目标位于我从Objective-C传入的列表中(使用UIWebView的stringByEvaluatingJavaScriptFromString:方法)。然后我只需要在Objective-C世界中维护该列表,并始终在Web视图委托的webViewDidFinishLoad:方法中触发该JS函数。最难的是JavaScript。
答案 1 :(得分:0)
除了通过调用stringByEvaluatingJavaScriptFromString更改javascript中的CSS属性:在官方SDK中可能没有支持的方法来执行此操作。与桌面上的WebView相比,UIWebView非常有限。