- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:mailtoとwindow.close()の二つを同時に動作させる方法)
mailtoとwindow.close()の同時動作方法
このQ&Aのポイント
- HTML上でmailtoとwindow.close()を同時に動作させることは可能でしょうか?具体的な詳細は以下の通りです。
- IEでは動作するが、FireFoxやMacのSafariでは問題が発生する場合があるため、解決方法を教えてください。
- 試したソースコードは<a href='mailto:xxxx@xxxx?subjectxxxxxx'><img src='images/agreement_btm.gif' width='110' height='30' onClick='JavaScript:window.close()'></a>です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 下記スクリプトはいかがでしょう? 私が試した時は、FireFox,safari共に ウインドウを閉じた後でメーラーが立ち上がりました ■ ヘッド内の記述 <script type="text/javascript"> <!-- function MandC(){ window.opener.location.href="mailto:aa@aaa?subject=aaa"; window.close(); } //--> </script> ■ HTMLの記述 <a href="javascript:MandC();"> <img src="images/agreement_btm.gif" width="110" height="30" border="0"> </a>
その他の回答 (1)
noname#19206
回答No.2
画像に window.close が指定されていますから、リンクよりも先にその処理をブラウザが先に実行してしまい、 Firefox や Safari でメール画面が立ち上がらない状態になっているのだと思います。 #1 さんみたいにスクリプトを呼び出して一旦メール作成画面を開く処理を行ってからウインドウを閉じるのが正解ですね。 この方法は他にも応用できると思います。理屈を覚えておいては如何でしょうか? [オフトピ] FireFox のスペルは誤りなのだそうです(参考 URL)
質問者
お礼
アドバイスをいただきありがとうございます。 java scriptはまだまだ勉強中の身の私です。 U-RIA_plusさんのおっしゃる通り、このような場をお借りして理屈を覚えていこうと思います。 ありがとうございました。
お礼
ご教示ありがとうございました。 RH01さんに教えていただいたスクリプトで試してみたところ、 Windows用のブラウザ(IE、Firefox、NN、Opera)で無事に動作しました。本当にありがとうございました。 しかし、Macをお借りして再度Firefox,safariで試したところ、どちらのブラウザともウィンドウは閉じるがメーラーは立ち上がらないといった状況です。 RH01さんにてもsafariで試していただいた際は動作したとの事で、おそらく私のソースの記述でおかしな箇所があるのかもしれません。再度ソースの記述を見直してみます。