UIWebView - 如何访问要访问的访问链接?

时间:2008-11-10 22:20:49

标签: iphone cocoa-touch

我的iPhone应用程序中有一个UIWebView,可以快速显示网页内容,但它不会将访问过的链接呈现给未访问的链接。通常我希望它为访问过的链接使用不同的颜色,但是没有。

Safari另一方面正确处理其链接。我假设UIWebView缺少关于它访问过的URL的信息存储。期望代表提供此信息是合理的,但代表或其他任何我可以看到的API都没有这样的API。

那么,如何让UIWebView显示访问过的访问链接?

2 个答案:

答案 0 :(得分:1)

我得出结论,获得此功能的唯一方法就是伪造它。

我通过向所有页面添加一个JavaScript函数来成功地工作,将“被访问”类应用于所有链接,这些链接的目标位于我从Objective-C传入的列表中(使用UIWebView的stringByEvaluatingJavaScriptFromString:方法)。然后我只需要在Objective-C世界中维护该列表,并始终在Web视图委托的webViewDidFinishLoad:方法中触发该JS函数。最难的是JavaScript。

答案 1 :(得分:0)

除了通过调用stringByEvaluatingJavaScriptFromString更改javascript中的CSS属性:在官方SDK中可能没有支持的方法来执行此操作。与桌面上的WebView相比,UIWebView非常有限。