Php Url方案sip:on chrome扩展不';行不通

Php Url方案sip:on chrome扩展不';行不通,php,google-chrome,sip,tel,Php,Google Chrome,Sip,Tel,在一个chrome扩展应用程序上(在浏览器中工作完美,在应用程序中则不完美),我添加了 但每次我点击它,我都会收到这样的信息: 无法访问此网站 sip:phonenr上的网页可能暂时关闭,或者可能已永久移动到新的网址 错误\u未知\u URL\u方案 “tel:phonenr”——也不起作用 “邮件收件人:test@test.com“---不知道怎么做,但它能工作 有什么解决办法吗?L-am facut Saracieee!(忽略此:)) 您可以通过loadabort侦听器捕获错误,过滤出特

在一个chrome扩展应用程序上(在浏览器中工作完美,在应用程序中则不完美),我添加了


但每次我点击它,我都会收到这样的信息:

无法访问此网站

sip:phonenr上的网页可能暂时关闭,或者可能已永久移动到新的网址

错误\u未知\u URL\u方案

“tel:phonenr”
——也不起作用

“邮件收件人:test@test.com“
---不知道怎么做,但它能工作

有什么解决办法吗?

L-am facut Saracieee!(忽略此:))

您可以通过loadabort侦听器捕获错误,过滤出特定于您需要的url,我需要从tel/sip请求中创建一个新的url,并且我在电话号码后发送了一些额外的参数。如果url创建正确,我在浏览器中打开一个新选项卡(chrome.browser.openTab),url将显示一个带有href=“tel:xxxxx”链接的简单页面,该链接适用于第三方应用程序。 最后,我们返回1个历史记录,这样chrome打包的应用程序就不会显示错误消息

这是我找到的折衷方案

webview.addEventListener('loadabort', function(e) {
        if (e.url.match(/^tel:/)) {
            var url = e.url.replace('tel:', '').replace('link=', '');
            url = url.split('?');
            if(url) {
                chrome.browser.openTab({url: url[1] + '?phone=' + url[0] });
            }
            webview.go(-1);
        }
    });
webview.addEventListener('loadabort', function(e) {
        if (e.url.match(/^tel:/)) {
            var url = e.url.replace('tel:', '').replace('link=', '');
            url = url.split('?');
            if(url) {
                chrome.browser.openTab({url: url[1] + '?phone=' + url[0] });
            }
            webview.go(-1);
        }
    });