我有使用knockout.js的消息混合应用程序,如phonegap,我想让任何消息有url和/或数字成为链接并在浏览器/拨号盘中打开。我添加了此click事件,该事件返回true值,但如果文本消息中存在url或number,则单击时仍不会自动在浏览器中打开。
<span data-bind="text: content, click: function() { return true;}"></span>
我也试过这样的事情 -
<span data-bind="text: content, click: $parent.openLink.bind($data, content)"></span>
self.openLink = function(customParam, data, event) {
if (customParam.match(/\b(http|https)?(:\/\/)?(\S*)\.(\w{2,4})\b/ig))
{ cordova.InAppBrowser.open(customParam, '_blank', 'location=yes'); }
这样我可以打开任何链接,如果它出现在消息中,但这样就会使整个消息超链接。因此,如果消息在同一消息中包含多个URL和一个数字,则会出现问题。
需要一种方法,我可以简单地进行格式检测(网址或数字)并使其成为链接。 P.s我也添加了这个
<meta name="format-detection" content="url=yes"> which also does not work.