如何打开`tel:+ 48123`链接客户端而不在浏览器中打开新窗口/选项卡

时间:2014-09-06 19:23:48

标签: javascript asp.net-mvc browser hyperlink

如果我单独点击tel:+4842566链接,我需要提供相同的行为。默认的电话应用程序应该不再调用该号码。

我管理了除了新标签打开之外。我写道:

function Call(){
    window.open("tel:+4842566",'_blank');     
}

和此:

function Call(){
    window.open("tel:+4842566");     
}

和此:

  function Call(){
        document.getElementById('mymailto').click();
    }


<a href="tel:+48123456" id="mymailto" style="display:none"></a>

结果是一样的。计算机会拨打该号码,但会打开新标签页。

问题:是否可以在没有新标签/窗口的情况下调用/打开此链接?

编辑:在我尝试运行此客户端之前,我在服务器端进行了操作,但没有意识到当我部署应用程序时,它不是将要调用的客户端:

public ActionResult Call(int id, string number) {
  System.Diagnostics.Process proc = new System.Diagnostics.Process();
    string formattedNumber = "tel:+48" + formatPhoneNumber(number);
    System.Diagnostics.Debug.WriteLine("NUMBER " + formattedNumber);
    proc.StartInfo.FileName = formattedNumber;
    proc.Start();
    Person person = db.Persons.Find(id);
    return RedirectToAction("Edit", new Person { Id = id });
}

然后我没有得到新标签,也许它会以某种方式提供帮助。

编辑2: 我不是简单地寻找href链接因为启动tel:链接只是同时发生的两件事之一:

<p>@Html.ActionLink("Call Cell Phone", "Call", new { id = Model.Id, number = Model.CellNumber }, new { @class = "btn btn-default", onclick = "Call();" })</p>

我转到控制器操作并调用Call() javascript方法,JavaScript方法是唯一可以完成简单打开任何链接的地方。

4 个答案:

答案 0 :(得分:3)

确定。这是一个小作弊,它适用于Chrome,但不适用于IE,我在ASP .NET MVC Web Apllications的开发中使用它。

   function Call(){
        document.getElementById('mymailto').click();
    }

和HTML

<a href="tel:+48123456" id="mymailto" style="display:none"></a>

答案 1 :(得分:2)

解决方案更容易:

document.location.href="tel:"+the_number;

答案 2 :(得分:2)

window.open(“ tel:888”,“ _self”);

第二个参数与'a'标签的“ target”属性相同。 这是目标的解释: https://www.w3schools.com/tags/att_a_target.asp 因此,“ _ self”表示当前框架(在大多数情况下,=当前页面)

答案 3 :(得分:0)

解决方法是:

[] = []+1;
相关问题