在Ajax回调中打开电子邮件客户端.不能在iPhone上运行
Open email client within Ajax callback. Not working on iPhone
我需要通过javascript打开电子邮件客户端。我需要在ajax调用的成功函数内完成此操作。
我的问题是,这不能在iPhone上工作。当它不在Ajax调用内时,它工作得很好。
function open_email_client(){
var a = document.createElement('a');
a.setAttribute("href", "mailto:myfriend");
a.setAttribute("target", "_blank");
var dispatch = document.createEvent("HTMLEvents");
dispatch.initEvent("click", true, true);
a.dispatchEvent(dispatch);
}
// open_email_client(); Works here for computer (Chrome) and iPhone (Safari)
$.ajax({
type: "POST",
url: "myurl/",
data: {},
success: function(data){
open_email_client(); // Only works on computer, not iPhone. Tested with alert() that it does go here.
}
,error: function(e) {
}
});
我也试过了:
document.location.href = "mailto:my_friend";
这对于iPhone(也在Ajax中)工作得很好,但在计算机上不行,因为我需要客户端在新窗口或选项卡中打开。
我想要一个解决方案,不需要我测试我在哪种设备上。
我最终以不同的方式解决了这个问题,这是可能的,因为初始操作是手动点击。
注意ajax调用必须有async=false。
<a id = "email_link" target = "blank_" >
<div>Email</div>
</a>
$("#email_link").click(function(){
$.ajax({
type: "POST",
url: "myurl/",
async: false,
data: {},
success: function(data){
$("#email_link").attr("href","mailto:myfriend");
}
,error: function(e) {
}
});
});
相关文章:
- jQuery AJAX刷新没有'不能在iPhone上工作
- Nivo Lightbox不能在iPhone上打开,但可以在iPad上使用
- 为什么我的HTML5 / JS应用程序不能在我的iPhone上运行
- 为什么 $.post 似乎不能在我的网站上的 iPad/iPhone 上运行
- 流星:谷歌登录不'不能在iphone/ipad上工作
- Titanium Javascript -代码可以在iPhone上运行,但不能在Android上运行
- innerHTML不能在iPhone上工作
- 引导3:手机导航可以在桌面打开,但不能在iPhone上打开
- mootools setProperty方法不能在iphone, ipad上工作
- 在Ajax回调中打开电子邮件客户端.不能在iPhone上运行
- PHP多个cookie不能在iPad / iPhone浏览器上工作
- sessionStorage不能在iphone 6的safari上工作-非私有模式
- JQuery事件$(文档).ready不能在IPhone 5上运行移动safari
- 下拉菜单不能在iPhone上工作
- Phonegap事件不能在iphone上工作
- 为什么我的网站的单选按钮不能在iPhone/iPad上点击?
- HTML5 Video不能在iPhone和iPad上运行
- iPhone WebApp添加到主屏幕后不能正常工作
- 《Overflow》不能在iPhone和iPad上运行
- 为什么JavaScript .play()不能在iPhone safari上播放音频文件?