如何在iphone中改变uiwebview中的phonenumber颜色

时间:2011-02-16 07:26:49

标签: ios4 uiwebview

我已经解析了html内容以在webview中显示。 默认情况下有webview检测到的电话号码,但这些链接显示为蓝色,我想将其更改为白色,怎么可能?

如果有人知道请告诉我..

提前致谢。

5 个答案:

答案 0 :(得分:2)

根据this question,您需要做的就是设置a(超链接)CSS属性。请参阅David Thomas的回答。具体来说,他为电话网址提出了这个解决方案:

a[href^=tel] { /* css */ }

答案 1 :(得分:1)

您可以在服务器端或客户端更改html内容的样式颜色。

要从客户端执行此操作,您必须首先获得html内容的elementId或类(您可以通过在链接上单击鼠标右键并选择检查元素从chrome执行此操作)

然后在你的uiwebview上(一旦完成加载)你执行javascript来改变元素颜色:

 - (void)webViewDidFinishLoad:(UIWebView *)webView
 {
   NSString *javascripString = [NSString stringWithFormat:@"document.getElementById(\"linkId\").style.color=\"white\";", m_studyId];
   [uiwebview stringByEvaluatingJavaScriptFromString:javascripString];
 }

答案 2 :(得分:1)

iPhone使用a:link属性中的当前颜色设置。即使电话号码是纯文本而且未附加超链接标记,它也会使用该值。如果未设置CSS定义,则iPhone使用默认值。对于那些可能不知道的人,你可以设置这样的值。

<head>
    <style>
        a:link {
        color:#FFCC14;
            text-decoration:underline;
        }
    </style>
</head>

如果您没有超链接的CSS样式设置,请添加它或将颜色更改为最适合您网页的颜色。

答案 3 :(得分:0)

尝试DarkDust解决方案。从客户端来看,它会是这样的:

- (void)webViewDidFinishLoad:(UIWebView *)webView{
NSString *javascripString = [NSString stringWithFormat:@"document.createElement('meta');meta.name='format-detection';meta.content='telephone=no';document.getElementsByTagName('head')[0].appendChild(meta);"];
[webView stringByEvaluatingJavaScriptFromString:javascripString];
}

答案 4 :(得分:0)