I personally used only MetaMask and have met no problem so far. However, in order to transfer token from MetaMask to an exchange, I used to connect my MetaMask to MEW to perform the task.
I have just found that we also can connect our MetaMask to EtherDelta exchange and perform transferring task without any trouble.
Above are my experience. And I have a question that "
Is connecting MetaMask to EtherDelta safe"?
Thank you in advance.

I guess so. You should understand that EtherDelta is not storing your private keys whatever method you use to connect it. The only danger using EtherDelta is phishing sites which you can use accidently instead of original EtherDelta. And considering that, MetaMask is probably the best way to connect EtherDelta because as far i know it's checking EtherDelta's certificate before connection.