私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ+ JavaScript の質問用スレッド vol.105 +

みんなの評価 :
レスフィルター : (試験中)
お気に入りのJavaScript本あります?
自分はオライリー信者なんで、
フラニガン「JavaScript」
誰かさん「JavaScript:The Good Parts」
誰かさん「JavaScriptパターン」
誰かさん「Prototype & script.aculo.us」
あたり好きです。
自分はオライリー信者なんで、
フラニガン「JavaScript」
誰かさん「JavaScript:The Good Parts」
誰かさん「JavaScriptパターン」
誰かさん「Prototype & script.aculo.us」
あたり好きです。
>>551
技評のJavaScriptポケットリファレンス一筋
技評のJavaScriptポケットリファレンス一筋
JavaScriptの文法チェックでお知恵をお借りしたいことがあります。
ユーザーに入力させたJavaScriptコードの文法チェックをやりたいんですが、
evalする以外に方法はありますか?
なぜevalする方法だとイヤかというと、まだ入力した時点(evalチェックした時点)では存在しない変数にアクセスするJavaScriptコードが入力される可能性があるからです。
変数の存在の有無の確認を除いたJavaScriptコードの文法チェック方法、なにか良い方法はないでしょうか。
あ、もちろん開発ツールやIDEのようなツールで文法チェックするというのではなく、JavaScriptでブラウザ上で文法チェックしたいということです。
色々考えているんですが、良い方法が見つかりません……。
ユーザーに入力させたJavaScriptコードの文法チェックをやりたいんですが、
evalする以外に方法はありますか?
なぜevalする方法だとイヤかというと、まだ入力した時点(evalチェックした時点)では存在しない変数にアクセスするJavaScriptコードが入力される可能性があるからです。
変数の存在の有無の確認を除いたJavaScriptコードの文法チェック方法、なにか良い方法はないでしょうか。
あ、もちろん開発ツールやIDEのようなツールで文法チェックするというのではなく、JavaScriptでブラウザ上で文法チェックしたいということです。
色々考えているんですが、良い方法が見つかりません……。
>>553
Esprima みたいなパーサー使うとか?
Esprima みたいなパーサー使うとか?
皆様、ご助言ありがとうございます。
>>551 様がご紹介してくださったEsprimaを使ってうまくいきました。
http://esprima.org/doc/index.html
// valueにJavaScriptコードが入っているとする。
try {
return syntax = esprima.parse('(' + value + ')');
} catch (e) {
alert(e);
}
上記のようなコードで、不正なJavaScriptコードを渡すと例外が投げられて、
その例外のメッセージが非常に良い感じのエラー文でした(エラーになった行とかも書いてある)。
ありがとうございました!
>>551 様がご紹介してくださったEsprimaを使ってうまくいきました。
http://esprima.org/doc/index.html
// valueにJavaScriptコードが入っているとする。
try {
return syntax = esprima.parse('(' + value + ')');
} catch (e) {
alert(e);
}
上記のようなコードで、不正なJavaScriptコードを渡すと例外が投げられて、
その例外のメッセージが非常に良い感じのエラー文でした(エラーになった行とかも書いてある)。
ありがとうございました!
>>553
単に new Function(ソース) でもOKのような
単に new Function(ソース) でもOKのような
obj={ x:1 , y:2};
とプロパティを作って、
obj.x=obj.x.toFixed(3);
とする場合、これをもっと簡潔に書くことってできるんでしょうか
いちいち2回書くのは面倒なんですが・・・。
とプロパティを作って、
obj.x=obj.x.toFixed(3);
とする場合、これをもっと簡潔に書くことってできるんでしょうか
いちいち2回書くのは面倒なんですが・・・。
別におすすめはしないが
with (obj = {x:1, y:2}) { x = x.toFixed(3); }
とか?かえって分かりにくくなるだけのような気もする。どっちかというと
obj = { x: 1.toFixed(3), y: 2};
で十分なんじゃないの。
with (obj = {x:1, y:2}) { x = x.toFixed(3); }
とか?かえって分かりにくくなるだけのような気もする。どっちかというと
obj = { x: 1.toFixed(3), y: 2};
で十分なんじゃないの。
こうしないとエラーになるな
obj = { x: (1).toFixed(3), y: 2};
obj = { x: (1).toFixed(3), y: 2};
プロパティってそんな風にも代入できたんですか
いちいち1個づつ読み出して使ってました。
それでやれば綺麗にできそうです。
ありがとうございます。
いちいち1個づつ読み出して使ってました。
それでやれば綺麗にできそうです。
ありがとうございます。
>>561
1..toFixed(3) でもおk
1..toFixed(3) でもおk
>>551
GoodPartsは部分的に納得イカない部分もおおいなあ
GoodPartsは部分的に納得イカない部分もおおいなあ
$(document).ready(
function(){
$('.fd').hover(function(){
$(this).fadeTo('fast', 0.6);
}
}
);
な感じでフェードを付けてるんだけど
後から
$('.abc').addClass('fd');
としても有効にならない・・・
多分最初の読み込んだときに判断してるからなんだろうけど
付け足したクラスfdにも有効にする方法はないかな?
function(){
$('.fd').hover(function(){
$(this).fadeTo('fast', 0.6);
}
}
);
な感じでフェードを付けてるんだけど
後から
$('.abc').addClass('fd');
としても有効にならない・・・
多分最初の読み込んだときに判断してるからなんだろうけど
付け足したクラスfdにも有効にする方法はないかな?
自己解決
$('.img_fd').live('mouseover', function(e){
$(this).fadeTo('fast', 0.6);
});
$('.img_fd').live('mouseover', function(e){
$(this).fadeTo('fast', 0.6);
});
$().liveより$().delegateの方がいいとか、1.7以上なら$().on使ったほうがいいとか
おい、バグか?
次を01~10でやってみてくれ・・・
’08’と’09’で恐ろしい事が起きる。
parseInt('01')
:
parseInt('10')
次を01~10でやってみてくれ・・・
’08’と’09’で恐ろしい事が起きる。
parseInt('01')
:
parseInt('10')
>>568
parseInt の第一引数が 0から始まり、第二引数が無指定の場合、それは8進数として解釈される
そのため、それは正しい挙動。
ただし、parseInt は ECMAScript 5 で挙動が変わり、常に 10進数で解釈されるようになった。
現に Firefox 21 からは
parseInt("08") === 8 //=> true
が成り立つ。
parseInt の第一引数が 0から始まり、第二引数が無指定の場合、それは8進数として解釈される
そのため、それは正しい挙動。
ただし、parseInt は ECMAScript 5 で挙動が変わり、常に 10進数で解釈されるようになった。
現に Firefox 21 からは
parseInt("08") === 8 //=> true
が成り立つ。
>>568
書き忘れたけど以下も参照。
parseInt - JavaScript | MDN
http://developer.mozilla.org/ja/docs/JavaScript/Reference/Global_Objects/parseInt
書き忘れたけど以下も参照。
parseInt - JavaScript | MDN
http://developer.mozilla.org/ja/docs/JavaScript/Reference/Global_Objects/parseInt
そういうことか!
10進数で考えていた俺がアマちゃんだな。
にしても8進数とは中途半端な・・・
10進数で考えていた俺がアマちゃんだな。
にしても8進数とは中途半端な・・・
ちがう、0xなら16進数ってことか。
getしてきた数字が二桁揃えだから変になったんだね。
なんにしろ、次からはとりあえず第二引数つけるようにしよう。
getしてきた数字が二桁揃えだから変になったんだね。
なんにしろ、次からはとりあえず第二引数つけるようにしよう。
>>569
「イケメン」が広辞苑に載ったような気分だな
「イケメン」が広辞苑に載ったような気分だな
第二引数無しだとC言語の数値リテラルみたいに解釈されるってことだね
まあでもC言語なんて知らん人が増えてきたから8進の方が削除されるのは妥当だな
まあでもC言語なんて知らん人が増えてきたから8進の方が削除されるのは妥当だな
>>575
ECMAScript 3rdだと、8進か10進のどちらかでよくて、推奨は10進って書いてあるみたい
ECMAScript 3rdだと、8進か10進のどちらかでよくて、推奨は10進って書いてあるみたい
CというかUNIXで8進数けっこう使うからね
ファイルのパーミッションの値とか8進表記じゃないとピンとこない
ファイルのパーミッションの値とか8進表記じゃないとピンとこない
>>564
GoodPartsの(というかJSLintの)ローカル変数宣言の位置については、むしろ有害だと思う。
GoodPartsの(というかJSLintの)ローカル変数宣言の位置については、むしろ有害だと思う。
UNIXのhostsファイルで、桁揃えで書きたくて
3桁未満は0を補って書いたら、うまく通信が出来なかった。
どうも頭に0があると8進数として解釈してるっぽかった。
こんな所にまで。
3桁未満は0を補って書いたら、うまく通信が出来なかった。
どうも頭に0があると8進数として解釈してるっぽかった。
こんな所にまで。
あれ?全く同じじゃないっぽい?
FireGesturesでlocation.hrefが取得できなかった
FireGesturesでlocation.hrefが取得できなかった
ふと思ったんだけど、ネットでやり取りする時のURLって通貨なみの価値があるよね
>>587
クライアント側で使う
クライアント側で使う
>>584
document.location.hrefとdocument.URLの一番の違いはdocument.URLの方は参照しかできないこと
document.location.hrefとdocument.URLを参照したときの内容は同じはずだけど、
ブラウザ依存で違う場合もある
document.location.hrefとdocument.URLの一番の違いはdocument.URLの方は参照しかできないこと
document.location.hrefとdocument.URLを参照したときの内容は同じはずだけど、
ブラウザ依存で違う場合もある
jQueryあればprototype.jsそれにscript.aculo.usは要らないかな?
まぁ何がしたいかによるんだよろうけど……。
実際使うときに考えるのは
「あれができるからここで使おう」
みたいなデザインの発想の流れになることあるよね。
prototype.js、script.aculo.usって便利?
使えた方がいい?
まぁ何がしたいかによるんだよろうけど……。
実際使うときに考えるのは
「あれができるからここで使おう」
みたいなデザインの発想の流れになることあるよね。
prototype.js、script.aculo.usって便利?
使えた方がいい?
>>592
㌧
㌧
Firefoxで使うアドオン作成してます
サイドバーのボタンを押すとページを移動させてそのページにあるボタンを押すといった動作をさせたいです
function openUrl(URL) {
content.wrappedJSObject.location = URL;
newTabBrowser = gBrowser.selectedBrowser;
newTabBrowser.addEventListener("load", highlight, true);
}
このプログラムを動かしてページを移動させることまでができたのですが
現在のページのボタンを押すようなプログラムってどういう感じになりますか?
例えばグーグルのページに飛んで検索窓になにかいれて押すといったことをさせたいです
サイドバーのボタンを押すとページを移動させてそのページにあるボタンを押すといった動作をさせたいです
function openUrl(URL) {
content.wrappedJSObject.location = URL;
newTabBrowser = gBrowser.selectedBrowser;
newTabBrowser.addEventListener("load", highlight, true);
}
このプログラムを動かしてページを移動させることまでができたのですが
現在のページのボタンを押すようなプログラムってどういう感じになりますか?
例えばグーグルのページに飛んで検索窓になにかいれて押すといったことをさせたいです
var tableHtml = [];
tableList.forEach(function() {
tableHtml.push('<table></table>');
});
tableHtml = tableHtml.join('');
$('body').append(tableHtml);
var tableArray = $('table');
同じ要素を複数一度に追加するのに、こんなコードを沢山書いてるけど
もっとシンプルに書ける気がしてならない。
もっと簡単に書けるなら教えてください。
tableList.forEach(function() {
tableHtml.push('<table></table>');
});
tableHtml = tableHtml.join('');
$('body').append(tableHtml);
var tableArray = $('table');
同じ要素を複数一度に追加するのに、こんなコードを沢山書いてるけど
もっとシンプルに書ける気がしてならない。
もっと簡単に書けるなら教えてください。
クッキーで質問です。
サーバー側PHPで生成したページを読み込んでいて、PHPからクッキーをセットしています。
その値をページのJavaScriptで読み出そうと
alert( document.cookie );
としても、読み出すことができません。
ブラウザのデバッガでクッキーの値を見ると、ちゃんと値が入っています。
次に、JavaScriptからクッキーをセットしてみました。
document.cookie = "key01=value01;"
この後でalert( document.cookie );をすると、
key01=value01
が表示されます。
ブラウザのデバッガでクッキーの値を見ると、PHPでセットした値とJavaScriptでセットした値が入っています。
同じページの下でも、これらは別のクッキーなんでしょうか?
PHPでセットしたクッキーをJavaScriptから読み出す方法はありますか?
サーバー側PHPで生成したページを読み込んでいて、PHPからクッキーをセットしています。
その値をページのJavaScriptで読み出そうと
alert( document.cookie );
としても、読み出すことができません。
ブラウザのデバッガでクッキーの値を見ると、ちゃんと値が入っています。
次に、JavaScriptからクッキーをセットしてみました。
document.cookie = "key01=value01;"
この後でalert( document.cookie );をすると、
key01=value01
が表示されます。
ブラウザのデバッガでクッキーの値を見ると、PHPでセットした値とJavaScriptでセットした値が入っています。
同じページの下でも、これらは別のクッキーなんでしょうか?
PHPでセットしたクッキーをJavaScriptから読み出す方法はありますか?
質問を変えましょうか。
あるページを読み込んだ時に、クッキーがセットされました。
ブラウザでクッキーの値を見ると、ちゃんとセットされています。
その値をページ側のJavaScriptで読み出すことは、できますか?
document.cookieを参照しても、空になっていました。
あるページを読み込んだ時に、クッキーがセットされました。
ブラウザでクッキーの値を見ると、ちゃんとセットされています。
その値をページ側のJavaScriptで読み出すことは、できますか?
document.cookieを参照しても、空になっていました。
クッキーをセットする時に
'expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/;'
を足してみるとか。
'expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/;'
を足してみるとか。
そのサーバ側から送られてくるのはHttponly属性がついてるんじゃないのか



類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.100 + (1001) - [97%] - 2012/6/13 22:46
- + JavaScript の質問用スレッド vol.101 + (1001) - [97%] - 2012/7/16 14:15
- + JavaScript の質問用スレッド vol.102 + (1001) - [97%] - 2012/9/11 17:30
- + JavaScript の質問用スレッド vol.103 + (1001) - [97%] - 2012/11/9 15:30
- + JavaScript の質問用スレッド vol.104 + (1001) - [97%] - 2013/1/28 4:00
- + JavaScript の質問用スレッド vol.106 + (1001) - [97%] - 2013/7/20 9:30
- + JavaScript の質問用スレッド vol.107 + (1001) - [97%] - 2013/9/7 10:16
- + JavaScript の質問用スレッド vol.108 + (1001) - [97%] - 2013/9/21 15:16
- + JavaScript の質問用スレッド vol.109 + (1001) - [97%] - 2013/10/7 13:16
- + JavaScript の質問用スレッド vol.135 + (1002) - [97%] - 2018/11/23 10:30
- + JavaScript の質問用スレッド vol.125 + (1001) - [97%] - 2015/10/7 17:45
- + JavaScript の質問用スレッド vol.115 + (1001) - [97%] - 2014/5/29 16:16
- + JavaScript の質問用スレッド vol.141 + (881) - [95%] - 2021/4/19 9:00
- + JavaScript の質問用スレッド vol.122 + (116) - [95%] - 2018/5/2 18:30
- + JavaScript の質問用スレッド vol.121 + (1001) - [95%] - 2015/1/1 18:30
- + JavaScript の質問用スレッド vol.122 + (1004) - [95%] - 2015/2/14 4:45
- + JavaScript の質問用スレッド vol.126 + (348) - [95%] - 2023/1/12 17:00
トップメニューへ / →のくす牧場書庫について