8.3.3 网页超链接的使用

公众平台的文本消息支持网页超链接,即使用HTML中的<a>标签将某些文字链接到其他网页上。例如,下面这段标准的HTML代码实现了将“当当网”3个字链接到当当网的主页,当用户点击“当当网”时,将会通过微信内置浏览器访问http://m.dangdang.com。

  1. 买书上<a href="http://m.dangdang.com">当当网</a>!

我们将上面这段HTML代码放到文本消息内容中,需要像下面这样写。代码中用到了转义字符“\"”,用于显示一个双引号,这样能够保证<a>标签的href属性值是用双引号引起的。

  1. TextMessage textMessage = new TextMessage();
  2. textMessage.setToUserName(fromUserName);
  3. textMessage.setFromUserName(toUserName);
  4. textMessage.setCreateTime(new Date().getTime());
  5. textMessage.setMsgType(MessageUtil.RESP_MESSAGE_TYPE_TEXT);
  6. textMessage.setContent("买书上<a href=\"http://m.dangdang.com\">当当网</a>!");
  7. respXml = MessageUtil.messageToXml(textMessage);

下面这两种写法都是错误的,在安卓手机上消息内容会被原样显示出来。

  1. // a标签的href属性值未被引号引起
  2. textMessage.setContent("买书上<a href=http://m.dangdang.com>当当网</a>!");
  3.  
  4. // a标签的href属性值被单引号引起(iPhone上正常)
  5. textMessage.setContent("买书上<a href='http://m.dangdang.com'>当当网</a>!");

注意 由于微信的有些功能在不同的操作系统上表现不一致,因此,公众账号的测试也需要在不同操作系统的手机上进行。