我正在为Thunderbird编写附加组件,并希望能够在某些情况下取消发送电子邮件。我有以下代码,可以让我在发送电子邮件之前执行代码,但是我不知道如何停止它。

document.getElementById("msgcomposeWindow").addEventListener( "compose-send-message", function(){
  var msgcomposeWindow = document.getElementById( "msgcomposeWindow" );
  var msg_type = msgcomposeWindow.getAttribute( "msgtype" );

  // do not continue unless this is an actual send event
  if( !(msg_type == nsIMsgCompDeliverMode.Now || msg_type == nsIMsgCompDeliverMode.Later) )
      return;


  alert('Sending Message...');//works fine
  if(true){ //eventually this would have more logic...
    //stop email
  }else{
    //let email go
  }
}, true );


我需要怎么做才能停止发送电子邮件?

最佳答案

为了防止发送电子邮件,您需要防止事件冒泡:

function send_event_handler( evt ) {
    if(shouldStopEmail) {
        evt.preventDefault();
        return false;
    }
}

window.addEventListener( "compose-send-message", send_event_handler, true );

关于javascript - 停止发送电子邮件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12780711/

10-12 15:18