【问题标题】:AS3 - mailto is opening a new browser windowAS3 - mailto 正在打开一个新的浏览器窗口
【发布时间】:2010-11-02 14:08:20
【问题描述】:

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

mc.addEventListener(MouseEvent.CLICK, sendEmail);

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

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

【问题讨论】:

    标签: flash actionscript-3 flash-cs4


    【解决方案1】:

    试试

    navigateToUrl(urlRequest, "_self");
    

    来自API

    【讨论】:

      【解决方案2】:

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

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

      navigateToUrl(urlRequest, "_self");
      

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

      【讨论】:

        【解决方案3】:

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

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

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

        干杯!

        【讨论】:

          【解决方案4】:

          我们可以使用下面的代码和ExternalInterface 其中“url”是mailto: URL。即:

          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);
          

          【讨论】:

            【解决方案5】:

            2016 年更新

            不过,我知道这是一个非常老问题;

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

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

            Adobe Animate 2015.2

            【讨论】:

              猜你喜欢
              • 2020-05-11
              • 2017-04-13
              • 2015-01-11
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2016-11-29
              相关资源
              最近更新 更多