1

问题介绍 -
对于 AS3,我希望当人们单击电子邮件地址时,它会打开他们的电子邮件程序。因此我这样做:

mc.addEventListener(MouseEvent.CLICK, sendEmail);

function sendEmail(e:MouseEvent):void{<br />
     navigateToURL(new URLRequest("mailto:name@domainname.com"));<br />
}

问题:每次用户点击影片剪辑时,都会打开他们的电子邮件程序。但是,浏览器也会打开一个新窗口。单击具有电子邮件地址的影片剪辑时,如何避免浏览器打开新窗口?

4

5 回答 5

4

对此有一个非常简单的答案。导航到 URL 将打开一个新的浏览器窗口或根据指定的方式自行执行,如果没有打开窗口,则无论如何都会打开一个。使用sendToURL代替navigateToURL,我刚刚测试过,它工作正常。

sendToURL(new URLRequest("mailto:name@example.com"));

sendToURL也是 flash.net 包中的一个函数

干杯!

于 2009-06-18T21:40:49.897 回答
3

尝试

navigateToUrl(urlRequest, "_self");

来自API

于 2009-06-12T20:10:33.880 回答
1

2016 更新

但是,我知道这是一个非常古老的问题;

navigateToURL(new URLRequest("mailto:name@domainname.com"), "_blank");

自动在 Outlook 中打开一封新电子邮件,而无需打开新的浏览器选项卡。

Adobe 动画 2015.2

于 2016-09-06T03:40:40.633 回答
0

邮件程序正在打开,因为您将邮件 ID 作为 URL。我认为您的意图是在用户单击链接时发送邮件,对吗?

并使用 CookieOfFortune 所说的在同一窗口中打开。在

navigateToUrl(urlRequest, "_self");

第二部分,_self将目标窗口设置为self。如果你想在新窗口中打开,你必须使用navigateToUrl(urlRequest, "_blank");

于 2009-06-17T10:56:44.930 回答
0

我们可以使用以下代码,ExternalInterface 其中 'url' 是一个mailto:URL。IE:

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);
于 2015-07-28T18:47:50.200 回答