问题的介绍 -
使用AS3,我希望当用户点击电子邮件地址时,它会打开他们的电子邮件程序。因此,我这样做:
mc.addEventListener(MouseEvent.CLICK, sendEmail);
function sendEmail(e:MouseEvent):void{<br />
navigateToURL(new URLRequest("mailto:name@domainname.com"));<br />
}
问题: 每次用户单击影片剪辑时,它都会打开其电子邮件程序。但是,浏览器也在打开一个新窗口。单击具有电子邮件地址的影片剪辑时,如何避免浏览器打开新窗口?
答案 0 :(得分:4)
对此有一个非常简单的答案。导航到URL将打开一个新的浏览器窗口或根据指定的方式自行完成,如果没有打开窗口,它将打开一个窗口。使用sendToURL
代替navigateToURL
,我刚刚测试过,它运行正常。
sendToURL(new URLRequest("mailto:name@example.com"));
sendToURL
也是flash.net包中的一个函数
干杯!
答案 1 :(得分:3)
答案 2 :(得分:1)
2016年更新
我知道这是一个非常旧问题;
navigateToURL(new URLRequest("mailto:name@domainname.com"), "_blank");
在Outlook中自动打开新电子邮件,而无需打开新的浏览器标签。
Adobe Animate 2015.2
答案 3 :(得分:0)
邮件程序正在打开,因为您将邮件ID作为URL。我认为您的意图是在用户点击链接时发送邮件吗?
要在同一个窗口中打开,请使用CookieOfFortune所说的内容。在
navigateToUrl(urlRequest, "_self");
第二部分_self
将目标窗口设置为self。
如果要在新窗口中打开,则必须使用navigateToUrl(urlRequest, "_blank");
答案 4 :(得分:0)
我们可以使用以下代码ExternalInterface
在哪里&#39; url&#39;是mailto:
网址。即:
mailto:abc@example.com?subject=Hello&body=defg
//Mailto Links from Flash
ExternalInterface.call("function(link){var wEmail = window.open(link, '_blank'); setTimeout(function(){ wEmail.close();}, 70);}", url);