トップページ⇒tech
1001コメント413KB

+ JavaScript の質問用スレッド vol.117 +

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2014/07/01(火) 01:37:24.78ID:U4Rt/XmH
JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-5のテンプレを読んだ上で質問してください。

■投稿する上で
(1) 煽り、暴言等の他人を不快にさせる投稿はご遠慮下さい。
(2) 迷惑スクリプトの質問はご遠慮ください。
(3) 質問者及び議論を行う人は名前にレス番を入れることを推奨します。
(4) 常に自発的に調べる心構えを持ってください。
  具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
  わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
(5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
(6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
  ※必ず「問題の事象が再現されること」を確認してください。
   必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
(7) サンプルコードに HTML が含まれる場合は http://validator.w3.org/ で [Check] してみてください。
(8) 質問を具体的かつ詳細に書くと回答を得られやすいです。>>2の質問テンプレートを活用してみてください。
(9) ライブラリ関連の質問は禁止です。関連スレにあるライブラリ質問スレで質問して下さい。
(10) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。
0153デフォルトの名無しさん2014/08/10(日) 19:37:57.21ID:kx2NPXwE
>>150
はい。ありがとうございます。
01541432014/08/11(月) 01:39:42.28ID:M6jWaViT
>>146
クライアントから問い合わせのフォームが送られると、
サーバではDBから取り出したデータを、
PHPで整形して、HTMLを作る
そのHTMLの中へ、JSのコードもミックスする

そして、そのHTMLがクライアントへ送られて、JSが作動する

サーバサイド・スクリプティングなら、
山田祥寛(よしひろ)、翔泳社
10日でおぼえる PHP 入門教室、第4版、2012

PHPは、WEBプログラミング板に、数十のスレがある

最近は、Node.jsというサーバサイドJSもあるが、
漏れはよく知らないので、誰かに聞いて
0155デフォルトの名無しさん2014/08/11(月) 01:55:11.81ID:qVx1pZsW
>>154
ステマ乙

>>146
そのレベルであれば、ajaxでできなくはない。
まぁ、説明すんの面倒だからがんばれ
0156デフォルトの名無しさん2014/08/11(月) 08:01:59.28ID:ugSHFL26
>>152
> 俺が言ってる基礎というのは、プログラミング一般における基礎であり、特定の言語やブラウザには依存しないもの。
それはアルゴリズム等の言語依存のない基礎知識であって言語仕様は別途覚える必要があるだろう
繰り返すが、jQuery は DOM APIを使用しているので DOM は必須知識だ
そもそも、DOM は JavaScript だけでなく、Java, PHP 等他の言語にも実装されている仕様だ
他言語にも十分応用が効く基礎知識のはずだが

> 現在のDOM3はリファレンスからして曖昧。各ブラウザで動作に違いがあるのはIEのせいではなくて、DOMそのものに問題がある。
意味が分からない
DOM 仕様をブラウザベンダーが実装する流れを踏まえれば、ブラウザの実装差異はブラウザベンダーの責任

> 現在DOM4が策定中であり、非推奨の機能は消える運命にあるし、
非推奨の機能を使わないのは当然だろう

> DOM2のMutation Eventはどのブラウザで使えるのか言えるか?
Mutation Event は DOM L3 Events のはずだが、DOM2 はどこから出てきた?
http://www.w3.org/TR/DOM-Level-3-Events/#legacy-mutationevent-events

DOM L3 Events は Working Draft なので中途改定があっても仕方ない
「不安定な仕様の機能は出来るだけ使わない」というのはプログラマとして当然の心構えだ
「Mutation Eventが廃止されるのはおかしい」なんて疑問を持つならそれはあなたの認識不足としか言いようがない

> どのブラウザで対応していて、どのブラウザからMutation Eventが使えなくなるのかぱっと言えるか?
必要になったら調べればいいわけで全てを完璧に記憶する必要はない
あなたはjQueryの機能を全て記憶しているのか?
都合のいいDOMのデメリットだけ取り出してjQueryの場合と比較できてないように思われるが
0157デフォルトの名無しさん2014/08/11(月) 08:09:59.39ID:ugSHFL26
また、DOM は Interface の一種であってライブラリではない
だから、他の言語でも実装できる
01581462014/08/11(月) 15:43:33.36ID:CKKbQKMW
>>154
ああ、分かりました。PHPで、JavaScriptのコードも生成してしまうってのもありなんですね。
混乱しそうですけど、どう取りかかれば良いかは明確ですね。
ありがとうございます。

>>155
本当ですか!?もしajaxで出来るなら、何かヒントだけでも頂けませんか?
01591432014/08/12(火) 01:21:04.04ID:7nSDT24w
PHPでJSのソースコードを生成しているというより、
JSはJSだけでコーディングしておいて、
単にHTMLに、以下のように書けば、JSを読み込む
<script src="script.js"></script>

PHPで作るHTML部分は、
DBにアクセスして、該当するレコードを、
<table>表、<tr>行、<td>列
などのタグを使って、表として表示する
01601432014/08/12(火) 01:29:55.91ID:7nSDT24w
ほとんどのwebサイトは、サーバサイドPHPと、
ブラウザでJSを使う
それと、Ajax,DOM
01611462014/08/12(火) 02:23:43.49ID:U0rqxCXc
>>159
なるほど。PHPファイルとは別にjsファイルを置けば、PHPとJavaScriptが混在する割合が減りますね。
そもそもJavaScriptでHTMLの部品を吐き出すようにすれば
組み立てるだけみたいになる…のかな。
教えていただきありがとうございます。
0162デフォルトの名無しさん2014/08/12(火) 04:10:01.28ID:v1nubPFA
PHPでJavaScriptのコードも生成するのは絶対にダメ。

唯一の例外はJavaScriptのコードではなく変数を生成することだけ。
その変数も数は少なくJSONライブラリを使って連想配列を定義するようにする。
しかもこれは最終手段で、HTML要素にカスタム属性をつける方がいい。
01631432014/08/12(火) 05:37:48.69ID:7nSDT24w
PHPとJSが密接で、相互に行ったり来たりしていたら、
プログラムできないだろうねw

PHPを修正 → JSを修正
JSを修正 → PHPを修正

うわあーーーっw
0164デフォルトの名無しさん2014/08/17(日) 07:10:13.74ID:cCF7VIi4
var guheguhe = 'parentScope';

var hogehoge = function() {
var guheguhe = 'childScope';
console.log(親のguheguhe+'#'+guheguhe);
}

-------------------------------------
parentScope#guheguhe

みたいにできたらいいけど、いい方法ない?

あとクロスブラウザで関数自身から関数名取得するいい方法ないかな?
ログ取りたいんだけど、いちいち自分で関数名設定するのうざいw
0165デフォルトの名無しさん2014/08/17(日) 07:11:07.99ID:cCF7VIi4
-------------------------------------
parentScope#childScopeだ すまんw
0166デフォルトの名無しさん2014/08/17(日) 13:40:46.10ID:d8V7Agpt
>>164
親スコープの変数を取得する方法はない
対策は変数名をバッティングしないようにする

関数名は非標準だが Function#name で参照可能なので設定する
変数名と関数名は同一ではないので、混同しないように気をつけよう
0167デフォルトの名無しさん2014/08/17(日) 13:45:31.55ID:d8V7Agpt
補足。
Strict Modeを使用しなければ arguments.callee で自身を参照可能ではある
しかし、「関数名を設定せずに関数名を取得したい」が自己矛盾で判断に困るな
0168デフォルトの名無しさん2014/08/17(日) 17:26:02.59ID:+ov8DYwh
ありがとうね。できなければいいんだwできなければ
できそうな感じを醸し出すからまいるよw
01691662014/08/17(日) 18:01:22.79ID:d8V7Agpt
> 関数名は非標準だが Function#name で参照可能なので設定する
ES6 に取り込まれてた
http://people.mozilla.org/~jorendorff/es6-draft.html#sec-name

>>168
仕様を読むまでもなく出来そうにないと思うがなあ
関数名は基本指定するものだし、変数名を重複させる場合は意図的に行う
0170デフォルトの名無しさん2014/08/17(日) 19:13:06.05ID:Yqv/WDG+
誘導
jqueryを伴うJavaScriptの質問はこちらへ
http://peace.2ch.net/test/read.cgi/hp/1407166949/
0171デフォルトの名無しさん2014/08/18(月) 00:04:23.29ID:EJosHlX1
>>170
勝手に変なスレに誘導しないでくれ
0172デフォルトの名無しさん2014/08/18(月) 15:35:48.79ID:F0HxaotR
>>164
var guheguhe = 'parentScope';

var hogehoge = function() {
var guheguhe = 'childScope';
console.log(window.guheguhe+'#'+guheguhe);
}

外がグローバルスコープだった場合はこれで取れる
0173デフォルトの名無しさん2014/08/18(月) 18:48:53.65ID:iLjhvtil
IE7以下を切り捨てた場合、querySelectorはあると前提していいですか?
0174デフォルトの名無しさん2014/08/18(月) 21:18:56.75ID:NfYkDP0V
いい
他に古いのっつったらFirefoxやOperaの古いの使ってるやつや
Androidの標準ブラウザだろうけどその辺はみんな対応してる
0175デフォルトの名無しさん2014/08/18(月) 21:54:28.33ID:5dWK2Cxv
>>173
MDN, MSDN ぐらいは読んだ方がいいんでないかね
https://developer.mozilla.org/en-US/docs/Web/API/document.querySelector
http://msdn.microsoft.com/en-us/library/ie/cc288169.aspx
0176デフォルトの名無しさん2014/08/18(月) 22:40:46.96ID:iLjhvtil
ありがとうございました
0177デフォルトの名無しさん2014/08/23(土) 20:15:09.36ID:pJdchDbj
【環境】OS win7, Firefox31
【何をしたのか】クロスドメインでのjsonp取得
【エラーメッセージ】ReferenceError: test is not defined
【期待する結果】エラーを吐かずに取得したい
【サンプルコード】
「test.callback()」とコールバック関数が指定されている場合はどのようにしたらいいのでしょうか?
メソッド部分がない別のjsonpだと問題なかったです。
試したコード↓
function request() {
var element = document.createElement("script");
element.src = URL + "?callback=test.callback";
document.body.appendChild(element);
};
function callback(){
//処理
}
0178デフォルトの名無しさん2014/08/23(土) 22:30:21.91ID:/2UCS/A1
>>177
ダーメダーメ。それじゃ、誰も意味がわからないよ
や・り・な・お・し・☆
0179デフォルトの名無しさん2014/08/23(土) 23:11:06.16ID:bduO1+ny
var test = {
callback: function( obj ) {
...
}
}
0180デフォルトの名無しさん2014/08/24(日) 14:43:21.23ID:v8uo+M6x
javascriptでページが切り替わっても変数を取得し、変わらないまま使うってことできる?
例えばa.htmlの変数Hは100
これがb.htmlでもH=100のまんまで使うことができ、これがH=H-20;で80になっても、80のまんま使えることができる。って感じに
0181デフォルトの名無しさん2014/08/24(日) 15:50:14.84ID:1q09/hom
>>180
お前ウェブデザイナーか?
0182デフォルトの名無しさん2014/08/24(日) 15:59:55.34ID:v8uo+M6x
いや 全然
なぜに?
0183デフォルトの名無しさん2014/08/24(日) 16:13:07.22ID:1q09/hom
ウェブプログラマなら日常的にやってることだからだよ。
0184デフォルトの名無しさん2014/08/24(日) 17:01:08.11ID:my+G2t5n
>>177
サーバサイド側で出力するJSONPを何とかしないと
0185デフォルトの名無しさん2014/08/24(日) 17:29:13.93ID:v8uo+M6x
俺初心者、最近やりはじめた
0186デフォルトの名無しさん2014/08/24(日) 19:37:48.18ID:BWQfj/B3
フラグメント識別子にパラメタを格納すれば良い
0187デフォルトの名無しさん2014/08/24(日) 22:02:31.80ID:thPtQl+P
ローカルストレージを使用すれば良い
0188デフォルトの名無しさん2014/08/24(日) 23:34:03.10ID:1q09/hom
セッションを利用すればいい
0189デフォルトの名無しさん2014/08/25(月) 00:49:46.89ID:LsftW5BC
>>179
ありがとうございます。おかげ様でエラーがなくなりました。

>>184
自分で管理してるサーバーではないので手が出ませんでした。
0190デフォルトの名無しさん2014/08/25(月) 16:39:15.21ID:wfb9qMEe
<div id="hoge1" class="hage">
<div id="hoge2" class="hage">
<div id="hoge3" class="hage">

$('.hage').on('click', function(event) {
/* ここ */
id = $(this).attr('id')
});
hoge1 = ["hage", "desu"]
hoge2 = ["unko", "desu"]
hoge3 = ["hoge", "desu"]

#hoge2にクリックして、id を取得して、 配列hoge2を表示させたいんだけど、どうすればいいか教えて下さい
/* ここ */ に何を入れればいんだ?

要するに変数の中身を 変数として使いたいんだ...
0191デフォルトの名無しさん2014/08/25(月) 21:01:43.09ID:g8w4hWLW
hoge1/hoge2/hoge3がグローバルの場合は
alert(window[id])


もうちょい賢くやるなら、
var hash = {
hoge1:['hage',desu],hoge2:['unko',desu],hoge3:['hoge',desu],
};
alert(hash[id]);


要素にあらかじめデータを紐付けるならこう
$("hoge1").data(['hage',desu]);
$("hoge2").data(['unko',desu]);
$("hoge3").data(['hoge',desu]);
$('.hage').on('click', function(event) {
var v = $(this).data();
alert(v);
});


その変数とやらがHTML要素にダイレクトに紐づくデータであれば、こうだな
<div class="hage" data-x='["hage", "desu"]'>
<div class="hage" data-x='["unko", "desu"]'>
<div class="hage" data-x='["hoge", "desu"]'>
$('.hage').on('click', function(event) {
var v = JSON.parse($(this).attr('data-x'));
alert(v);
});

テストしてねーから動かんかもしれんが、大体わかるだろ?
0192デフォルトの名無しさん2014/08/25(月) 21:59:47.32ID:n+z23UZr
function sample(){
location.replace("history.back()");
}
setTimeout("sample()",100);

これがうまく動かないんだけど
強制的にブラウザバックさせるにはどうしたらいい?
クロームの拡張機能で使ってるんだけど変なURLになる
0193デフォルトの名無しさん2014/08/25(月) 22:31:09.53ID:SqhGzk91
>>191
すごいな

ありがとう!これを改良してやってみる!
0194デフォルトの名無しさん2014/08/27(水) 18:12:48.49ID:iz8Mv+tw
クラスに書かれた内容を取得したいのですが
事前に分かるのはnameかidとなります。

<input type="text" id="email" name="email" class="hoge foo bar" value="" />

$("[class=email]").val()とすれば書き込まれた内容は取得できますが
指定id(もしくは) の class を取得するのはどのようにすればよいのでしょうか?
01951942014/08/27(水) 18:19:57.40ID:iz8Mv+tw
$("[class=email]").val() ではなく
$("[name=email]").val() です
0196デフォルトの名無しさん2014/08/27(水) 18:33:02.07ID:9axgMZL2
$("[name=email]").attr("class")
0197デフォルトの名無しさん2014/08/28(木) 12:33:31.85ID:fcBkEDEW
>>194
$('#もしくは').attr('class')
ライブラリの質問はライブラリスレを推奨する
0198デフォルトの名無しさん2014/08/28(木) 16:42:52.25ID:gdMWenkD
>>194
> 指定id(もしくは) の class を取得するのはどのようにすればよいのでしょうか?

君が本当に必要な物は、hasClassだと思うよ。
さらに言えばaddClass, removeClass, toggleClass
0199デフォルトの名無しさん2014/08/28(木) 17:23:56.08ID:JpfrJ9uS
main.html、data.html、data.jsonの3つファイルがあって、main.htmlのリンク1をクリックすると、data.htmlにdata.jsonの任意のデータを表示する、ということがしたいのですが、
任意のデータがn番目のデータだとすると、どうすればn番目を指定できますか?
教えて下さい。
0200デフォルトの名無しさん2014/08/28(木) 18:25:18.34ID:bOvXNmJa
>>186-188
0201デフォルトの名無しさん2014/08/28(木) 18:47:08.69ID:wWn8usfQ
jsonでデータ配列を設定
02021992014/08/28(木) 19:06:38.63ID:JpfrJ9uS
main.htmlからdata.htmlにnを渡したいのですが、どうしたら良いのでしょうか?
0203デフォルトの名無しさん2014/08/28(木) 20:13:35.82ID:03VKXSG0
>>186-188
0204デフォルトの名無しさん2014/08/31(日) 14:48:52.52ID:RBd2gElu
〔A.html〕
<script type="text/javascript">
var val=namae;
window.localStorage.setItem("result", val);
</script>
<form action="B.htm" id="form1" method="post" onsubmit="check()">
<p>名前<br><input type="text" name="namae" id="buttom" size="28" /></p>
<input type="submit" value="送信"/>
</form>

〔B.html〕
<script type="text/javascript">
var val = window.localStorage.getItem("result");
alert(val);
</script>

A.htmlで入力した文字をB.htmlに出るようにしたいのですが、全然出ません。
アラートは表示されるのですが、入力欄に何を打っても、 namae と出てしまいます。変数に何も入ってないようです。
これを〔javascript〕って入力すれば、アラートに〔javascript〕って出るようにしたいのですが、どうしたらよろしいでしょうか?
0205デフォルトの名無しさん2014/09/02(火) 21:30:42.99ID:PRfBMG1L
名前を入力してボタンを押したら、その入力欄の文字が別のファイルに移るプログラミングを書きたいのですが、みなさんならどう書きますか?
A.htmlからB.html変数を受け渡す。

Aボタンで名前を入力してボタンを押せば、それがB.htmlに反映されるってプログラム
全然思いつかない
0206デフォルトの名無しさん2014/09/02(火) 22:20:28.65ID:6Bapd3Z+
>>205
GETパラメータ、Cookie、LocalStrage
0207デフォルトの名無しさん2014/09/03(水) 00:21:51.62ID:/DOsRWjf
もしかしてプッシュ型にしたいのか?
0208デフォルトの名無しさん2014/09/03(水) 03:30:11.53ID:UVdrfc8f
>>186-188
0209デフォルトの名無しさん2014/09/03(水) 19:22:10.05ID:00vuLDxp
JavaScript(Greasemonkey)を用いて、ブラウザ操作の自動化を考えています。
具体的には、あるサイト上にあるフォームの自動連続処理で、

 1.予定一覧画面にて、予定日変更ボタンクリック
 ↓
 2.確認画面が表示される 変更しますか?[YES][NO]ボタン
 ↓YES
 3.予定日変更画面が表示される [予定日パラメータForm]
 ↓Submit
 4.予定一覧画面表示

上記1.を手動で行うと、2,3,を裏で行い、予定日を1日後に変更し、
4.の画面が表示される。というのをやりたいです。

XMLHttpRequestを用いれば、
HTTPリクエストをPOST送信でき、その結果も受信可能だと知りました。
上記の事を行いたい場合、
POSTした結果返ってきたオブジェクト(?)に対して、
さらにXMLHttpRequestでPOSTする。という方法で行うのでしょうか?
0210デフォルトの名無しさん2014/09/03(水) 19:24:18.62ID:V3Pd8bw5
XMLHttpRequestで完了後にコールバックが呼び出されるからその中でまた何かすればいいよ
0211デフォルトの名無しさん2014/09/04(木) 06:36:46.27ID:oexbo5C6
>>210
ありがとうございます!
0212デフォルトの名無しさん2014/09/07(日) 18:08:19.24ID:M9JIDHHO
<script type="text/javascript">
function Display(no){
var name = document.getElementById("name").value;
var num=0;
if(name.length < 2){
alert("名前は2字以上でお願いしますだ。")
return false;
}else{
if(num ==0){
document.getElementById("SW1").style.display = "none";
document.getElementById("SW2").style.display = "block";
}
}
</script>
<body>
<div id="SW1">
<p>これはSW1のエリアです。上記SW2をクリックすると消えます。</p>
<form onsubmit="return _submit();">
名前:<input type="text" id="name" name="name" value=""><br>
<input type="submit" value="送信" onclick="Display('no1')"><br>
</div>
<div id="SW2" style="display:none;">
<p>これはSW2のエリアです。上記SW1をクリックすると消えます。</p>
<p>あなたの名前は<script type="text/javascript">+ name + </script>です。</p>
</div>
ボタンを押したら<div id=SW2>の画面に切り替わるようにしたいです。
0213デフォルトの名無しさん2014/09/08(月) 00:15:55.94ID:WRBqI71e
こちらが本スレですので移動してください

JavaScript ライブラリ総合質問所 vol.4
http://peace.2ch.net/test/read.cgi/hp/1400834117/
0214デフォルトの名無しさん2014/09/12(金) 14:55:18.35ID:7xpAtKYf
クラスaがあった時に
a.contrastorでコントラスタを呼び出せるのはわかったのですが定義のしかたがわかんないです
0215デフォルトの名無しさん2014/09/12(金) 15:00:39.32ID:7xpAtKYf
a=new b(tes,test)した時に
bがコントラスタと言うのはわかっているのですが
c++のコントラスタ
aを作った時に自動で実行される関数を作りたいんです
0216デフォルトの名無しさん2014/09/12(金) 16:25:15.52ID:MW7MLNJg
>>215
さすがに入門書を読めというレベルだが…
function b(tes, test) {
this.tes = tes * test;
}
だよ
関数定義がコンストラクタ定義と兼ている
0217デフォルトの名無しさん2014/09/25(木) 19:42:19.10ID:T3wVuaxq
入門書以前のレベルで
スレチかもしれないのですが、

<form><input type="button" onclick="history.back()" value="戻る"></form>

って書いたら、ブラウザのJavaScriptをオフにしていた場合
戻るボタンを押しても戻れないんですよね

なのにFirefoxだと戻れてしまうんですけど、なぜでしょう??

<noscript>あいうえお</noscript>ってのも書いたらあいうえおって出てるのに
0218デフォルトの名無しさん2014/09/30(火) 12:32:11.98ID:MIP/qfgS
angular.jsのui-routerで個別の画面って、index.htmlのviewに表示するか、一段templateの中のviewに表示するのはどちらが良いですか?
0219デフォルトの名無しさん2014/09/30(火) 17:26:29.06ID:aynenofd
>>218
ライブラリ関連の質問は↓の方がいいかも。ただ、荒らしが酷いので注意。

JavaScript ライブラリ総合質問所 vol.4
http://peace.2ch.net/test/read.cgi/hp/1400834117/
0220デフォルトの名無しさん2014/10/02(木) 04:24:30.72ID:aXqRJddw
webページ上で入力された内容をサーバー上にある別のtextファイルに書き込み、またはファイルからの読み込み、指定したファイルがなければそのファイル名で生成、
といったようなことはjavascriptのみでは無理でしょうか?
調べてみたところ他の言語を使う方法がありましたが、まだjavascriptでやっと簡単なものを作れるレベルなので、出来ればjavascriptで極力シンプルに作りたいです。
javascriptだけで作る方法を教えてください。よろしくお願いします。
0221デフォルトの名無しさん2014/10/02(木) 05:58:49.56ID:wF4ofO08
>>220
極力シンプルな方法というのは、適切な技術を適切に使った場合。
君の能力不足に合わせることに意味は無いんだよ。
0222デフォルトの名無しさん2014/10/02(木) 08:12:58.89ID:NlLaQCXe
>>220
そもそもJavascriptって色々な別のコードに変換されるから、出来ない事はない。
0223デフォルトの名無しさん2014/10/02(木) 08:15:35.18ID:NlLaQCXe
Node.jsでもUnityでも何でも使えばいい。
0224デフォルトの名無しさん2014/10/02(木) 11:26:17.10ID:NP5pdjvT
javascriptでようやっとレベルなら
今は諦めろ
0225デフォルトの名無しさん2014/10/02(木) 12:31:22.31ID:NlLaQCXe
サーバーでNode.jsで全部できる
0226デフォルトの名無しさん2014/10/02(木) 20:43:16.83ID:bDWPUXnU
Nodeやろなあ
0227デフォルトの名無しさん2014/10/03(金) 13:53:07.94ID:ups0u7SZ
javascript始めたんだけど開発環境をどうすればいいか全然わかんない
eclipseJSDTいれてみたけど使い方わからなすぎてクソいらいらする
どうすればいいの???
0228デフォルトの名無しさん2014/10/03(金) 14:04:46.18ID:I4AMywYF
>>227
基本、JavaScriptの開発は、EclipseのようなIDEを使うのではなく、
Notepad++みたいなエディタと、Chromeなどのブラウザについてる
デバッガーを使って開発するんですよ。
0229デフォルトの名無しさん2014/10/03(金) 17:15:48.03ID:ups0u7SZ
>>228
そうなんだ、ありがとう!!
Notepad++ さっそくインストールしました
0230デフォルトの名無しさん2014/10/03(金) 19:13:29.00ID:8OTaypIY
何か勘違いしてそう
0231デフォルトの名無しさん2014/10/03(金) 19:17:43.85ID:ITCnBpTY
業務ではC++builderでWindows向けアプリ作るので必然的にIDE使ってるが、個人でWeb系勉強するときは、Notepad++使っています。

業務でWeb系される人でNetBeansとかEclipseは少ないんですかね?
こういうIDEは、Javaで開発する人が使うもんですかね?

あと、こういうサイトは普通に開発現場で使われてますか?
http://jsbin.com
0232デフォルトの名無しさん2014/10/03(金) 19:25:10.49ID:3E3drCsQ
>>231
道具なんて自分の完成に合うものを選べガいいだけだと思うんだけどねえ
あなたがいいと思うならそれがベストなんだよ
仕事で使うなら同じ道具を使う事で他人が代替できる環境にする事もあるけどね

http://jsbin.com/ は他人にコードを見せるときに使うことはある
個人的には http://jsfiddle.net/ http://ideone.com/ の方が好きだけど
02332322014/10/03(金) 19:26:11.87ID:3E3drCsQ
× 道具なんて自分の完成に合うものを選べガいいだけだと思うんだけどねえ
○ 道具なんて自分の感性に合うものを選べばいいだけだと思うんだけどねえ
0234デフォルトの名無しさん2014/10/03(金) 20:09:32.71ID:SrjnRVad
そもそもJavascriptってIDEの恩恵を受けづらい言語のよーな
コードスニペットは便利だけど
0235デフォルトの名無しさん2014/10/03(金) 20:17:49.97ID:ON3UZZIk
もう少ししたらFirefoxにWebIDEがついてくるけどね
ブラウザだけでコーディングまで出来るってのは便利そうだ
0236デフォルトの名無しさん2014/10/04(土) 05:00:47.24ID:klgp9hPC
寺尾進のTeraPadがいいよ。Win8にも対応している

IEなら、F12を押すと、開発者ツールが立ち上がるけど、
これ、どうやって動的に変数の値を変えるの?

これの使い方は、どこで見れる?

皆ここで、ゲームなどのソースコードを、
MITライセンスで発表している
ttp://jsdo.it
0237デフォルトの名無しさん2014/10/05(日) 12:00:10.83ID:5m38AlGC
interHTMLが正式対応してないので便利なのにも関わらず使わないで
var new_obj = document.createElement("div");
からappendChildを使って挿入する利点はありますでしょうか?
0238デフォルトの名無しさん2014/10/05(日) 13:43:42.54ID:XEFXDXfI
>>237
そんな質問をする程度の人なら、jQueryを使うことをおすすめする。
0239デフォルトの名無しさん2014/10/05(日) 14:44:31.37ID:gifqxLzx
>>93
jQueryの中身はinnerHTMLだらけだから、それこそinnerHTMLを使ったほうがいいと云う事になるな
>>237
inter
0240デフォルトの名無しさん2014/10/05(日) 21:25:46.18ID:MPbYyzbe
<div><span value="file://C:\hoge\huga"></span></div>
のような要素があるとして
document.querySelector('span[value="file://C:\hoge\huga"]');
としてもマッチしないのですが、\が含まれている場合はどう書けばいいんでしょうか
0241デフォルトの名無しさん2014/10/05(日) 22:23:32.50ID:1oolnOn0
>>237
- XSSを回避できる
- HTMLエスケープを考慮しなくいい
- appendChild 前からHTML埋め込み型以外でDOMにイベント定義できる
0242デフォルトの名無しさん2014/10/05(日) 22:50:08.80ID:1oolnOn0
>>240
"\" が ECMAScript と CSS の二重の意味でエスケープされてないから
ただ、そもそも論として span[value] は存在しないので data-* 独自属性を使いましょう
02432402014/10/06(月) 00:36:55.39ID:KsFP//XZ
>>242
アドバイス通り二重にエスケープを行ったらマッチしました
レスありがとうございました!
0244デフォルトの名無しさん2014/10/06(月) 00:45:33.49ID:/YmKtuRb
>>238-239
そういうのは使わないので聞いたのですがinterはミスでした
>>241
色々重要な利点があるんですね、ありがとうございました
0245デフォルトの名無しさん2014/10/07(火) 03:11:07.14ID:R9YyjIQE
tinymceのテキストエリアにvalue要素(document.getElementById("textareaid").value)
等を使ってタグ付きテキストを挿入すると何も表示されないです。

テキストエリアに挿入するにはtinymce.js等をインポートして
tinymce.activeEditor.setContentとかでやらないとできないのでしょうか?

知っている方ご教示のほど宜しくお願い致します。
0246デフォルトの名無しさん2014/10/07(火) 08:41:40.82ID:oJl/Y7yL
>>234
逆に言うと、メソッド補完くらいしかないからねぇ・・・・
でも、結局はブラウザのデバッガが必要になるので、IDEじゃ結局
完結しないから、自然とEclipseでやらなくなる。行ったり来たりが
死ぬほど面倒だからね。
0247デフォルトの名無しさん2014/10/07(火) 17:15:10.42ID:49lCQrlF
JavaScriptっていうか、動的言語全般に当てはまるけど、
補完がうまくできない場面とか多いからね(Factoryメソッド使ったときなど)。
0248デフォルトの名無しさん2014/10/10(金) 21:57:34.10ID:FDvHlQIs
var value = '';
var count = 0;
for(var i=0; i<102400; i++){
value += 'a';
}
try{
while(true){
localStorage['a'+count] = value;
count++;
}
}catch(e){
console.log(e);
}

localStorageの容量を計ろうとこんな風に書いたんですが
仕様では10MB使えるはずのChrome40で5MB弱程でエラーが出ます
どの辺が間違ってるんでしょうか
0249調べたけど挫折しました2014/10/11(土) 21:03:49.82ID:lUnfqrWk
document.cookie が undefined になってしまうのですが、原因がわかるかたいますか?

サーバ側でリクエストヘッダにcookieがセットされていることは確認できているのですが、
どうしても javascript の document.cookie が undefind となり、値を取得できません。

javascript の動作確認は firefox 31.0 で、firebug をつかって確認しました。
0250デフォルトの名無しさん2014/10/12(日) 05:09:31.94ID:VjAnIvwU
javascript超初心者です。

子画面を開いてその表示内容を親画面に転記ですが、子画面は何もいじらずに
出来るでしょうか?。書いたコードは

this.window.name='main_win'
alert(document.getElementsByTagName("body").item(0).getElementsByTagName("p").item(0).firstChild.nodeValue );
var sub_win = window.open('xxx');
sub_win.onload = function()
{
  main_win.focus();
  alert(on_win.document.getElementsByTagName("body").item(0).getElementsByTagName("p").item(0).firstChild.nodeValue );
};

ですがうまくいきません。何が原因でしょうか。因みに
alert(document.getElementsByTagName("body").item(0).getElementsByTagName("p").item(0).firstChild.nodeValue );では
mainのbody部分がアラートされます。

諸先輩方のご指導よろしくお願い致します。
0251デフォルトの名無しさん2014/10/12(日) 05:13:45.47ID:VjAnIvwU
>>250 です 質問のコードが修正違いでした。正しくは

  alert(on_win.document.getElementsByTagName("body").item(0).getElementsByTagName("p").item(0).firstChild.nodeValue );

が
  alert(sub_win.document.getElementsByTagName("body").item(0).getElementsByTagName("p").item(0).firstChild.nodeValue );

の修正間違いでした。
0252デフォルトの名無しさん2014/10/12(日) 05:20:01.59ID:jjrAIsW+
>>250
開くウインドウが外部サイトだったらセキュリティ的にできないよ。
外部のサイトの内容を好き勝手読み取れたら脆弱性になる。
■ このスレッドは過去ログ倉庫に格納されています