我不能让邮寄地址的链接,打开邮件应用程序移动Safari当使用jQTouch.什么可能是错的?

StackOverflow https://stackoverflow.com/questions/2317431

  •  22-09-2019
  •  | 
  •  

我在发展中的iPhone网应用程序的使用 jQTouch, ,而且它包含一个简单的 mailto: 链接到一个有效的电子邮件地址,这应该启动的iPhone邮件应用程序挖掘的时候,但它不。

如果我去拜访一个"正常"的网页在移动Safari其中包含了完全相同的链接,并点击它,我得到的预期成果:邮件应用程序弹出正确的电子邮件地址的领域。

这里就是链接的超文本标记语言(地址更改),只是在情况下我会坚果和已经做了一个愚蠢的错误,但它似乎完美的罚款:

<p><a href="mailto:info@mycompany.com">info@mycompany.com</a></p>

有没有人碰到这一点时,使用jQTouch?或任何人都可以至少表明一种方式,我可以试这个吗?在那一刻当我敲击非工作链接,它闪烁的红色(该活动链接的国家)和绝对没有别的发生。

有帮助吗?

解决方案 2

我在jQTouch演示包,看到他们加入target="_blank"属性他们的电子邮件链接的示例代码看了一遍。

我这样做是为了我的链接,并开始工作(弹出邮件客户端窗口)。然而,链接,在一个标准的Web页面的作品一样好,但的的的target="_blank"属性...

我百思不得其解,但增加该属性似乎如果您的移动网页使用jQTouch来解决这个问题。

其他提示

我发现,加入 target="_blank" 链接的工作--除了在某些桌面浏览器,它打开了一个新的空窗口打开了电子邮件窗口。授予,jqtouch网站通常不要看桌面上的浏览器,但我不喜欢这种行为。

相反,这是我做了什么:

  • mailto: 链接 onclick 事件和增加返回 false (以实际链接到 # 没有火)
  • 加入一个 noHighlight 类的链接

这里是一个例子:

<a href="#" onclick="window.location='mailto:email@domain.com'; return false;" class="noHighlight">Email me</a>

然后我修改CSS在主题的文件。

之前:

ul li a.active {
   background: #194fdb url(img/selection.png) 0 0 repeat-x;
   color: #fff;
}

之后:

ul li a.active:not(.noHighlight) {
   background: #194fdb url(img/selection.png) 0 0 repeat-x;
   color: #fff;
}

我之所以加入的 noHighlight 类是,没有它,这个按钮将会得到强调,并将"坚持"这使得按钮看起来就像是仍在一些活跃的状态。要获得围绕这一问题,我增加了类和修改CSS如上所述。

什么CSS变化的确是,如果链接(内部的一个 li 这是内部的一个 ul)具有类 noHighlight, 它将不会改变的背景,或文字颜色。

似乎是伟大的现在桌面和移动浏览器。

这是不相关的jQTouch,但至mailto:链接不工作对我也并解决这些问题,都是我所要做的就是在冒号后面加斜杠

mailto://info@mycompany.com

上心这里做到这一点: HTTP: //mobiledevelopertips.com/cocoa/launching-other-apps-within-an-iphone-application.html 。奇怪的是,电话联系工作得很好,我没有斜杠。

它正常工作只是用目标= “_空白”。

对于那些(像我)谁觉得这恼人的每一个你在的的mailto 的或电话的链接点击时间拿到了“这将在新页面打开”弹出你可以这样做:

编辑jqtouch.js并转到线284:

if ($el.attr('target') == '_blank' || $el.attr('rel') == 'external')

现在通过更换这个行:

if ($el.attr('target') == '_self' || $el.attr('target') == '_blank' || $el.attr('rel') == 'external')

和上的HTML(例如):

<a href="tel:+351912345678">Call me</a>

变为

<a target="_self" href="tel:+351912345678">Call me</a>

出色的发现,我在做同样的事情,不明白为什么直到最近。如果你环顾四周线jqtouch.js 161和284修订版109你看到目标属性“_blank”将劫持您的点击事件保持jqtouch。它正在拦截的情况下,因为这是从页面移动到页面的主要机制。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top