質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Firefox

Mozilla Foundationによって作られた無料、オープンソース、クロスプラットフォームなウェブブラウザ

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

2回答

1275閲覧

FireFoxで外部exeを実行したいが無反応になる

yrema

総合スコア286

Firefox

Mozilla Foundationによって作られた無料、オープンソース、クロスプラットフォームなウェブブラウザ

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

1クリップ

投稿2017/10/25 12:47

タイトルのようにボタンをクリックすると外部exeを起動するようにしたいのですが、
クリックしても無反応です。ソースは以下の通りです。

Javascript

1 $('.run_skp').click(function() { 2 var execString = "E:\Program Files (x86)\sakura\sakura.exe E:\text.txt"; 3 console.log(execString); 4 5 var exec = require('child_process').exec; 6 exec(execString); 7 8 });

コンソールに出力される文字列、
E:\Program Files (x86)\sakura\sakura.exe E:\text.txt
これを[ファイル名を指定して実行]するとちゃんと起動するのでパスは間違っていません。

▼他に試したこと(どれも無反応です)

javascript

1 var obj = new ActiveXObject("WScript.Shell"); 2 obj.Run(execString);

javascript

1 var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile); 2 file.initWithPath(execString); 3 file.launch();

▼その他バージョンなど
FireFox 56.0.1
jQuery 3.2.1

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

ブラウザ内(拡張機能、プラグインなどは除く)から、ローカルにあるプログラムを実行できるとしたら、それはセキュリティホールです(たとえば、「あるサイトにアクセスしたら、勝手にハードディスクがフォーマットされてしまう」などの状況を想像してみてください)。

仮に方法があったとしても、真っ先に塞がれるようなシロモノです。やれませんし、やるべきではありません

投稿2017/10/25 12:56

maisumakun

総合スコア145121

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yrema

2017/10/25 13:08

インターネットにはつながっていない環境です。 完全にローカル内で動かす予定のものですが、方法はありませんか?
maisumakun

2017/10/25 13:11

「完全にローカルで」やるのであれば、ブラウザを使う必要もないかと思います。 どうしてもブラウザでやりたいのであれば、ローカルにサーバを立てて、特定のアドレスにアクセスしたら特定のコマンドを呼び出すようにスクリプトを組む、というようにすれば、とりあえずはできなくもないです。
yrema

2017/10/25 13:16

サーバを立てないでJavascriptかアドオンでexe実行することはできないものでしょうか?
maisumakun

2017/10/25 13:19

拡張機能として作れば可能です。
hengjing

2017/10/25 13:48

exeをFirefoxから実行するなんて「??できるはずがない」と思う話で、僕なら、ブラウザのIEを試してみてダメなら、実行環境がブラウザ以外の他の実現方法で設計やり直す。
yrema

2017/10/25 13:53

私が上に書いたコードはIE専用のコードだったということでしょうか?
maisumakun

2017/10/25 13:55

いちばん上はNode.js用、真ん中はWSH用ですね。
yrema

2017/10/26 01:55

ありがとうございます。質問を変えて再投稿します。
guest

0

firefoxでは無理ですが、IEならActiveXが実行できます

javascript

1<script> 2function test(){ 3 var obj = new ActiveXObject("WScript.Shell"); 4 var execString="notepad"; 5 obj.Run(execString); 6} 7</script> 8<input type="button" value="notepad" onclick="test()">

ただし、実行の際確認がでたり、信用するサイトへの追加設定をしたり
いろいろあるので、あまり便利な機能ではないとおもいます。
わざわざwebサイトでやらせずに、wbsなどをローカルにおいて処理するほうが
良いと思います

投稿2017/10/26 00:29

yambejp

総合スコア114572

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yrema

2017/10/26 02:05

ありがとうございます。サーバを立てずともJavascriptが動くという理由でFireFoxを使用することで話が進んでいるのでIEは使いません。
yambejp

2017/10/26 02:07

であればActuveXはIEの仕様なので、firefoxでできることはないと思います
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問