- - PR -
JavaScriptからActionを起こしたい。
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-12-27 17:11
お世話になっております。
題記の件、可能でしょうか? 処理内容) 画面を表示時、onload()で、JavaScriptを最初に走らせます。 ActiveXObject()で外部プログラムを実行。 正常時、DBに正常フラグを登録。 処理完了のメッセージを画面に表示。 上記を、自動でやりたいのですが、 外部プログラム実行後に行う、 正常時のDBに登録する処理で悩んでいます。 現状、DB登録を行うActionを起こすには、 ボタン等で起こす方法しか分かりません。 子画面を出すときに、window.open(action_name, size) でActionを起こしていると思いますが、 子画面を出さずに、Actionだけってのは可能なのでしょうか? | ||||
|
投稿日時: 2004-12-27 17:49
サイトに接続したとたん、手元のマシンの内部でプログラムがうろちょろ・・・。
というのは、セキュリティ上、危険ではありませんか? JavaScriptでは、そのような動作は禁じていると思います。 外部プログラムを走らせているのですから、その外部プログラムが、 サーバーと接続する機能を自分で備えている方が、現実的と思います。 | ||||
|
投稿日時: 2004-12-27 17:50
せっかくActiveXを使っているのですから、
ActiveXでJSPなり***.doなりをターゲットにして HTTPのリクエストを送るという手があります。 XMLHTTPをMSDNで調べてみてください。 postもgetも可能ですし、レスポンスの取得も可能です。 | ||||
|
投稿日時: 2004-12-28 22:42
返答ありがとうございます。
ウィルスに感染しやすい状況になって困っています。 コーディングは先延ばしでセキュリティを調査してました。 アンチウィルスソフトで検疫できている状況なのですが。 セキュリティで質問があるのですが、 インターネットオプションの「セキュリティ」タブ→「信頼済みサイト」に サーバのURLを登録してレベルを「低」にして、ActiveXを動作させるように したのですが、これは駄目なのでしょうか? その他は、規定値です。 var objHttp = new ActiveXObject( 'Microsoft.XMLHTTP'); objHttp.open("POST", url, true); objHttp.send() ; で、urlに指定したActionを動作させる事ができたのですが、 undefineっていうダイアログが出てしまいます。 まだ設定が足りないのでしょうか? ウィルスが目立つようになったのは、上記を設定してからなのですが 関係があるのでしょうか? それとも偶然なのでしょうか? ちょっとパニックになっています(TT)。 | ||||
|
投稿日時: 2004-12-28 23:03
本当に信頼できるサイトを
信頼済みにするのであれば問題ありません。 ウィルスとは別問題です。
undefineっていうダイアログってどんなのですか? | ||||
|
投稿日時: 2004-12-28 23:29
早速の返答ありがとうございます。 たまたまウィルスにヒットしてしまっただけなら いいのですが…。 同じ日に2度、それぞれスパイとトロイの木馬のウィルスに 当たったので気になってます。 OSのセキュリティパッチを更新していないからかな…? undefineのダイアログは、アクションを起こした後に 出てきます。 画面の中央に、OKボタンと「undefine」っていうメッセージが 書いてあるダイアログです。 宜しくお願いします。 | ||||
|
投稿日時: 2004-12-29 07:04
おはようございます。
undefineダイアログ表示の件ですが、 情報が少なすぎると思い追加します。 個人的には、「Microsoft.XMLHTTP」を疑っているのですが。 これって最新版を更新するとかあるのでしょうか? それから、オブジェクトをクローズしなければいけないって 事はないですか? 現状、obj.send(); 以降何もやっていないのですが…。 | ||||
|
投稿日時: 2004-12-29 16:55
うーん、、よく話が飲みこめてはいませんが。。。
単にJavaScriptで<FORM ACTION>と同様の遷移を実行したいのでしたら、 JavaScript内で。。。
と外部アプリ実行後に実行するのは如何でしょうか? 値(パラメータ)の受け渡しなら<INPUT TYPE="HIDDEN">の値(value)に submit()実行前に設定すれば可能かと思われます。 FORMが見た目上、表示されることもありませんし。 [ メッセージ編集済み 編集者: takamaro 編集日時 2004-12-30 08:28 ] |