• ベストアンサー

テキストリンクでメーラーを起動しつつ、画面遷移なしにCGIを起動するには?

”<a href="mailto:test@test.test">test@test.test</a>”で「test@test.test」をクリックした時に、メールソフトが起動しますが、同時に、クリックした人の「REMOTE_ADDR」を取りたいのですが、何かいい方法をご存知の方、いませんか? JavaScriptの「onClick」で何とか、REMOTE_ADDRをメールで送信するCGI(PERL)を起動させようとしているのですが、うまくいきません。。

質問者が選んだベストアンサー

  • ベストアンサー
noname#19175
noname#19175
回答No.1

ページを見るときのアドレスとメールを送信するときのアドレスが変わることはほとんどありませんから、 そのページを表示するときにREMOTE_ADDRを取得しておけばよいのではないでしょうか。 たとえばアクセスカウンターなどで一緒に取得しておくことも出来ると思います。 また、フォームメールを使えば、 フォームの内容を送信したとき(サーバーがフォームの内容を受け取ってメールを送るとき)にREMOTE_ADDRを取得することもできます。 > テキストリンクでメーラーを起動しつつ、画面遷移なしにCGIを起動するには? 一案として。 <iframe name="remote_addr" style="width=1px;height:1px;display:none;"></iframe> <a href="mailto:test@test.test" onclick="window.remote_addr.location='get_addr_and_sendmail.cgi'">test@test.test</a> JavaScriptを使用できる環境では、get_addr_and_sendmail.cgiが起動します。 CGIからの出力はStyleSheetで隠したiframeに表示しますので、ほとんどの環境で、CGIが起動していることを隠せると思います。 いわゆるAjaxでも出来ますが、環境がさらに限られたりとか、スクリプトが長くなるなどのデメリットもあります。

haranohara
質問者

お礼

できました!! 本当にありがとうございました!

haranohara
質問者

補足

たびたびすみません、、。 特に問題がないと思っていたのですが、今日、音量を出して初めて気が付いたのですが(前は、音量を出していなくて、気が付かなかったことですが)、 ご提案いただいたインライン・フレームのやり方ですと、ページを読み込んでから、2秒後ぐらいに、インライン・フレームのCGIのページの読み込みが完了するため、カチャという音とともにページに入りますが、更に2秒後にインライン・フレームの読み込み音のカチャがなり、ややうっとうしいのですが、これを防ぐ方法はありませんでしょうか、? たびたび本当に申し訳ありませんが、もし何かいい方法をご存知でしたら、教えてください。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • JavaScript のリンクから、CGIを動かす方法

    アンカーをクリックして、画面を遷移させずにウインドウを開き、 cgi を動かすにはどうしたらいいでしょうか? 現在、 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ <A HREF="www.htm" onClick="return openWin('http:://test/test.htm')">[開く]</A>   ・   ・   ・ var w = window; function openWin(url) {  w = open(url, "_blank");  return(false); } ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ と書き、[開く] アンカーをクリックすれば、別窓が開きますが、 この時同時に test.cgi を動作させたいのです。(test.cgi に遷移させない) よろしくおねがいたします。

    • ベストアンサー
    • Perl
  • サブウインドウのこと

    INDEX.HTM からサブウインドウを開いています。 INDEX.HTM には <A HREF="javascript:function voi(){};voi()" onClick="winOpen('subwin','test.cgi?key=japan')">日本</A> <A HREF="javascript:function voi(){};voi()" onClick="winOpen('subwin','test.cgi?key=japan')">アメリカ</A> <A HREF="javascript:function voi(){};voi()" onClick="winOpen('subwin','test.cgi?key=japan')">中国</A> のように並んでいます。 日本をクリックすると、サブウインドウが開きます。 アメリカをクリックすると、サブウインドウのnameが同じため、日本で開いたサブウインドウが変わります。そのとき、サブウインドウがINDEX.HTMに隠れてみえません。 これをクリックするごとに、サブウインドウが最上面で見えるようにするにはどうしたらいいでしょうか。 javascriptの質問からずれているかもしれません。

  • cgiの自動起動

    cgiの起動はXXX.cgiへのリンクを貼ってクリックして起動するのが普通ですが、 <a href="http://***/XXX.cgi">cgi起動</a> ページを開くと自動的にcgiを起動させることは出来ますか?(クリックなしで...) *.htmlにどのようなtagを記述すればよいのか?よろしくご教示お願いします。

    • 締切済み
    • CGI
  • ヤフオク出品でメーラー起動のリンクがうまくいきません。

     ヤフオクの出品ページでタグを使って商品説明をしています。入力後の出品前の確認ページではURLへのリンクは成功していますが、メーラー起動のリンクだけは、メールフォームは起動しますが、送信すると、ウィルス・チェックのソフトの画面が出て「送信できませんでした」というエラーが出ます。原因は「プロトコル・エラー」だそうです。違うアドレスを数パターン試しましたがやはり同じです。タグは <A HREF="mailto:メールアドレス">任意の言葉</A> です。記入の仕方に間違いは無いと思うのですが・・・。  ちなみにメールアドレスはフリーのものと正規のもの、両方で試しております。  アドバイス頂ける方、宜しくお願いします。

    • ベストアンサー
    • HTML
  • HTMLからメーラーを起動しメール送信

    こんにちわ。 ブラウザのフォームに入力された内容をメールで送信させたいと思っております。 開発しているサーバにはメールサーバソフトはいれてないので、メーラーを起動してメールを送ろうと考えております。(メールサーバはないことを前提にお願いします) そこで、<a href="mailto:・・・でメーラーの起動はできると思うのですが、ユーザーのオペレーションとして、メーラーの送信作業をせずに、メールを送ることは可能でしょうか。ブラウザであて先、タイトル、本文等を入力し、送信ボタンを押すだけで、ユーザー側のメーラーを起動し、送信させることはできないでしょうか。 よろしくお願いします。

  • リンクでメールソフトを起動する

    「a要素のhref属性の属性値を mailto:メールアドレス で指定すると、メールソフトが起動します。このとき、メールソフトの相手のメールアドレス(あて先)が自動的に入力されます。」というのは使えるのでしょうか? <a href="mailto:abcdefg@hijklmn.com">メールを送ります</a> ↑というやつです

  • テキスト入力フォームの値を画面遷移なしで関数に渡す。

    <form>によるテキスト入力フォームに入力されている値を、javascript関数に渡したいと思います。 ページ遷移させずに渡す方法はありますでしょうか? onclickで関数を呼び出しても、ページが再読込されてしまいます。 <a href="javascript:xxxxxx">で関数を呼び出して、ページ遷移なしで、値を渡すことはできました。 これと同様の効果を、テキスト入力フォームでも行いたいと思っています。 お分かりの方がいらっしゃいましたら、お教え願いたいと思います。 よろしくお願い致します。

  • メール送信のリンクをクリックしたときに起動されるメールソフトの変更

    ブラウザーで,メール送信のリンク(<a href="mailto:*****@*******.com"> のようなリンク)をクリックしたときに起動されるメールソフトは,最初からメールソフトとして機能するソフト(Outlook,MSN Explorer,Netscape Mail など)からは選択できるようになっていますが,それ以外のソフトを指定できるようにはならないのでしょうか?

  • window.openで同画面遷移しない

    window.openで別窓でウィンドウを開き、開いたウィンドウは親ウィンドウにあるリンク1、リンク2、リンク3をクリックすると別窓で開いたウィンドウが同画面遷移で変わるようにしたいのですが、IEで各リンクをクリックすると新規ウィンドウが立ち上がってしまいます。Firefoxでは問題ないのですが。 <head>~</head>内に以下のjavascriptを書きました。 <script type="text/javascript"> <!-- function winOPEN(URL,winName) { window.open(URL, 'window1', 'width=400, height=300, menubar=no, toolbar=no, scrollbars=yes'); } // --> </script> またリンクのhtmlは以下のようにしました。 <ul> <li><a onClick="winOPEN('URL','window1')" title="" href="#">リンク1</a></li> <li><a onClick="winOPEN('URL','window1')" title="" href="#">リンク2</a></li> <li><a onClick="winOPEN('URL','window1')" title="" href="#">リンク3</a></li> </ul> どこがいけないのでしょうか。教えてください。

  • perlからJavascriptを起動

    perlからJavascriptを起動させたいのですが分からずに困っています。 HTMLには、以下のように記述し、 <a href="view.cgi?picture=(1)&name=(2)">画像表示</a> view.cgiからJavascriptを起動させ、画像をポップアップさせたいのですが、そもそもperlから直接Javascriptを起動させることは可能なのでしょうか? 宜しくお願いいたします。