TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼
スパム業者のIPブラックリスト
サイト管理人にありがちなことpart.1
【Web作成の】痛い企業サイトver.6【基本無視】
【Android】スマホサイト作成スレ【iPhone】
HTML5はなぜ失敗したのか
制作に女が関わったせいで地獄になった経験
SEOコンテスト
【アクセス解析】QLOOK 5
【ブログ】ブログってウザクないか?【blog】 part3
広告業界板から出張!GoodなWEB制作会社は?
+ JavaScript の質問用スレッド vol.139 +
- 1 :2019/04/20 〜 最終レス :2019/05/22
- JavaScript を自ら学ぶ人のための質問スレッドです。
次スレは>>950が(本スレで改善案があれば考慮して)立ててください
■規則/推奨ルール
・メール欄を空欄にし、名前にレス番を入れることを強く推奨(なりすまし防止)
・質問内容は具体的に。言葉だけでなく、出来る限り再現性を確認したサンプルコードの掲示。
・質問テンプレートの利用推奨。
・質問への「答え」から解離した議論はよそでやること。
■禁止行為
・丸投げ質問
・迷惑スクリプトの質問
・オレオレ用語の使用(一般的な用語を使用する事)
・煽り、批判等の他人を不快にさせる行為(批判の代わりに「AよりBが良い」のような代案を出す事)
■質問テンプレート
【環境】OS, ブラウザをバージョンと共に記入してください。
【条件】期待する回答の条件を書いてください。
【何をしたのか】何をしたら問題の現象が発生するのか。再現手順を具体的に書いてください。
【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。
【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
1レスに収まらないならコード投稿サイトを利用してください。
http://jsdo.it/ http://jsbin.com/ http://jsfiddle.net/ http://ideone.com/
■回答者へ
・回答には多様性があります。他人の回答を尊重してください
・動作ブラウザや環境が限られる場合は、それを明記してください
・他人の回答を批判する代わりに、自分ならこう書くという例を示してください
・質問者がJavaScriptでなければ実現できないと勘違いしてるなら、その否定としてHTMLとCSSで実装しても良い
・他人の回答を見たくないのであれば、文句をつける代わりにNGにして見えないようにしてください。文句をつける=荒らしです
■前スレ
+ JavaScript の質問用スレッド vol.138 +
http://mevius.2ch.sc/test/read.cgi/hp/1550337177/
- 2 :
- ■FAQ
◆開発者ツール(Developer Tools)の基本的な使い方
▼諸注意
- 本説明では Google Chrome の開発者ツールの名称に従います。他ブラウザで使う場合は適宜読み替えて下さい。
- Edge- でコンソールを使うには予め開発者ツールを起動しておく必要があります(開発者ツールを起動しないと console.log() が機能しません)
- Safari はデフォルトで開発者ツールが無効な為、有効に設定する必要があります。
https://developer.apple.com/library/safari/documentation/AppleApplications/Conceptual/Safari_Developer_Guide/GettingStarted/GettingStarted.html
▼要素を検証
1. ページ上で右クリックして [要素を検証]
2. [Elements] パネルが開き、対象のDOMノードが選択される(選択対象が目的の要素でなければ [Elements] パネル上で選択し直す)
3. 右側のサイドバーから知りたいステータス名のタブを選択する
- [Styles] タブ … CSSプロパティの指定値を表示 (※カスケードによって上書きされたプロパティは取り消し線で表示される)
- [Computed] タブ … CSSプロパティの算出値を表示("font-size: 1em" を指定していても算出後の "*px" で表示される)
- [Properties] タブ … 選択したDOMノードのプロパティを表示
▼コンソール
1. JavaScript コード上で console.log('Hello, World!'); と入力
2. [Ctrl] + [Shift] + [I] キー(IE は [F12])で開発者ツールを開き、[Console] パネルを開く
3. [Console] パネルに "Hello, World!" と表示される
(※window.alert() は String 型に変換されますが、console.log() は Object 型の中身をそのまま表示してくれます。)
- 3 :
- ■FAQ(続き)
◆JavaScriptの実行速度
JavaScriptの速度は「ブラウザ名」「ブラウザのバージョン」「PCスペック」に依存します(ブラウザのバージョン毎に最適化具合が異なります)。
速度の疑問解消の為に http://jsperf.com/ (githubのアカウントが必要です)にコードをUPしてブラウザ毎に速度計測する事を推奨します。
例外として、仕様における理論上の速度が明確になっている場合があります。
例えば、正規表現によるマッチング処理を考えた場合、「RegExp#test > RegExp#exec > String#match」は ES5 仕様で保証(要出典)されています。
ES5 仕様において RegExp#test が最も処理数が少なく、String#match が最も処理数が多いことが明確だからです。
ブラウザによっては RegExp#test の最適化が十分でなく、String#match の最適化が RegExp#test より十分であれば逆転する可能性はありますが、各メソッドの最適化が一律であればこの前提が崩れる事はありません。
■各種仕様
◆ Standard ECMA-262
http://bclary.com/2004/11/07/ (ECMAScript 3 HTML版)
http://www2u.biglobe.ne.jp/~oz-07ams/2002/ecma262r3/ (ECMAScript 3 和訳)
http://www.ecma-international.org/ecma-262/5.1/ (ECMAScript 5.1 HTML版)
http://tsofthome.appspot.com/ecmascript.html (ECMAScript 5.1 和訳)
http://www.ecma-international.org/ecma-262/6.0/ (ECMAScript 6 / ECMAScript 2015)
http://kangax.github.io/compat-table/es5/ (ECMAScript 5 compatibility table)
http://kangax.github.io/compat-table/es6/ (ECMAScript 6 compatibility table)
◆ HTML Standard (HTML5)
http://www.whatwg.org/specs/web-apps/current-work/multipage/
http://momdo.s35.xrea.com/web-html-test/spec/WD-html51-20130528/Overview.html (HTML5.1 部分訳)
http://www.hcn.zaq.ne.jp/___/WEB/WebStorage-ja.html (Web Storage 和訳)
- 4 :
- ■各種仕様 (続き)
◆ Document Object Model (DOM) / CSS Object Model (CSSOM)
http://www.hcn.zaq.ne.jp/___/WEB/DOM4-ja.html (DOM Standard (DOM4) 和訳)
http://www.w3.org/TR/DOM-Level-3-Events/ (DOM3 Events)
http://www.w3.org/TR/uievents/ (UI Events)
http://www.hcn.zaq.ne.jp/___/WEB/cssom-ja.html (CSSOM 和訳)
http://www.hcn.zaq.ne.jp/___/WEB/cssom-view-ja.html (CSSOM View Module 和訳)
◆ その他のWeb関連仕様
http://domparsing.spec.whatwg.org/ (DOM Parsing and Serialization - innerHTML等)
http://www.hcn.zaq.ne.jp/___/WEB/XHR-ja.html (XMLHttpRequest 和訳)
http://www.hcn.zaq.ne.jp/___/WEB/File_API-ja.html (File API 和訳)
http://www.whatwg.org/specs/ (WHATWGの仕様一覧)
◆ MDN (Netscape/Mozilla)
https://developer.mozilla.org/ja/docs
◆ MSDN Library
https://msdn.microsoft.com/en-us/library/ie/hh828809 (Internet Explorer API)
http://msdn.microsoft.com/ja-jp/library/yek4tbz0.aspx (JavaScript)
http://msdn.microsoft.com/ja-jp/library/cc427807.aspx (JScript)
http://msdn.microsoft.com/ja-jp/library/cc409712.aspx (DHTML)
◆ JavaScript Garden (ja)
http://bonsaiden.github.com/JavaScript-Garden/ja/
◆ JSON (JavaScript Object Notation)
http://www.json.org/json-ja.html
■テンプレ案
http://fiddle.jshell.net/fH4cC/180/show/light/
■FAQ
http://fiddle.jshell.net/vSqKr/44/show/light/
- 5 :
- ■テンプレ案
https://fiddle.jshell.net/6ksf2087/show/light/
■参考URL
ダウンロード、CDN
http://jquery.com/download/
ブラウザサポート
http://jquery.com/browser-support/
jQuery UI
http://jqueryui.com/
jQuery UI ダウンロ−ド
http://jqueryui.com/download/
リファレンス等
http://alphasis.info/
http://www.jquerystudy.info/
http://js.studio-kingdom.com/
【翻訳まとめ】jQuery 3.0 アップグレードガイド - Qiita
http://qiita.com/fmy/items/345a264a1cf2e2a73f62
- 6 :
- ■JavaScript主要ライブラリ・フレームワーク
jQuery
http://jquery.com/
jQuery UI
http://jqueryui.com/
jQuery Mobile
http://jquerymobile.com/
Lo-Dash
https://lodash.com/
Backbone.js
http://backbonejs.org/
Underscore.js
http://underscorejs.org/
AngularJS
https://angularjs.org/
Knockoutjs
http://knockoutjs.com/
RequireJS
http://requirejs.org/
D3.js
http://d3js.org/
threejs
http://threejs.org/
- 7 :
- Q. jQueryはどのバージョンを使えばいいのですか?
A. IE9以上であれば、jQuery 3.0を使用してください。
IE8以下にも対応するならば、jQuery 1.12を使用してください。
補足
jQuery 1.9 までは一系統しかなく、古いブラウザも含めて全て対応していました。
その後、古いブラウザを切り捨てるためにバージョンを分岐させました。
古いブラウザにも対応した1系(1.10、1.11、12)と
古いブラウザを切り捨てた2系(2.0, 2.1, 2.2)です。
1系と2系は対応ブラウザの違いだけで機能は全く一緒です。
機能が同じなのにメジャーバージョンが違っているのが分かりにくい
ということでバージョン番号の付け方を変えることになり、
新たに古いブラウザを切り捨てたjQuery 3.0、そして古いブラウザにも対応した
jQuery Compat 3.0がリリースされる予定でした。
しかしマイクロソフトが古いIEのサポートポリシーを変更し
サポート中であるOSで動く、最新のIEしかサポートしなくなったために、
2016年1月でVista上のIE8のサポートが終了しました。
そのため予定されていたjQuery Compat 3.0がなくなり、
jQueryは3.0に一本化されました。
- 8 :
- ■質問を書く上で
(1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。
(2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。
(ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など)
(3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。回答者はなりすましを判断できませんので、なりすましが現れても自己責任となります。
(4) 常に自発的に調べる心構えを持ってください。
具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
(5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
(6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
※必ず「問題の事象が再現されること」を確認してください。
必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
(7) サンプルコードに HTML が含まれる場合は http://validator.w3.org/ で [Check] してみてください。
(8) 質問を具体的かつ詳細に書くと回答を得られやすいです。>>2の質問テンプレートを活用してみてください。
(9) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。
- 9 :
- ■JavaScript主要ライブラリ・フレームワーク 利用率
https://w3techs.com/technologies/overview/javascript_library/all
- 10 :
- var x_pos;
var y_pos;
function draw_redRect(x_pos,y_pos){
context.beginPath () ;
context.rect(x_pos,y_pos, 100, 100 ) ;
context.fillStyle = "red" ;
context.fill() ;
context.stroke() ;
}
for(i=0;i<4;i++){
x_pos += 100;
draw_redRect(100,0);
}
四角形の位置ををずらして、連続して表示させたいんですが、どう記述すればいいでしょうか
いろいろ試したんですが、ギブです、、、
- 11 :
- for(i=0;i<400;i+=100){
draw_redRect(i,0);
}
じゃないのか?
- 12 :
- 一時期はスレが乱立分散してそれでも一週間でスレが埋まり続けるほど盛り上がってたのにな
1つの話が炎上して一両日で500レスつくこともそう珍しくなかった
寂しいねぇ
- 13 :
- でもこれからプログラミングが義務教育になることだし
優しい質問所に学生が聞きに来るみたいな流れで落ち着く未来しかないんだろうね
- 14 :
- 2chなんかに来ねぇよw
老人の集会所みたいに思われてるのにw
- 15 :
- じゃあプログラミングに限らず技術関連の話し合いを完全匿名でしたい若者は今はどこに集まってるんだろうね
- 16 :
- そんな卑怯な世代はお前らで終わり
- 17 :
- いや、俺の世代でももう終わってたよ?
終わってる世代でも日本全国の中から特異な奴が2、3人集まれば十分に盛り上がる
よく炎上してた当時は今よりも自演だのなりすましだのが言われてて
つまりユニーク人数的にはそう多くはなかったのだから
ただスレに住み着いた妖精やら、スレを横断してかき乱す嵐が沢山いて
そいつらに張り合わないといけないこともあって
スレの普通の住民も活気があって、一体感があった
それはどこへ行っちゃったんだろうね?
- 18 :
- スレを横断してかき乱すruby嵐まだいるじゃん
- 19 :
- >>11
図形のコードはどうなるでしょうか
- 20 :
- >>20
https://jsfiddle.net/k1vho37y/
canvas以前にJavaScriptの基本的な文法すら理解してないだろ
ゼロからやりなおしたほうがいいんじゃね?
- 21 :
- 初心者です
ありがとうございます
- 22 :
- >>20
i<400になっていますが、どうして400まで繰り返す必要があるんでしょうか?
drawrect()
と関数を100ピクセルずらして、4回実行すればいいだけなのではないかと思っていたのです
i<4
この関数を4回実行すればいいだけだと思うのですが、
動かすのなら400フレーム必要だとは思います
- 23 :
- >>22
for (let i = 0; i < 400; i += 100) {
drawRect(i, 0, 100, 100, "#FF0000");
}
i+=100だから4回しか実行されないだろ
JavaScriptの基本的な文法すら理解してないならゼロから勉強しなおせと
400回繰り返してほしいのか?
- 24 :
- ああ なるほど
理解しました
- 25 :
- VarでなくConst使ってるJavaScriptの書籍ありませんか?
- 26 :
- >>25
Exploring ES6
- 27 :
- ES6を紹介してる書籍は今ではもう古い
- 28 :
- >>27
ES2018を紹介している書籍はあるのかね?
- 29 :
- そうではなく
ES2016,2017が出てきだしてからES2015を紹介してるものに比べて
"ES6"を紹介してる書籍は最古参のものがそろそろ5年立つし
比較的最近出版されたものでその呼び名を使ってるということは
それはそれで時代遅れ本のサインだということ
- 30 :
- 初めてのJavaScript 第3版 ――ES2015以降の最新ウェブ開発、オライリー、2017
ただし、これは初心者が読める本ではない!
最低でも、Ruby など数言語を知っていないと、理解するのは無理です!
- 31 :
- Rubyなんてくそ言語知識なんて必要なかったよ
- 32 :
- var canvas = document.getElementById("maincanvas");
var context = canvas.getContext("2d");
function drawRect(x,y,width,height,color){
context.beginPath () ;
context.rect(x,y, height, width ) ;
context.fillStyle = color ;
context.fill() ;
context.stroke() ;
}
for (i = 0;i < 400;i += 100){
drawRect(0,i,20,20,"blue");
}
教えてもらったコードで四角形を繰り返し表示してます
ただ、ページの読み込みが止まらず、応答なしになることがありました
原因は
for (i = 0;i < 400;i += 100)
を
for (i = 0;0 < 400;i += 100)
とミスタイプしていたことだったのですが、vs codeでエラーは出ません
こういうエラーではない問題を探すにはどうしたらいいんでしょうか?
- 33 :
- JSHint とか。Javascript用、構文チェッカー
- 34 :
- 0 < 400を構文チェッカーが指摘すんの?w
なんて?w
- 35 :
- 簡単なパズルのチュートないすか
>>34
ですから、それはわかってます
- 36 :
- >>29
勿論、新しいに越したことはないが、最新かつ高品質な書籍でお勧めできる玉がない
書籍は当たり外れが大きいので、書店で出版日の新しい書籍を選べ、ともいえない
あなたがそれを掲示してくれるなら、問題はないのだが
- 37 :
- 当たり外れというものはヒトの人生において子供の頃からずっと付きまとうもの
外れに十分に触れてそれが外れだと分かるようにならないといけないし、
分かるようになれば大人にとっては幾らでも教材を取り替えられるので問題は生じない
マラソントレーニングをこれからしようという人に近道を教えて甘やかすのは良くない
- 38 :
- >>36
入門書はいくら評判良くても相性悪くて読み通せないなら意味ない
なので基本的には本人が読みやすいと感じる本でいいと思ってる
ES3時代のは流石に古いから2015年以降くらいで選ぶのがいいだろうけど
まあ、流石にこれはどうなんだろうって本も中にはあるけどさ
子供(小学校高学年くらい)向けで去年出た本で
変数宣言無しで書いててびっくりした
スコープは子供には難しいという判断だったのかなあ
- 39 :
- シャッフルの方法なんですが、フィッシャーイエーツのアルゴリズムというものに含まれていたコードのこれはなんですか?
var n = array.length,t,i;
console.log(n);
出力してもtの未定義エラーです
https://h2ham.net/javascript-%E3%81%A7%E9%85%8D%E5%88%97%E3%81%AE%E3%82%B7%E3%83%A3%E3%83%83%E3%83%95%E3%83%AB
- 40 :
- >>35
継続条件の書き間違えによる無限ループは誰でもやらかすし、
構文上は何も問題がないから構文チェッカー等も効かず、動かす前に見つけるのも難しい
よって対策は
・for(初期化;継続条件;更新処理)はなるべく使わずforEachやfor of、for inを使う
・使わないといけないときは気を付ける
・ブラウザが固まったくらいで慌てない
くらいしか、現在のところはないよ
あとパズルとかのサンプル欲しいなら
https://nextpublishing.jp/book/8499.html
がおすすめ
前半のHTML/CSS入門のあたりは古臭いし出来は良いと思わないが
ゲームのコード及び解説の部分はすごく丁寧で詳しい
- 41 :
- >>38
読みやすいとか、平易な説明だとかをウリにする書籍は高確率でコード品質が悪い
書店でパラパラとめくったり、Q&Aサイトや2ch等で紹介された本のサンプルコードやら引用文を見ると、かなりの確率で間違いがある
独断と偏見を承知でいえば、日本人が著者のものはほぼ全滅なのではと思う
その辺の品質の低さを許容し、将来的に間違いを補正することを必要経費と割り切るなら、本人の好みで決めれば良いと思う
最も、>>25は質問が端的すぎて、趣旨が分からんが
- 42 :
- AmazonとGoogle Booksでレビューと中身お好きなだけ見て買えばいいじゃん
こういうところで聞く人の気持が分からん
- 43 :
- for(i=0;i<3;i++){
a = setTimeout(i,i * 5000);
console.log(a);
}
一定間隔ごとに数字が増える処理はこれではだめですか?
- 44 :
- はい。
- 45 :
- どこがですか
- 46 :
- for(i=0;i<3;i++){
setTimeout('console.log(i)', 5000);
}
- 47 :
- for(var i=0;i<3;i++){
setTimeout('console.log(i)', i * 5000);
}
- 48 :
- どちらもvscodeではエラー出るのですが
- 49 :
- for (var i = 0; i < 3; i++) {
setTimeout((function(i) {return function() {console.log(i)}})(i), i * 5000);
}
- 50 :
- >>43
for文を使わず、再帰しなされ
- 51 :
- いいかげん15パズル君は基礎からやりなよ
何度も言われてるのにそこだけスルーだよな
多少なりとも成長があればいいけど、ちっとも質問のレベルが上がらない
こんな変なコードよく書けるね
- 52 :
- >>39
「javascript カンマ演算子」で検索!
- 53 :
- (async () => {
for (let i = 0; i < 3; i++) {
await new Promise(resolve => setTimeout(resolve, 5000));
console.log(i);
}
})();
- 54 :
- Web制作板でIE11不可なコード書いちゃうやつって寒くね?
- 55 :
- >>51
どう書くんですか?
- 56 :
- 3×3 の、〇×ゲームでも作れば?
<table id="board">
<tr><td></td><td></td><td></td></tr>
ここに、さらに、同じものを2行書く。
2ch では、繰り返しが多いと、NG になって書けない!
</table>
そもそも、こういうボードがあって、君は、
クリックされたマスに、〇×を描くことが出来るのか?
さらに、縦横斜めに、3つ揃ったら、ゲーム終了させる、終了判定処理も書けるのか?
- 57 :
- ↑サンプルください
まるばつゲームがそもそもわからないです
- 58 :
- >>57
上の方にしっかり縛り付けたロープの端でまるを作ります
あなたの首を通します
ジャンプして足をつかないようにおしりで着地します
これがまるばつゲームです
ばつの意味はやると分かります
今すぐやってみて!
- 59 :
- 「〇×ゲーム」(三目並べ)で検索!
- 60 :
- >>57
サンプル貰っても、貰ったコードをちょっと改変して「出来ました!」となるだけでしょ
それこそ、制御構文とか、配列とか、基礎から学びなおしなよ
- 61 :
- >>54
Web制作版でIEという文字を書くだけで寒い
- 62 :
- 最近暑いから助かるわ
- 63 :
- 広告がたくさんあるサイトとかよくブラウザが固まって
応答していません強制終了しますかになるけど
Web Wokerでローディングしてフリーズ回避とかできますかね?
- 64 :
- できる
絶対にできないということはそんなにはない
- 65 :
- web workerに対応していないブラウザもある
- 66 :
- atomを使ってるんですが、atom -runnerというものは信頼性はあるんでしょうか?
デフォルトで入っているデバッグ環境とかないのです?
- 67 :
- jQuery を勉強しているのだが「$」キーがめちゃくちゃ押しにくいのだが、みんなはどうしてるの?
ブラインドで打つと「%」とか「#」を押してしまうことが結構あるよね
- 68 :
- window.jjjj = $;
jjjj('#hoge').hide();
jjjj('#hoge').show();
- 69 :
- >>67
打ちにくいと感じたことないけど
$が嫌ならjQueryって打つのでもいけるよ
jQuery(...)の略が$(...)
でもまあたくさん$打ってればそのうち指が慣れると思う
- 70 :
- >>68でいいじゃん
jはホームポジションだぞ
これ以上押しやすくならんだろ
- 71 :
- >>68
むかし
var j = $;
って書かれてるのに遭遇して悶絶したことがある
しばらく何がおかしいのか気づけなかった
- 72 :
- >>70
> >>68でいいじゃん
良くない。jQueryで推奨されるやり方でやるべき
- 73 :
- 「jQueryで推奨されるやり方」っていうのは別名を付ける正しいやり方ってことね。
もちろん $ を使うのが一番いい。タッチタイピングの問題は訓練するしか無い
- 74 :
- かなり手が小さい俺でも
小指でシフト押しながら4に中指は届くから
まあ慣れだろう
- 75 :
- javascriptでは記号一文字グローバル変数を特定ライブラリが占有するのが推奨されてるのか。ふーん
- 76 :
- >>69が推奨されるやり方
- 77 :
- >>75
C言語やPHPの世界でも _ という名前の関数が、特定ライブラリに
専有されていたりしますし、いまさらですねぇ
君、世界が狭くない?w
- 78 :
- Perlで変数がスカラーだからjQueryで使われているのに違和感がある
- 79 :
- >>75
JSは仕様とエンジンが分かれていて中心的なコミュニティもないから
何が推奨、何が非推奨とかはない
何でも自由で好きにしたら良いし、好きにしてるものを好きに使わなかったらいいだけ
ライブラリスレならまだしも、ここで1ライブラリの不満を言っても仕方がない
jQueryはjQueryでしかないのだから
- 80 :
- そもそも他プログラムでドル記号なんて使えねえんだからjquery専用でいいだろ
困ることは何もない
- 81 :
- 困る場合はなくはないけど、そういう時のためにjQueryは
$以外を使うための方法をちゃんと用意してるので
すごいなぁと思った。一流のライブラリってこういうものなんですね。
- 82 :
- >>77
使われることと、それを良しするかは別問題
https://teratail.com/questions/94084
- 83 :
- >>81
ぶっちゃけ、即時関数で昔から対応できたことなので、「何でそんな事までライブラリにやらせるんだ」と思ってた
prototype.jsと衝突した初心者から非難を受けて対策したんだろうけど、衝突させる方が悪い
名前衝突問題を説明する悪例としては、ちょうどいいが
- 84 :
- >>80
Perlの変数名の頭は $ だろ
配列は @ だし、ハッシュは % だし、リファレンスは \$ \@ \% だからね
$aaa, @aaa, %aaa, \$aaa, \@aaa, \%aaa, $$aaa, %$$aaa, $$$aaa ←これ全部変数だし
- 85 :
- >>82
だから良いってことだよw
- 86 :
- >>85
「だから」が結論への繋がりを示してない件
- 87 :
- prototypeやjQueryが流行りだす前夜
みんな俺俺ライブラリを作ってたと思うけど
閉じ込める変数名、なん文字くらいにしてた?
俺3文字だったけど、1文字に比べたらけっこうダルかった思い出
- 88 :
- >>84
今のPerlは違う
- 89 :
- >>86
だから、一文字変数や関数が実際に使われており
必ずしもダメってわけじゃないってことが
リンク先に書いてある。
- 90 :
- >>87
俺俺ライブラリなら当然長くしないとダメだよ。
短くしていいのは、スコープが小さい or 一文字を使うに値するほど
汎用的で実際に汎用的に使われている。
俺俺にその価値はないからね。
- 91 :
- >>90
なんでー
いいじゃん別に
俺俺ライブラリ使わにゃならんような状況なんだから
- 92 :
- 俺俺なら、1〜2文字の大文字にするだろうな
- 93 :
- >>87
俺俺ライブラリわかるわー、今も使う
>>88
聞いたこと無いから詳しく知りたい
Perlの変数って先頭に$,@,%を付けないとuse strictしてなくても必ずsyntax errorになるんだが?
- 94 :
- >>91
一人でやるなら良いよ。
でも、他の人に話が通じない。
例えば仕事で「俺俺オレライブラリ」の経験者を
雇うことはできないんだからさ
結局どれだけ知られているかどうかだよ。
$だとjQueryだろうなって知られてる。
だけどjだと知られてない。そいういうこと
あ、jだとループ変数 i, j, k のjとして使われるか。かぶるな。
- 95 :
- >>94
そりゃ俺俺だもの
あたりまえじゃーん
使う人だけで仕様を共有するんだよ
- 96 :
- 俺もユーティリティ系のモジュールは$にインポートする
他の人に話が通じない?そんなことはない
Oredayo.hogehoge()の代わりに$.hogehoge()とか使ってたら混乱する?
んなわけない
- 97 :
- >>89
どう読んだのか知らんけど、
> 「サイズが小さい」は圧縮ツールを使えば、同様の事が可能な為、この書き方を好む人は次のような人です。
>
> - 出来るだけ短いタイプ数で気持ちよくコーディングをしたい人
> - 書いたコードを保守する場面を考慮しない人
> - 自分がコードを分かれば良い人(他人がコードを読む配慮がない)
君はそういう人なのね
- 98 :
- >>97
今はjQueryの$の話だよ?
$は正確には変数ではなく関数である。
一文字を使ってるのは$だけである。
jQueryはできるだけ短いタイプ数にはなっていない。(toggleClassなど)
$は世界中で知られている。自分以外もわかる。他人がコードを読む配慮担っている。
つまりそこに書いてるのと全く当てはまらないから
逆に使うべきってことになる。
- 99 :
- 知ってるよ!prototypejsの記号だよね!
- 100 :
- そう。このようによく知られているならばいいんだよ
俺俺で使うなって話
- 101 :
- >>100
ばかだなあ
オレオレは俺しか使わないからどうでもいいんだよ
- 102 :
- >>98
> つまりそこに書いてるのと全く当てはまらないから
> 逆に使うべきってことになる。
これは酷い
- 103 :
- ふむ。やはり明確な反論はなしか。
- 104 :
- >>87
懐かしいなあ
片手で打てることを重視してsdfと名付けたなあ
- 105 :
- 短い名前はダメって言ってる人にysarlijgakjfafjcajfa8pという
長い名前ならいいでしょ?っていうとよっぽどの馬鹿じゃない限り
本当にダメなのは長いかどうかじゃなくて、その名前から意図が
読み取れるかどうかだってわかるはずだよ。
- 106 :
- >>103
反論以前の問題では?
>>98の「いってないことが俺様が勝手にルール決めるね?」って明らかにおかしいでしょ
- 107 :
- 俺様って、リンク先の回答者のことかいな?
一般人の書き込みを、信じるとかあほらしw
- 108 :
- >>107
君、文章読めない人?
>102が引用している一文
- 109 :
- どんなに丁寧に書いてもしドキュメントまで整備したとしても
結局は約立つのはほんの一部でしかないのだから
オープンソースの長期プロジェクトでもない限り
適当に書いて、書かれたものは読み解こうとせず丸ごと捨てて書き直すのでいい
そもそもプログラムというのはコンピュータに向けた司令なのだから
誰かわからない将来見るかもしれない人が分かるように書くとか愚の骨頂
- 110 :
- しつもん
WeakSetってなんで作られたの?
- 111 :
- そんな漠然とした質問をここでするな
ググれば色んな解説が出てくるだろう
それを見て分からないとこだけ具体的に質問しろ
- 112 :
- >>111
何だここ質問スレッドじゃなかったか
全部の質問にそう言ってたらいいと思うよ
- 113 :
- ワードプレスサイトに自動見積もりフォームみたいなの実装しなきゃいけないんだが(加工品のサイズや数量入れて見積もりさせる)
この手の物はjqueryでやればいいんかね
一回jqueryで似たようなの作った時はたいそう面倒臭かった記憶がある
かといってそのページだけのためにフレームワークとか使うのもな…てかフレームワーク使ったことないし不安
- 114 :
- フロントエンドエンジニアとHTMLコーダーを分けるものはJavaScript(が書けるか書けないか)という理解でよろしいか?
- 115 :
- >>110
弱参照
- 116 :
- ビオレU
- 117 :
- >>112
ここは自ら学ぶ人のための質問スレッド
思いつきやお遊びの適当な質問に対して緩く会話するスレではない
自ら学ぶ気がある奴がどうしても躓いたときに知恵を貸して貰うために丁寧に質問し、
回答者は質問者が自分で勝手に助かれるよう答えではなくヒントを与えるためのスレ
そこを履き違えてはいけない
- 118 :
- >>113
Ruby on Rails でも、Node.js, jQuery は必須
Vue.js を使う人もいるほど
- 119 :
- >>117
そうか、申し訳なかった
- 120 :
- >>116
節子、それ弱参照やない。弱酸性や。
- 121 :
- Tumblrの投稿記事(xxx.tumblr.com/post/ID)の本文中に
貼り付けた画像に後からDOM操作でグループクラスを指定したい。
var images = $(".postcontent img");
$.each(images, function(index, element){
$(element).wrap('<a href="' + element.src + '" group="' ■ '"></a>');
})
本文には複数枚の画像が貼り付けられています。
■にこの画像が貼られてる記事のIDもしくは
例えば投稿時間などこの記事単独のキーワードを
記入することはできないでしょうか?
tumblr独自タグ{postID}がこの場合使えないため困っています。
例えばここにABCと固定文字を入れてしまうと、
複数の記事が同一ページにある時は全ての記事内の画像が
グループ化されてしまいます。
- 122 :
- >>119
ここのスレでなくてもどう答えたら良いか分からないだろう
Map、WeakMap、Set全部完璧に理解していてWeakMapのユースケースがわからないと言いたいのか
そもそもWeakの価値がわからなかったり、Setの価値がわからなかったりするのか
そういうのを抜きにしてWeakMapについて1から語るにしてもGCや弱参照のことは知ってるのかとか
「どうしてこういう仕様で作られたのか」という話を始めたら
裏話の中では最も有名で象徴的なあのエピソードも交えないといけないかもしれないし
君がどこまで知っていて次何を知りたいのかは、どこの質問所でもはっきりさせたほうがいいよ
- 123 :
- >>122
weakSetの要素が弱参照でガベージコレクションの対象になると言うことも知ってる
weakSetで参照するときにガベージコレクションの参照数カウンタ
がインクリメントされないとかなんとか
完璧に理解しているとは言えないと思う
weaksetの仕様を読んだが本当に何に使うかわからないし、調べても出てこなかったからユースケースも聞きたい。
そういう意味を含めてどんな経緯で、どんな目的で、どんな言語から影響を受けて作られたのかと思って質問した
つまり聞きたい順番としては
1.どんな経緯で実装されたのか
2.使いみちどんな場面なのか
って感じです
- 124 :
- weakmapに比べて使いみちがなさすぎると思ったんだよ
もしかしてmap と setが作られて
weakMapが欲しいとなったときにノリで実装されたみたいな話になるのか?
- 125 :
- >>117
あなたのような真面目に回答しようとする人がまだここにいる事に驚いた
今はもうteratailやらSOやらに移動したものと思ってたから
- 126 :
- >>123-124
そこまで理解できているのなら、「MapとWeakMapの違い」を「SetとWeakSetの違い」に当てはめるだけで十分と思うが、WeakMapはどういう使い道だと思っているんだ?
あるいは、MapとSetの違いをどのように理解している?
実際、俺がおまえなら、自己解決できるし、何か考え方に問題があるのだと思う
「一般的な書き方」とか「正しい書き方」を求めているタイプならそれが原因
- 127 :
- > WeakMapはどういう使い道だと思っているんだ?
それが質問内容。
質問者に聞いてどうする?
- 128 :
- >>127
>>124を見る限り、WeakMapは理解しているように読めるが
- 129 :
- >>128
だから、お前もWeakMapは理解してるだろ?
いつ使ったか言ってみろって。使いみちというのはそういうことだ。
- 130 :
- >>110はMap,WeakMap,Set,弱参照は理解していて、WeakSetを知りたい、って理解でいいのかね?
普通はわかりそうなもんだが
- 131 :
- >>129
質問内容を読み直したら? >>110
- 132 :
- >>131
あの質問内容を見て、使いみちを聞いてるってわからなかったのか?
- 133 :
- >>132
WeakSetの使い道を聞いてる人にWeakMapの使い道を答える不自然さにいい加減、気が付きなさいよ
- 134 :
- >>133
どこが不自然なのか、答えてみてくれる?
- 135 :
- 2ちゃんねるはひねくれた回答をする場所なんだよ!
使いみちを聞かれたら、お前そんなもわかんねーの?って煽るのがデフォだから
- 136 :
- >>134
聞いてもいない知っている内容を回答されるところ
- 137 :
- >>136
だから、
使いみちを聞いてるなら、
使いみちを回答するべきですね
それでさ、いいからお前何に使ってんの?
- 138 :
- 真面目に回答して何の発展性もない煽りしか返ってこないぐらいだからな
質問者本人が煽っているのかと勘繰りたくなるぐらいだ
- 139 :
- 質問を誤読していた>>127が必死に矛先を逸らしているだけに見える
- 140 :
- >>137
WeakMapはDOMノードとか{}とか配列とか、いろいろ使ってるよ
もう荒らさないでね
- 141 :
- 質問者本人だが、weakmapはカプセル化とか隠すために使ったりしてるよ
- 142 :
- WeakMapの用途が分かって良かったな
- 143 :
- いやWeakSetは?
- 144 :
- >>127はWeakMapの質問だと思っていたようだからな
- 145 :
- この質問者、相手によって横柄な態度をとるよね
>>123-124はMap,WeakMap,Setの理解度を説明していない時点で不十分な補足
あて推量だけど、>>126や>>130の解釈になるのも理解できるよ(煽りと思ってるのか、スルーされちゃってるけど
- 146 :
- >>122と>>126の趣旨はほぼ同じ
要件をはっきりさせるのは基本じゃね?
- 147 :
- >>124
Weak系は元々列挙可能な仕様だったけど
実装方法が狭まるから削除された
列挙ができなくなった事もあって
やっぱりいらないんじゃないか論も出たけど
簡単に言うと半分ノリで実装された
- 148 :
- >>147
WeakMapは列挙不可能だが、WeakSetは列挙可能
列挙不可能はそれでメリットあるし、列挙可能なら弱参照性を利用すればいいし、ようするに使い分け
- 149 :
- 列挙可能(enumerable)ではなく、iterableだったな
- 150 :
- どんな経緯で生まれたにせよ、用途は使う人が決めるもの
けど、>>110は「ノリで作られたのなら、使う機会はなさそうですね」という結論に落ち着くんだろうなー
- 151 :
- vscodeでjs を書いたんだけど動かすためにはnode要るの?
- 152 :
- >>151
ブラウザで動かすなら不要
というか、>>124に回答されてるんだからレスしろよ
- 153 :
- >>152
そうか
でもide上で動かしたいんだよ最新の安定版nodeって11でいいの?
なぜか間違って名前欄に124入ったけど
私は124ではない
- 154 :
- >>153
なんで情報を小出しにするのか
そのIDEのヘルプを見ろ
- 155 :
- 答えてくださった方、ありがとうございます。
なんで荒れたかは分からんけど勉強になりました
- 156 :
- >>150
だから、使う用途を聞いてるんだろ?
なんで「使う機会はなさそう」って思ってる人がそんなことはないだろうと用途を聞いたら
それに答えられないで「使う機会はなさそうって結論になるんだろうな」って感想言って終わりなの?
- 157 :
- >>156
だから、なぜ「経緯」を聞いてるの?
明確な理由か想像できるなら教えて
- 158 :
- >>157
経緯は聞いてないぞ。
あんたが、WeakMapを使った理由だ。
無いって無いなら、やっぱ無いんだろうなあ
- 159 :
- >>158
質問者が>>123で聞いてる経緯の話だよ
最初からその話しかしてない
- 160 :
- 失敗を認められない大人ってほんと恥ずかしいね
ああ恥ずかしい
- 161 :
- 環境構築ムズイな何から入れたらいいのかわからん
そこら変詳しい本ないですか?
- 162 :
- だから、何の環境構築なのかと
なんでいつも肝心の所を省略するんだよ!
- 163 :
- npmっていうの?モジュールの管理とか仮想環境とかそこらへんの環境です。
- 164 :
- つまりなんだかよくわからないってことね。
- 165 :
- >>121
><a href="〜" group="〜"></a>
最初に、<a href="〜"></a> だけを作っておいて、
後で、group 属性に、値を設定すれば?
つまり、2つの処理に分ける
- 166 :
- >>151
Ruby on Rails でも、どの言語でも、
web 系開発では、Node.js, jQuery は必須
Vue.js を使う人もいるほど
- 167 :
- >>166
黙って野垂れR
- 168 :
- >>167
相変わらず、口が悪い質問者だな
- 169 :
- >>148,149
いや、WeakSetも列挙不可能だよ
コミュティでの話し合いで実装方法が狭まるから列挙できなくした
- 170 :
- JavaScriptの良い参考書を教えてください。
- 171 :
- >>170
日本語だとないね。
- 172 :
- >>170
https://www.amazon.co.jp/dp/4873115736
古いが、ここにしか書いてない情報も結構あるので無駄にはならないかと
- 173 :
- 初めてのJavaScript 第3版 ――ES2015以降の最新ウェブ開発、オライリー、2017
ただし、この本はプロ向け!
5言語以上やっていない人には、無理
- 174 :
- >>173
自分が分からなかったってことね。哀れな糖質だなぁw
- 175 :
- >>170
Webだけで事足りる
http://www.ecma-international.org/ecma-262/9.0/
- 176 :
- >>174
自信家の君には最新仕様を読む権利を与えよう
http://exploringjs.com/es2018-es2019/index.html
- 177 :
- >>173
5言語も要らねえだろ
- 178 :
- 一芸に熟達せよ 多芸を欲張るものは巧みならず
- 179 :
- WebやJSは色んなパラダイムや内部的な仕組みを学びやすい言語だから
極めれば5言語習得したのと同じ分の経験が得られる
- 180 :
- ウェブとは関係ないとあるレポートをhtml形式で
出力するツールを作ってるんですけど、
ローカルの任意のテキストファイルって読み込めるんでしたっけ?
読み込めないなら読み込めないで、jsファイル(json)で
出力すればできるのわかってるんだけど、出力する側は
jsonじゃないほうが楽なので
- 181 :
- firefoxとchrome向けのクライアントサイドのjs書いてます
2000行くらいでまとまった処理をfunctionにしてるくらいです。
全部1つのクラスに入れちゃおうかと思ったけどいまいち利点が見つからず。
特にパフォーマンスは求めておらず、テスト、保守・拡張に優れた書き方
で参考になるデザインパターンやウェブや本あったら教えてください。
- 182 :
- コード見せてくれれば、レビューするかもしれんぞ
- 183 :
- >>180
File API
- 184 :
- >>180
かなり最近の機能だけどchooseFileSystemEntries()を使って
一回だけユーザーにフォルダ選んでもらってIndexedDBにハンドルを保存しとけば
以降File System APIとFile Writer API使うことでそのフォルダの中身を好きに読み書きできるようになった
- 185 :
- 回答を放置する質問者ばっか
- 186 :
- ファイルダウンロードするだけなのにChromeとFirefoxとSafariとIEで全部方法が違うとか、このレベルでブラウザ毎に変えるなよ
- 187 :
- ダウンロードするだけならdownload属性を使うのでいい
ただmobile SafariではblobURLに制限があったりセキュリティのなんちゃらに
引っかかるのがマジうざいから対応しないこともあるけど
- 188 :
- 煽って回答を引き出す奴に構ってやるなよ…
まあ、こういう奴ばかりだから廃れたんだろうな
- 189 :
- 昔は回答者が質問というか話題を出す所謂だべり場で
新参の質問者は初心者です、話の途中で申し訳ないけれど、この質問も聞いてほしい
という感じで質問するんだけどスレの流れがあまりに早すぎるのもあって
よく無視されてて質問者を大事にしようよという声もしばしば上がってた
今廃れたのはそういうイキリくんが大人になったか死んだかで
荒らしも減ったし要するにヘタレしか残ってないから
- 190 :
- >>189
昔から初心者にも回答はされてたよ
質問者がいつまで経っても出てこないから、回答者同士でだべってた感はあるけどね
流れが早くても質問者が返事を出せばよかったのに、とは当時からよく思ってた
- 191 :
- JSの今や未来に興味がない向上心の欠片もないおっさんしか残ってないからでしょ
今なんてデコレータとか昔より沢山話題があるのに誰も興味を持って話す人がいない
いつでもライブラリや素朴な質問の繰り返しのみ
そんなんで活気が出るわけがない
- 192 :
- >>187みたいなのは愚痴であって、質問じゃない
- 193 :
- 間違えた
質問じゃないのは>>186ね
- 194 :
- >>190
俺はpart2,30のころからいるが
一時期は2日でスレが埋まることもあるくらい勢いがあったんだよ
そこまで行かなくても3,4人が喧嘩してるだけでスレが流れていっていた
JSスレも4つ5つ経ってて、今では珍しい前スレへの安価は勿論別スレへの安価や誤爆も頻繁にあった
質問への回答が付くのも何十何百レス後で、それじゃあ質問者が離れても仕方ないねというムードだった
それでも当時の質問者は律儀に返すやつも多かった
なぜなら普段回答もするスレの住人がよく質問もしてたからだ
- 195 :
- >>191
そういう前向きな話をするには、匿名を盾にやりたい放題な場は不向きなんだろうね
昔はそれでも頑張ってたようだけどね
結局、匿名という性質は荒らしに優位に働いた
善意の人間が荒らしより多くなければ、成立しない危ういものだった
- 196 :
- 2chは善意とかいうお行儀の良いものではなく
ヤクザのように殺伐としていて排他的な文化だと思うけどな
昔は初心者ですと書いたらボッコボコにされてて
いつの間にか無くなったけどテンプレに書くなと書かれてたくらいだったし
ただ単にマイルドになっただけだと思うよ
要はキチガイが減ったから静かになってる
- 197 :
- >>194
時代があってるか分からないけど、レスしている人間もいればレスしていない人間もいたと記憶してる
「流れが早くてレスを返していいのか分からなかった」と返している質問者を見て、「それは違うんじゃないの。遅くても返せばいいんじゃないの。」と当時は思ってた
その為のレスアンカーだし、質問者が返さない状況で「何お前ら質問者を放置してやりあってんだよ」と外野が騒ぐのが実に不毛だった
質問者が何も返さずに回答者同士でやりあっている状況もよく見かけた
「適当な内容をねつ造して煽れば、誰かが正しい回答をしてくれる」と自慢げに語る人が現われたのもこの頃から
だから、>>188のいいたいことはよくわかる
スレが廃れたのはlodash房、jQuery房が現われた頃から
複数スレが乱立して質問/回答が分散し、そのすべてに荒らしがいて管理不能な状況が続いた
結局、荒らしに対応するリソースを割ける人は少なくて、一人減り、二人減り、荒らしと初心者とROMだけが残った
- 198 :
- >>196
> 昔は初心者ですと書いたらボッコボコにされてて
> いつの間にか無くなったけどテンプレに書くなと書かれてたくらいだったし
それがある意味、古き良き時代
今はただの無法地帯で昔より質が悪い
- 199 :
- >>180
VSCode でも使われている、Node.js(サーバー)を使った、Electron とか
漏れは、Ruby, Nokogiri, Selenium WebDriver で、ローカルPC 内の画像ファイルを見てる。
ローカルPC内のHTML ファイルも見れる
>>181
Seleniumデザインパターン&ベストプラクティス、2015、オライリー
OSSのブラウザ自動テストツール、Selenium WebDriver を使って、Rubyでテストを書いた本
Page Object などを使っている。
Ruby on Rails では、BDD のRSpec をよく使う
- 200 :
- >>183-184
フォルダ選ぶのは無理だなー
毎回ツールを実行して生成されたhtmlファイルを開くたびに
フォルダも毎回選ばないといけないのはめんどくさすぎる。
- 201 :
- >>199
> Seleniumデザインパターン&ベストプラクティス、2015、オライリー
テストを行う方の専門で、アプリを作る方には全く使えない本だな
テストしやすいアプリの作り方について書かれた本じゃない
- 202 :
- >>199
ElectronはHTMLファイルではない。
もう少し要件を理解してくれ、的はずれすぎる
- 203 :
- >>200
ローカルにWebサーバをたててやれ
- 204 :
- >>203
ツール実行結果のレポートとしてHTMLファイルを生成して
ブラウザで表示するってのが目的。つまりこれよりも面倒な閲覧方法は却下
データをjsonファイルで作るよりも、別の形式のほうが出力側は楽だから
ブラウザでファイル読み込めないかなって話なので、それより面倒な方法を
取らなきゃいけないならjsonファイルを生成するさ
- 205 :
- >>204
ツールとやらの仕様を知らん第三者にいろいろと憶測させるのが無理だって事をいい加減に察しろ
出力形式はjsonってどうやって読み込んでるんだよ?
jsonpか?xhrか?Fetchか?
お前さんが出す要件が曖昧だから、推測交じりに回答してんだろ
csvだろうが、xmlだろうが、読み込み処理さえちゃんと作れば何でもいいに決まってる
- 206 :
- データをjson形式で出力するのが面倒なのは、そのツールの実装言語に
json出力のライブラリが(おそらく)ないから。
といっても作る必要があるのは、JSONエスケープ処理だけだろうから
大したことはないだろう。
- 207 :
- >>206
読み込み処理を聞いてんのに全く関係のない情報を補足するアホ
- 208 :
- >>205
> 出力形式はjsonってどうやって読み込んでるんだよ?
<script src="出力したjson.js">
これでいいだろ?昔からクロスドメインでjsonファイルを読み込む方法
JSONPといわれてるな
> csvだろうが、xmlだろうが、読み込み処理さえちゃんと作れば何でもいいに決まってる
だから聞いてるのはcsvやxmlでもなんでもいいがローカルに置いたファイルを
ブラウザで開いて(FileAPIのフォルダ選択なしに)読み込めるのか?って話
- 209 :
- >>207
お前のレスを見る前に書いたんだよw
- 210 :
- >>208
やっぱり、jsonじゃなくてただのjsファイルじゃねーか
json出力したらローカルファイル参照できねーんだから正確に書けよ
そのやり方なら、文字列リテラルに他のフォーマット入れるのは簡単に出来るだろ
json問わずに好きなフォーマットを使え、終了
- 211 :
- > やっぱり、jsonじゃなくてただのjsファイルじゃねーか
jsonはjsファイルとして解釈できるんだが?
知らんのか?
- 212 :
- > そのやり方なら、文字列リテラルに他のフォーマット入れるのは簡単に出来るだろ
ダブルクォートとか入ったら、エスケープしないといかんだろ。
そのエスケープが面倒だから、そのままファイルとして
読み込めないのかって話を最初からしてるんだが
少しは初心者脱出してくれよw わかりきった話を説明するのは面倒だ。
- 213 :
- >>211
下記ファイルをどうやって参照するのか考えてからものをいえ
■foo.json
{"a":1,"b":2,"c":3}
- 214 :
- >>212
ファイル出力処理を改変しろといってるんだよ
頭わりーな
- 215 :
- >>213
ほんとくだらんレベルのレスするんだな。
エスケープよりも楽な関数呼び出しを追加する手間なんかどうでもいいだろ
> ファイル出力処理を改変しろといってるんだよ
だからエスケープ処理が面倒だから、そのまま出力したいということで
ほら見ろ>>206でお前が関係ない情報といった
話につながってるだろうがw
- 216 :
- >>200
ちゃんとレス読んでる?
フォルダ選択は一回だけして貰えれば
恒久的にアクセス権が取れる仕様になってるんだよ
- 217 :
- >>216
すまんな。さっきも書いたとおりツールから毎回HTMLファイルを生成するんだよ
- 218 :
- 出力のディレクトリも変わるかもしれんし、変わらんかもしれんが、
毎回違うファイルを生成していて、しかもローカルで
それで恒久的にアクセス権が取れたら、セキュリティホールだろうな
- 219 :
- >>215
お前が手前勝手に書いていない事で「許容できない条件」と「許容できる条件」を後出ししてるだけだろ
いいたいことは初めから全部かけと
- 220 :
- >>219
お前が勝手に話を変な所に持っていってるだけで、
俺は最初から「"jsファイル" で出力すれば良いのは知ってる」
任意の形式で出力したのを読み込めないのか?としか聞いていない。
>>180より
> ウェブとは関係ないとあるレポートをhtml形式で
> 出力するツールを作ってるんですけど、
> ローカルの任意のテキストファイルって読み込めるんでしたっけ?
>
> 読み込めないなら読み込めないで、jsファイル(json)で
> 出力すればできるのわかってるんだけど、出力する側は
> jsonじゃないほうが楽なので
- 221 :
- > やっぱり、jsonじゃなくてただのjsファイルじゃねーか
最初から "jsファイル" で出力すれば良いというのは知ってると書いてたなw
- 222 :
- >>215
正直、手書きなんて面倒でやってられんが、お前さんの自己ルールではOKらしいな
jsコード内に埋め込むのがいいなら、htmlファイルに書き込むのも有だろう
<script>の内容に埋め込むとか、template要素とか
それから、JSON出力コードを書くのがなぜ出来ないのかもまるでわからん
エスケープ処理が面倒?機械的にエスケープさせれば一瞬なのに何が面倒?
もうJSONを手入力している気がしてきたわ
初心者と煽っている割にいろいろとツッコミどころが多すぎて話にならん
- 223 :
- >>221
お前は知らないようだが、普通はJSON出力といったらJSONファイルを出力する
XHRで外部JSONファイルを取り込めるからな
- 224 :
- >>222
> jsコード内に埋め込むのがいいなら、htmlファイルに書き込むのも有だろう
「jsコード内に埋め込むのがいい」なんて言ってない。
それが嫌だって言ってる。
(エスケープ処理が面倒だから)jsコード以外の
任意の形式のテキストファイルを読み込めないのか?
としか言ってない。
- 225 :
- >>223
だからなんなんだよ?
jsファイルでもJSONファイルでも
エスケープ処理が面倒だから、そんな形式は使いたくない
任意の形式のテキストファイルを読み込みたいって言ってるだろ
話をすり替えるなよ
- 226 :
- > <script>の内容に埋め込むとか、template要素とか
それらも、どちらにしろエスケープ処理が必要だから、
jsファイルと同様に、そんな形式はできれば使いたくない。
- 227 :
- ローカルのhtmlでローカルのテキスト読みたいなら隠しiframe使えばいいんじゃね?
- 228 :
- エスケープ処理がないフォーマットなんてほぼないから、「要件を満たすフォーマットはない」が最終回答
終了
- 229 :
- > 機械的にエスケープさせれば一瞬なのに何が面倒?
めんどくせーな。シェルスクリプト(外部コマンド使用禁止、bash依存禁止という必須条件)で
エスケープさせるのが大変だって話までいちいち説明してほしかったのか?
任意の形式のテキストファイルを読み込む話と関係ない話だろ。
- 230 :
- ものすごく自分ルールをたくさん持っている面倒くさい質問者だってことは分かった
- 231 :
- >>228
自分で言った言葉の意味ぐらい理解しようやw
> エスケープ処理がないフォーマットなんてほぼない
ほぼない = あるにはある
- 232 :
- >>230
俺が作ったルールじゃないしw
- 233 :
- >>227
隠しiframe使って・・・。あぁHTMLファイルを読み込むんじゃなくて
テキストファイルをiframeで読み込むのか。
それならできるかもしれんな。iframeの中身に対してのアクセスもできただろうし。
- 234 :
- >>231
まともな言語ならフォーマットならエスケープシーケンスを作る
独自フォーマットの中にはエスケープを考慮しない粗悪なものもあるがね
- 235 :
- >>232
お前の後出し条件の事だ
- 236 :
- >>227
だめだった。ローカルでやるとクロスオリジン扱いになる。
index.html:7 Uncaught DOMException: Blocked a frame with origin "null" from accessing a cross−origin frame.
at file:///C:/temp/html/index.html:7:60
<iframe id="iframe" src="data.txt"></iframe>
<script>
setTimeout(function() {
var doc = document.getElementById("iframe").contentWindow.document;
.log(doc.body.innerHTML);
}, 1000);
</script>
半角使うと書き込めないので、全角にしてる
- 237 :
- 訂正
console.log(doc.body.innerHTML);
- 238 :
- >>235
> お前の後出し条件の事だ
お前がはじめて、関係ない話にたいして対しての条件であって、
俺の最初の質問にたいして条件を後出ししてない。
フォルダ選びたくないってレスしたぐらい
- 239 :
- >>234
> まともな言語ならフォーマットならエスケープシーケンスを作る
だからなんなんだよ?
エスケープシーケンスって言ってるのは意味不明だが、
「jsファイル以外の形式を読み込みたい」としか言ってないだろ
面倒だからどんな形式であれエスケープ処理したくないんだよ
- 240 :
- 質問者は名前欄にレス番を入れろ
臆病者のチキン野郎め
回答者からフルボッコにされる覚悟のある奴だけ質問しろ
- 241 :
- やっぱりローカルに出力した任意の形式の
テキストファイルを読み込むのは無理ってことかな?
(File APIはフォルダ選択が1回であっても必要になるので
それやるぐらいなら自力でJavaScriptエスケープする処理を実装するさ)
- 242 :
- JavaScriptでできないことが発覚すると
ムキになる人っているよね
できないなら、できないという結論を言えばいいのに。
- 243 :
- まず教えて貰うのに上から過ぎんだろ
プログラムの前に小学校やり直せ
- 244 :
- この必死すぎる煽り満載質問者に親切心で回答する人がどれだけいるんだろうね?
- 245 :
- 教えてもらうからって技術力が低いわけじゃない。
単に知らないだけ。
むしろ、知識を知ってるだけ(今回は知らなかったようだが)で
上の立場だと勘違いするほうが間抜け
- 246 :
- >>244
回答する知識もないくせに、結論出た後でよく言うわw
そういうの負け犬の遠吠えっていうんやで
- 247 :
- プログラムは知識=技術 何だが?
柔道の技でもあるまいし
- 248 :
- どちらにせよ知らない雑魚が知ってるかもしれない人に取る態度じゃないね
- 249 :
- ローカルPC に、サーバーを建てた方がよい
Ruby なら、JSON も余裕。
他にも、jq コマンドとか
サーバーを建てないと、iframe とか、クロスドメインでアクセスできないだろ?
自分でファイル形式を、エスケープするとか、
そんな自作の低品質なライブラリは使えないだろ
- 250 :
- > プログラムは知識=技術 何だが?
あははw
それはちょっと恥ずかしいで
- 251 :
- >>249
単にローカルディレクトリに吐き出した
HTMLファイルをブラウザで見るだけで、それはやりすぎ
そんなのやるぐらいなら、JavaScriptエスケープ処理を実装して
HTMLからJavaScriptファイルを読み込む(最初に自分で言った手法)
- 252 :
- じゃあ何?やり方を知らないお前に技術があるとでも言いたいの?
知らないだけじゃなくて脳みそも馬鹿じゃん
- 253 :
- >>252
はい。
ツールからローカルディレクトリにに出力したHTMLをブラウザで
開いて任意のテキストファイルを読み込めるかどうかを知ってるかなんて
「できる」または「できない」のレス一つで終わることですからね。
レス一つの価値が、ツール作れる技術を上回るとでも?w
- 254 :
- >>249
俺もそう思ったが、こいつには何を言っても無駄だろう
情報の出し方が具体的でなく、切り分けも出来てない
- 255 :
- この態度で教えてもらおうとしてる時点で頭悪い
質問者らしく演技でも常にへりくだってちゃんとした回答を得る奴が頭のいい奴
そうだろ?
- 256 :
- まあ、「エスケープが面倒」で情報を出した気になってるぐらいだからなあ
- 257 :
- >>253
でもお前知らないじゃん
- 258 :
- >>257
もう、できないと知った。
あっという間に追いつけたわけだ。
その程度だよ?知識って。
- 259 :
- >>256
そこは関係ない話だからね。
(省略)のHTMLファイルからからJavaScriptファイル以外の
任意の形式のファイルを読み込む方法を聞いてるだけなのに、
エスケープがどうたらとか関係ないでしょ。
エスケープしようがしまいが「任意のテキスト形式」であることに違いはない
- 260 :
- >>258
エスケープシーケンスもjsonファイルも知らなかった分際でよくいうな
他にも知らない事が山ほどあるんだろう
- 261 :
- >>258
自分で答えを出せないお前に技術などない
- 262 :
- 2chで煽り散らかしてやっとこさ、だ
人に質問する技術もない
- 263 :
- ここまでひどいと思ったのはlucker以来だな…
https://medaka.2ch.sc/test/read.cgi/prog/1525573214/
- 264 :
- >>260
まだ言ってる・・・
エスケープシーケンスについてググったほうが良いよ
エスケープとは違うものだから
- 265 :
- >>261
お前は自分で答えを出したのか?
ググって調べただけだろう
- 266 :
- >>260
> jsonファイルも知らなかった分際でよくいうな
>>180の最初のレスで
> 読み込めないなら読み込めないで、jsファイル(json)で
> 出力すればできるのわかってるんだけど、出力する側は
jsonって言ってるんだけど?
しかも最初は、jsファイルと正しく言ってる。
- 267 :
- >>265
お前は自分で答えを出したのか?
2chで駄々こねただけだろう?
- 268 :
- 客観的に見て、初心者と煽られた回答者の技術力が上だったと思う
用語の書き方に理解してない感があるのと、「もう、できないと知った」に理解度の浅さを感じる
参考文献を探し回って論拠を得るタイプじゃなくて、他人に尋ねた情報から推測して見切り発車するタイプなんだろうなと
- 269 :
- >>264
お前の中ではそうみたいだな
(いろいろとボロがありすぎてツッコミが追い付かん)
- 270 :
- >参考文献を探し回って論拠を得るタイプ
そういう人はここで質問しないでしょw
- 271 :
- >>268
こんなのできるできないの話だからさ
昔はIE専用で確かできたはずなんだがセキュリティ上
できなくなってるのは知ってた。
File APIも使ったことあるし、iframeを使ったやり方も
忘れていたがウェブでは使ったことがあった。
最近新しいAPIがいろいろできてるから、またできるようになっているかとかと思ったが、
こういう新しいAPIを知ってる(だけのw)知識自慢さんが何も出せなかったんだ。
何も変わってない=以前と同じできないままなのだろう
- 272 :
- >>241
任意の形式のファイルを面倒なく読み込みたいと言うくせに
>>218
恒久的にアクセス権とれたらまずいとか一体何が言いたいの?
- 273 :
- jQuery房やApple房に近しいものを感じた
実に面倒くさいタイプ
- 274 :
- ダサすぎ
- 275 :
- >>271
あるフォルダの中身を自由に読み書きしたいのなら
chooseFileSystemEntries()でできるようになるって言ってるでしょ
一回フォルダ選択してもらえればその中身は一覧で確認できるし幾らでも触れる
そしてそのハンドルをIndexedDBに保存することで後々にも使える
- 276 :
- chooseFileSystemEntriesはローカルでは使えません
- 277 :
- >>276
そんな縛りは仕様にはないよ
おそらくChromeではセキュアコンテキスト限定になるだろうけど
ここ半年くらいでローカルをセキュアコンテキスト扱いにする用になったから
今試して見たけど使える
- 278 :
- >>276
だめじゃんw
- 279 :
- >>277
ググっても対して情報見つからないけど、
今の普通のChromeのデフォルト設定で
動くコードってだせる?
少なくとも、window.chooseFileSystemEntriesはundefined
- 280 :
- >>197の
> 「適当な内容をねつ造して煽れば、誰かが正しい回答をしてくれる」と自慢げに語る人が現われたのもこの頃から
を地で行くタイプだな
こいつにとっては「情報を搾取する相手」にここを選んでいるに過ぎない
ここで質問する奴はあまりいないから、回答すれば高確率でこいつに回答する事になるわけだな
- 281 :
- 仕様と実装がけっこう違ってるのよね
クロームは徹底してセキュアだからローカルではimport/exportも使えない
- 282 :
- 言っておくけど、実験的なブラウザだけで動くっていうんじゃだめよ?
本当ならEdgeでもFirefoxでも動くという条件をつけたいぐらい
- 283 :
- ググれカス野郎
- 284 :
- >>272
それらは別人かと
- 285 :
- 検索 - 何故、答えがそこにあるのに、ググらない人が多いのでしょうか?|teratail
https://teratail.com/questions/20278
- 286 :
- >>279,282
Stable Chromeのデフォ設定じゃ動かないよ
でもできるできないっていうのはChrome Stableで動くかってことじゃないと思うからね
色んな不特定多数のアクセスを想定してるんなら多種多様なブラウザの普及バージョンで動くかを考えないといけないし
身内や社内で使うくらいなら特定ブラウザインストールしてフラグを立てて特定HTMLを開くショートカット用意することもできるんだから
chooseFileSystemEntriesはまだまだ実装中の機能でCanaryでしか動かないけど
とは言っても手元で試す事もできない空想段階のアイディアと違って
仕様もあるし、実装も一応試せるだけはされてるんだから、
>>271の最近新しいAPIが趣旨に乗っ取ると、俺はこれでできるようになると紹介できるよ
- 287 :
- ローカルHTML(と安全とみなされるサイト?)だけで
使えるかとも思ったけど、window.chooseFileSystemEntries はやっぱりundefinedだな
https://wicg.github.io/native-file-system/#api-choosefilesystementries
これ見ると、windowにある関数っぽいんだが、
windowにあるAPIじゃない?どうやって使うの?
- 288 :
- >>286
それじゃだめ。
実験したいんじゃなくて、今使えるツールの実装の話してただろ?
そこまで考えてくれよ。
というか、先にそういう事は言ってくれな。次からは頼む
実験的なAPIで一部のブラウザだけで使えるって。
- 289 :
- >>286
これから仕様が変わってローカルじゃ動かなくなるかもしれんだろ?
IndexedDBにハンドルを保存しとけば動きましたっていうけど
それは仕様でできると認められていて、今後もそうなるのか?
違うだろ? バグかもしれんだだろ?
やってみて動いたからOK。それ使いましょうって仕事で提案できるレベルじゃない。
そういうのをさ、出すなとは言わんけど、現状実用レベルじゃないんなら
それを先に書いておこうな。
- 290 :
- Stable Chromeのデフォ設定じゃ動かないよ
これが答え。
動かないよ。
- 291 :
- >>286
> 仕様もあるし、実装も一応試せるだけはされてるんだから、
仕様で、IndexedDBにハンドルを保存しとけば動くって書いてある?
- 292 :
- >>288
Webって言うのはまだ20年そこらしか経ってなくてそもそも全てが実験的であって
機能なんてどれも「一部」でしか動かないんだよ
それらは度合いの問題でしかないんだから君が基準を持ってるのなら最初にハッキリ示さないと
- 293 :
- 落ち着けよw深呼吸してレスを1つにまとめよう
- 294 :
- >>286
実装中の機能=バグがあるかもしれない。
なので、実装中の機能に限って言えば
やってみたら動きましたは、動く理由にしてはいけない。
あくまで仕様が正しい挙動。
(それも現時点での話で将来の正しい挙動ですらない)
- 295 :
- To: All
それじゃだめ。
ただ回答するんじゃなくて、質問者の未出の要件をエスパーして書かなきゃ意味ないだろ。
そこまで考えてくれよ。
- 296 :
- >>292
俺が言ってる「実験的」ってのはそういう意味じゃねーよw
将来の仕様変更は置いといて、
現時点で正しく動作が保証されてるのか?って話だ
そのAPIは "正しい動き" が定義されていて、その通り動いていると保証されてんのか?
- 297 :
- >>295
誰も質問者の要件にガラケーでも動くことなんて要求してない。
エスパーじゃなくても、皆が使ってるブラウザで使えるということはわかるだろ。
エスパーにしかわからないことを、わかれなんて言ってないんだから
- 298 :
- な?知識自慢野郎の悪い癖だぜ。
さも常識ですよ。みたいな感じで、普通のブラウザでは
使えないAPIをなんの説明もせずにだすわけだ。
- 299 :
- 毎回特定のブラウザでしか動かないAPIがでるたびに
それ、IEじゃ使えませんよって言う身にもなってくれw
- 300 :
- この状況でまだ回答者を非難する余裕があるとは笑える
- 301 :
- >>289,291
HTML5以降っていうのは〜っていう話を今更するのもアレだけど
WebRTCとかもそうだけど完全に安定するのを待ってたらいつまでも使えない
昔の価値観で実用レベルかどうかを測るのはそぐわない機能っていうが出てきてるんだよ
Living Standardとかって今後どうなるのかなんて誰にもわからないのだから
今使いたくて条件にあってるのなら各々の好きなタイミングから使ってもいいんだよ
特にWICGが作ってるで、Web USBとかと同じ類のものなのだからなおさらのこと
IDBに保存できるのは勿論仕様
今後どうなるのかは知らない
でも今それをどうしてもしたくて今これしかなくて今これができるのなら
躊躇する必要なんて無いと思う
将来幾らかどうにかなったとしたらその時幾らかどうにかすれば良いのだから
というかWebってのはずっと幾らかどうにかし続けていかないといけなくなったのだから
- 302 :
- >>296
君の言ってる保証というのが分からない
今の標準仕様、どれを見てもメソッドの過不足があるとか挙動が違うとか沢山あるだろう
それに今や誰でも仕様を書いてWeb標準だと言えるんだ
それは大げさに聞こえるかもしれないが
Chromeの中の人が仕様を作り、Chromeに実装するのはそれに似た臭さがある
そんな中どこに保証を求めるというのだろうか?
その場合Chromeの中の人に具合を聞くというのが一番の保証になると思う
つまり、そういう面で保証とやらを考えるのは馬鹿らしいことだということだ
- 303 :
- >>301
> WebRTCとかもそうだけど完全に安定するのを待ってたらいつまでも使えない
そんな話はしてないんだよ。
普通の人が使ってるブラウザで使えないぐらいのレベルなら
そのことをしっかり明記してくれという話
- 304 :
- もしかして、明記する基準がわからないって人?アスペかな?
基準がわからないなら、ちゃんと教えようか?
開発者向けにビルドされたブラウザ専用機能やブラウザのデフォルト設定を変更しなければ
使えない機能はそのことを明記してください。(気づかないはずがないのでこれは必須)
現在サポート中のブラウザ(IE11、Edge、Firefox、Chrome、Safari)で動かないならば
できるだけそのことを明記してください。(使ってないブラウザは気づかない可能性があるので必須とはしないが推奨)
特定ブラウザでベンダープレフィックスが必要ならそのことも書いてください
(最近は使われなくなってるはずだが)
これテンプレに入れようか?
- 305 :
- >>270
こいつに関してはその通りだったな
- 306 :
- こいつは昔の俺に似てる
こういう知識欲あって頑固な奴は伸びるよ
ただ社会では成功しない
俺と一緒に孤独なJS仙人になろう!
- 307 :
- いーやただの自閉症スペクトラム症だね
- 308 :
- >>303
是非に君のテンプレに入れてくれ
私がサポートしたい環境はこれで、私の考えるWebとはこうですとね
- 309 :
- >>306
> こういう知識欲あって頑固な奴は伸びるよ
知識欲旺盛は結構な事だが、こいつの知識欲は食わず嫌いだから成長できるとは思えんな
仕様書読まんから仕様と実装の境界が理解できてないしな
> 俺と一緒に孤独なJS仙人になろう!
これは賛成
一人の世界で生きてくれ
- 310 :
- 「知識欲」はともかく「頑固な奴」は自分のルールでしか物事を考えられないから、状況を正しく認識できない
文章を読んでも「そんなはずはない」とか「この仕様を作った奴は分かってないな」とけなして終わる
井の中の蛙
- 311 :
- 一般論はどうでもいい。今回のchooseFileSystemEntriesのような
開発者用ブラウザでしか動かないものは「完成してないけど使っていいAPI」には
当てはまらないのは明白
- 312 :
- 「完成してない」や「使っていい」のような主観的意見は自分の中に留めて置け
- 313 :
- 俺がびっくりしたのは、ユーザーに最初の一回だけフォルダ指定してもらって、
IndexedDBにそのハンドルを保存しとけば。アクセスし放題でしたよ。
(だからこの方法でできますよ)という発言だな
これみて脆弱性につながるとピンと来ないってのが怖い
例えば、安全なサイトがあって、index.htmlという名前でダウンロードディレクトリに
保存させてそれを実行してくださいと書いてあったとして、
そのページからIndexedDBにハンドルを保存する。
別の悪意のあるサイトがindex.htmlで自動ダウンロードするようにしておけば
ダウンロードディレクトリに同じ名前でファイルが作られる
(ユーザーはダウンロードディレクトリを掃除していたら、同じ名前で保存される)
そしてユーザーはこれなんだろう?とindex.htmlを開くと
悪意のあるサイトのindex.htmlはフォルダにアクセスし放題なわけだ
こいつは動いたからOKって短絡的に考えてる。
開発中なのにバグの可能性を考えていない。(何のための開発版なのか)
- 314 :
- >>312
だから客観的な意見として「開発版ビルド」「普通のユーザーは使えない」と言ってる
- 315 :
- >>314の辞書の「客観的」は別の意味らしい
- 316 :
- >>313
脳内妄想たくましくびっくり
- 317 :
- >>316
なにか否定できること有る?
こういうすきを突いて攻撃者は攻撃してくるんだが
考えが浅すぎ
- 318 :
- いや別に、IndexedDBにそのハンドルを保存しとけば
アクセスし放題というのは正式な仕様ですよって
書いているならそれを出せば良いんだよ。
仕様に問題があるとは思うが(それを確認するための開発版)
それはそれとして、仕様は仕様だから
でも開発版で、動いたからそれが仕様だ!っていうのはね(苦笑)
- 319 :
- 回答している人にお願いがある
どうか、もうこの人に関わらないでほしい
今までの経緯でお分かりいただけると思うが、この人に正しい理解をさせようとすると、マンツーマンで何時間もの時間をかけてようやく伝わるかどうかというところだろう
一人の為に全体が被害を被るのは避けてほしいと切に願う
- 320 :
- そのレスで満足したらもうこれ以上レスしないでね。じゃまだから
- 321 :
- >>318
基本的な事がわかっていないんじゃないか?
多くの仕様でどのタイミングでどのくらいプロンプトを出すかっていうのはブラウザに委ねられていて
仕様ではせいぜい「出すことができる」と書かれている程度でプラットフォームが許可してるかどうかしか気にしないんだよ
別にブラウザはプロンプトを出さなくてもカメラでユーザーを見て許可したり、勿論許可を求めなくても良い
プロンプトっていうのはWebにおける絶対的な仕組みではないの
毎回ファイル選択が出るかどうかと毎回プロンプトが出るかどうかは次元が違う話
前者はAPIの問題だが、後者は使用環境の問題
- 322 :
- >>321
「IndexedDBにそのハンドルを保存しとけばアクセスし放題」は
ブラウザの問題って言いたいのはわかったよ。
で?なに?今はブラウザの問題の話をしてるんだよ
普通の人は使ってないブラウザ。使用環境が整ってないなら
そのことをしっかり明記しましょう。
- 323 :
- >>322
まだわかってないね
ハンドルを保存しとけばそのファイルやフォルダにまた選択してもらうことなくアクセスできるよっていうのと
その中のどんなタイミングでブラウザがセキュリティプロンプト出すかっていうのは全く話が違うでしょ?
だから俺は後者に関しては言及してないよ
それに君は仕様仕様言うけどブラウザがどんなタイミングプロンプトを出すかの標準仕様があるわけではないのだから
同じブラウザでも色んな条件で出したり今日出して明日出さないとかもあり得るものなんだから
それこそ、仕様ではなく「今の動作」が重要なんじゃないのか?
Webは生きてるんだから、仕様もと同じくらい現在の実装が大事なんだよ
- 324 :
- メルカリでメルpay決済の祭り開催中!!
https://i.imgur.com/c5Rf0BQ.jpg
https://i.imgur.com/HgXj0Vc.jpg
※ポイントバックは翌日付与
更に初回会員限定で300pが貰えるキャンペーン実施中(iDで1p1円で利用可能、ポイントバックも対象)
【300pの入手方法】
・新規登録の最終ページでwelcome code
「BVUQWA」
を入力して300pゲット
・メルpay設定する
完了
うおおおお
- 325 :
- >>170ではありませんが、>>176のサイト良いですね
仕様を読めばわかるんですが、アップデート時の追加仕様だけ説明されると追いかけやすくて助かります
こういう最新仕様を追いかけるのに便利なサイトは他にもありませんか?
- 326 :
- mozaic.fm
便利というかもはや新聞のような生活必需品
- 327 :
- >>326
ありがとうございます
しかし、情報量が多すぎて、自分の中で咀嚼しきれないかもです
- 328 :
- javascriptのfor in ってなんでプロパティー名の繰り返しなんでしょうか?
let array = new Array();
for(let a in array); // a はarrayの要素ではない!
for(let a of array); // a はarrayの要素
個人的な感覚では、for in って書かれると配列の要素の総なめをイメージしてしまい、いつも混乱してしまいます。。。
for(let a in array)が配列の要素ではなくプロパティ名なのには何か理由でもあるのでしょうか?
- 329 :
- >>328
それは配列に適用するからおかしく感じるのであって、new Object に適用すれば納得できると思うよ
- 330 :
- >>327
広く浅く知っておくことも大事
とりあえず全部聞く
興味がある事柄が出てきたら止めるか覚えておいて調べる
- 331 :
- for(let p in obj); って書かれても違和感しかない
for in と for ofの規格を策定するとき誰も疑問に思わなかったのか?
慣れるしかない、と頭では理解出来ても納得は出来ない
そもそもプロパティーはオブジェクトに所有されてるものだから、所有を表す前置詞ofとかwhoseの方が適切なんじゃないかと思わなくもない
for propertyOf obj とか obj.EachProperty() みたいな書き方は出来ないものか・・・
- 332 :
- >>323
> その中のどんなタイミングでブラウザがセキュリティプロンプト出すかっていうのは全く話が違うでしょ?
> だから俺は後者に関しては言及してないよ
自分で矛盾してるって気づいてないのかなな?
ブラウザがセキュリティプロンプトを出すかどうかわからないっていうのなら、
後者に関しては言及してないというのなら、
「ブラウザがセキュリティプロンプトを出さない」なんて
言えないわけなんだが?
- 333 :
- >>331
> for(let p in obj); って書かれても違和感しかない
君が固定観念を持っているだけだから、意識改革するしかない
- 334 :
- >>332
ブラウザがセキュリティプロンプトを出さない
なんて俺は言ってないけど
矛盾してるのは仕様仕様保証保証と言いながら
実は仕様も保証のないブラウザの不確定動作の話に変に拘ってる君の方でしょ
それにセキュリティプロンプトがあったらどうなの?
むしろ君無いと駄目だみたいなこと言ってたじゃん?
セキュリティプロンプトはブラウザの裁量で適当にあって、
その他の不必要な選択は出さなくていい
そこに何の文句があるというんだ?
君の話で普及ブラウザで動くもので考えたいという点だけは理解できたけど
その他の発言は終始支離滅裂だよ
一度気持ちを鎮めて何が言いたいのか頭を整理した方が良い
- 335 :
- マウント取りたいだけの質問者にいつまで構ってあげてるんだろう?
- 336 :
- >>334
>>184で言ってる。お前が言ったんじゃないかもしれないが、
この話があったから、今の話に続いているわけで
> かなり最近の機能だけどchooseFileSystemEntries()を使って
> 一回だけユーザーにフォルダ選んでもらってIndexedDBにハンドルを保存しとけば
> 以降File System APIとFile Writer API使うことでそのフォルダの中身を好きに読み書きできるようになった
> それにセキュリティプロンプトがあったらどうなの?
そんなのでるぐらいなら、普通にJavaScriptファイルを吐いて、scriptタグで
読み込んだほうが良いなってずーっと言ってる。>>180 と >>200 を読み返せ
- 337 :
- >>335
お前もレスしたいんだなってことはわかったw
- 338 :
- WeakMap君といい、ローカル頑固君といい…、やれやれだぜ
- 339 :
- >>180は結局どう解決したのかここに書くのがスレ的に一番有意義だと思うよ
webサーバを立てるのか、エンコード処理を挟むのか
ツールを自作するのか、ブラウザを自作するのか
- 340 :
- >>336
俺は確かに>>184だがそこでもセキュリティプロンプトの話はしていない
>>180や>>200から汲み取れるのは
毎回ファイルやフォルダを選択する手間がかかるのは問題だという点だけで
俺は例えばinputで選択促す方法に比べてもそこはこれで解決されると主張してる
当分付き合ってきてやっと君の気持ちが分かって来たんだけど
例えばセキュリティプロンプトに親を殺されました
出るかもしれないというだけで怖いので避けてください
とでも最初にハッキリ書いておいてくれないとね
君がそういう体質だなんて知っていたら
俺もこんな恐ろしいAPIを紹介することはなかった
ローカルファイルを触りたいという話だし多少先進的なAPIであっても
他にマシな代替手段が無いなら紹介した方がいいだろうと考えてしまったんだよ
不幸な行き違いということでまあ許してほしい
それと君の言うテンプレ追加案はやめたほうが良いと思う
テンプレに追加しても誰も読まないし使わないし守らないから
>>1の「■質問テンプレート」のようにね
- 341 :
- >>334
> 君の話で普及ブラウザで動くもので考えたいという点だけは理解できたけど
普及してるブラウザと普及してないブラウザの話じゃない
普及していなくても、動作保証されてる正式版だが、
開発版ブラウザは、このどちらにも当てはまらない試験運用版だ
動作保証されてない。その違いぐらい分かれよ
https://play.google.com/store/apps/details?id=com.chrome.canary&hl=ja
> ? これは試験運用版のリリースです。このリリースはテストが行われていません。
> 動作が不安定になったり、場合によっては実行されなかったりする可能性があります。
> デベロッパーまたは上級ユーザーのみのご利用をおすすめします。
- 342 :
- >>340
> 毎回ファイルやフォルダを選択する手間がかかるのは問題だという点だけで
> 俺は例えばinputで選択促す方法に比べてもそこはこれで解決されると主張してる
ユーザーが選択する必要がある VS ユーザーが選択する必要がない
って話なのは理解できてる?
解決できてる問題とはなに?
- 343 :
- >>340
> 他にマシな代替手段が無いなら紹介した方がいいだろうと考えてしまったんだよ
だから、開発版ならそう明記しろって
- 344 :
- >>340
> 例えばセキュリティプロンプトに親を殺されました
> 出るかもしれないというだけで怖いので避けてください
お前馬鹿なのか?
単にユーザビリティとして優れているのはどちらかの話だろ
「でるかもしれないから怖いと思ってるはずなんだ」って
いう発想をしてるのは俺じゃなくてお前だからな。
使い勝手の話をしてるのになんでそんな話になるんだかw
- 345 :
- この二人、GW中ずっとやり合うつもりなのか?
いい加減、相互理解が不可能な事に気が付けよ
特に質問者の方は自分の正当性を主張する為に「お前馬鹿なのか?」を繰り返す奴で、彼が相手の言葉に耳を傾けるタイプじゃない事は十分に分かるだろ
馬鹿にされて悔しい気持ちは分かるが、見る人が見ればどちらの非が大きいか一目瞭然なんだから、さっさと撤退すりゃいいんだよ
>>339の好意を無駄にするな
- 346 :
- >>345
苛つかせて済まなかったけれど>>340が締めの言葉だから
俺はもう言いたいこと全部言い切ったのでアヤツのことは関心0
スレ汚ししたのは本当にごめんね。
- 347 :
- >>345
>>339は見逃していたな
> ツールを自作するのか、ブラウザを自作するのか
>>180に書いているだろ
> ウェブとは関係ないとあるレポートをhtml形式で
> 出力するツールを作ってるんですけど、
- 348 :
- >>346
苛つかせってるって自覚は有るみたいだな
- 349 :
- WeakMapのときにも思ったけど、
ブラウザとかWebAPIに疑問を呈するようなことを書くと
親を殺されたかのような反応をするやつってなんなんだろうね
なんでそんなことかくんだ。許さないぞって。
本人に自覚が無いのが一番やっかいなんだけど
- 350 :
- >>330
正論ですが、敷居が高い…
とはいえ、やってみます
引き続き、有用なサイトがありましたら情報お待ちしております。
- 351 :
- やはり、WeakMap君とローカル頑固君は同一人物だったか
感情的になってる>>331も怪しいが…
今後、情緒不安定だったり、攻撃的な奴は、関わらない方が無難だな
- 352 :
- >>349
漠然とした疑問に対する答えって難しいからイライラするんでしょ
質問者本当に自覚が無いのが一番やっかいなんだけど
ある程度ならこういう場合を答えればいいかなとか考えるのは楽しい部分があっても
こりゃ1スレじゃ書ききれんなってくらいになると
なんでそんな質問するんだってイライラしてくるのは当然でしょ
- 353 :
- >>350
基本月に1回更新なんだから
移動中にでもちょっとづつ分けて聞けば良いと思うよ
かなりの草案も取り上げてくれるから
重要なことっで毎月何度も聞くことになる
ああ、これ前も聞いたことあって、進展してきてるんだな
って思ってから調べても全然遅くない
- 354 :
- >>352
×1スレ
○1レス
- 355 :
- >>352
それはある
漠然とした質問には漠然とした回答を返して反応を見る主義だが、完全スルーされたから対処しようがなかったな
- 356 :
- 漠然とした質問にしない為のテクニック
https://teratail.com/help/question-tips#questionTips2
https://ja.stackoverflow.com/help/asking
https://ja.stackoverflow.com/help/mcve
- 357 :
- for-inって遡ったらSET言語まで行くでしょ
元々配列の値を列挙するものだったけど
オブジェクトがあるPythonに導入するにあたってキーを列挙するようにしちゃったから
それを真似したJSで配列は内部プロキシのかかったただのオブジェクトだから
配列でもキーが列挙される構文になっちゃったんでしょ
もう推理に近いけどね
- 358 :
- 確かに、WeakSetの質問者は自覚がなかったな >>155
質問が具体化していれば、こんなに長引くことはなかった
- 359 :
- オブジェクトがあるPythonに導入するにあたってキーを列挙するようにしちゃったから
↓
オブジェクトがあるPythonに導入するにあたって
基本的に配列は値だけどオブジェクトではキーを列挙するようにしちゃったから
- 360 :
- >>351
> やはり、WeakMap君とローカル頑固君は同一人物だったか
違うけど?
- 361 :
- 同一人物認定厨は、同一人物と認定することで
なにか心の平穏でも取り戻せるのかな?
- 362 :
- >>352
> ある程度ならこういう場合を答えればいいかなとか考えるのは楽しい部分があっても
それをやると、ここの質問者は煽り交じりで訂正してくるからイライラするんだよな
しかも訂正の仕方が主観的で要件不明瞭
- 363 :
- 自分の方が少数派だと思いたくないから、
相手を一人にしたいんだってどこかで見かけた
- 364 :
- 同一人物かなんてどうでもいいでしょ
一つの個体に複数の人格が宿ってるのかもしれないし
ただ同一種族であることは本人が否定しようがすまいが間違いがない
- 365 :
- >>362
そういう人は2ちゃんねるやらないほうが良いぞ
- 366 :
- >>364
なるほど、今度は種族とか言い始めてるのもそういうわけかw
- 367 :
- >>365
彼の趣向に合わせるなら、煽り交じりで不明瞭な回答をして、掌で転がすぐらいの奴がちょうどいいのかもな
- 368 :
- 質問者さんよぉ
煽りに対しては熱心に対応するのに
肝心の質問を解決しようとしないのはなんでだい?
- 369 :
- 実際は転がされてるんだけどなw
- 370 :
- >>368
JavaScriptファイルを読み込む以外の方法があるのなら教えて
- 371 :
- JavaScriptファイルを読み込むよりも優れた方法だな。
もちろん何かしらの条件があるのなら、
それも書くこと
- 372 :
- ユースケースは>>180に書いたとおり。
同じことは書かないよ?
- 373 :
- まさか、>>367を誰かが実践するのではあるまいな?
- 374 :
- 誰か「ははは、俺が、俺が転がして、やってんだ。俺がだ。はは」
こんな感じ?
- 375 :
- >>372
>>180で要件をかいたつもりなの?
>>356を読んでから出直しておいで
- 376 :
- >>372
同じことどころか1から10まできちんと状況を書いてくれ
疑問点だらけだ
レポートを作るローカルで動かすツールがあって、
レポートを表示するローカルで動かすHTMLファイルがあるんだよね
それのツール郡を配布してるってこと?
配布して無いのなら特定の設定に拘ってもいいと思うし
配布するのならElectronとかで完全に1つにまとめたほうが良いんじゃないの?
- 377 :
- もしくはNodeでローカルサーバー立ち上げるとか
そのレポート表示.batとか作って
Nodeからブラウザも立ち上げてブラウザの起動が終了したらNodeも終了するとか
そっちのほうが美しくない?
- 378 :
- >>376-377
時間をかけて書いても、こちらの知らない条件でダメ出しされて終わりだよ
相手するなら、こちらは最小限のリソースでレスした方が建設的だよ
- 379 :
- 別に自分しか使わないツールなのにマルチブラウザで動かなきゃ不安なんでしょ
理屈じゃなくて気分で主張してるから質が悪い
- 380 :
- >>377
ブラウザという最初からOSにインストールされてるツールで見れるHTMLを生成する
VS
アプリをインストールしなきゃ見れないHTMLを生成して
アプリまでインストールしなきゃいけない
という話をしてるということでOKか?
- 381 :
- >>379
> 別に自分しか使わないツールなのに
勝手に書いてない条件を追加するな
- 382 :
- >>378
話の趣旨がわかってないからね。
HTMLから任意のテキスト形式を読み込む方法を聞いてるのに
そのHTMLはどうやって生成するのか?とか
生成するツールは自分だけで使うのか?とか
どれもこれも、
HTMLから任意のテキスト形式を読み込む方法と関係ない
- 383 :
- >>380
君頭大丈夫?
Webサーバの話は別だと思うんだけど?
- 384 :
- >>383
今聞いてるのは「ローカルのHTMLから任意のテキスト形式を読み込む方法」です。
質問を正確に理解しましょう。
- 385 :
- >>384
>>377の一行目を100回読んだら?
- 386 :
- >>385
>>180を読んだら?
> ウェブとは関係ないとあるレポートをhtml形式で
> 出力するツールを作ってるんですけど、
ウェブとは関係ないとあるレポートをhtml形式で
出力するツールというのは"条件"です。
レポートをHTML形式で出力するんですよ。
これは譲れない条件です。といえば理解しますか?
- 387 :
- >>386
>>375
- 388 :
- >>380
そのレポートってなんなの?
レポートを誰かに配布するの?
レポート作成のツールも配布して動かしてもらってるわけではないの?
レポートDLしてHTMLをローカルで開いてもらえるんなら
Nodeをインストールしてもらうことは難しいとしても
Electronとかのexeを開いてもらうことはできるんじゃないの?
もしレポートファイルだけを配布して、表示HTMLのあるフォルダに入れてください
という感じにしてるとしたら
それレポートファイルの配布画面で表示したらいいだけじゃないの?
そういう不審点が沢山ある状態で回答なんてできないでしょ
何がしたいのかさっぱり理解できないのだから
でもそういうのを抜きに一般的に技術だけ教えてくれって話なら
これまでのレスでいろいろ案が挙がってるでしょ
- 389 :
- >>388
> そのレポートってなんなの?
それを聞く意味を教えて下さい。
> レポートを誰かに配布するの?
レポートの使い方は自由です。可能性があることは何でもありえます。
> レポート作成のツールも配布して動かしてもらってるわけではないの?
HTMLを生成すれば、HTMLだけを渡せば見れるってのはわかりますよね?
生成する人のためにツールは配布してますが、
見る人にわたすのはHTMLだけです。
> レポートDLしてHTMLをローカルで開いてもらえるんなら
> Nodeをインストールしてもらうことは難しいとしても
> Electronとかのexeを開いてもらうことはできるんじゃないの?
渡すのはHTMLだけです。面倒くさいからもう、絶対に譲れない絶対条件とします。
見る人が持ってるのはブラウザだけです。アプリのインストールは禁止です。これも絶対条件とします。
> 何がしたいのかさっぱり理解できないのだから
HTMLから任意のテキスト形式を読み込みたいだけです。
上で書いたのは、全部、HTMLから任意のテキスト形式で読み込みたいのとは関係ない話です。
- 390 :
- >>388
> これまでのレスでいろいろ案が挙がってるでしょ
それらは、全て「それぐらいわかってくれよ」で却下されてるからね
- 391 :
- 説明追加
> 見る人が持ってるのはブラウザだけです。
見る人が持ってるのはOSにプリインストールされているブラウザだけです。
OSはWindows、macOS、Linuxのいずれかのサポートが終了していないものとします。
これらのいずれかであるので、全てで見れる方法です。
繰り返しますが、アプリのインストールは禁止です。
ソースコード渡してアプリをビルドしてもらうとか言うのも禁止です。
見るのは、OSにプリインストールされているブラウザです。絶対条件です。IE11もサポート中です。
- 392 :
- >>390
HTMLで任意のテキスト形式を形式を読み込みたいってだけなのに
関係ない質問するからね。
そのうち、レポートの提出期限はいつなんだとか聞いてくるに違いないw
- 393 :
- >>391
ごめん、もう一つ教えて
HTML形式のレポートを渡すんだよね
それで何のHTMLファイルから何のテキストファイルを読むの?
インデックスHTMLファイルから、各レポートHTMLファイルを読み込みたい的な話とばかり思ってたんだけど
- 394 :
- × これらのいずれかであるので、全てで見れる方法です。
○ これらのいずれかで、どのOSで見るのかはユーザーに
委ねられるので全てで見れる方法です。
- 395 :
- >>389
htmlにJSON埋め込むプログラムを別途書いて実行すればよい、FA
- 396 :
- >>393
> それで何のHTMLファイルから何のテキストファイルを読むの?
何のHTMLファイルとは? レポートのHTMLファイル。JavaScriptが含まれたHTMLファイル
何のテキストファイルって、そりゃ任意のテキスト形式だって言ってるだろ
JavaScriptファイル以外の、任意のテキスト形式。どんな形式でもあり得る。
> インデックスHTMLファイルから、各レポートHTMLファイルを読み込みたい的な話とばかり思ってたんだけど
最初(>>180)から、任意のテキスト形式って言ってる。
任意なんだから何でもあり得る。
- 397 :
- Ruby, Node.js, Electron などで、ローカルPC に、サーバーを建てれば良いだけ。
サーバー経由なら、クロスドメインも出来る
それに言語の実装も入っているから、ローカルファイルにもアクセスできる
一方、実行環境にブラウザを使うと、限定される
極端な話、Ruby, Nokogiri, Selenium WebDriver で、
テンプレートエンジンのERB を使って、文字列からHTML を作ることもできる
jQuery も使えるし
- 398 :
- >>395
> htmlにJSON埋め込むプログラムを別途書いて実行すればよい、FA
それは>>180で俺が最初に書いてる
> 読み込めないなら読み込めないで、jsファイル(json)で
> 出力すればできるのわかってるんだけど、出力する側は
> jsonじゃないほうが楽なので
その俺が言ったFAよりも、後が有るかないか。
俺が言った方法でFAってことでいいのか?
- 399 :
- >>397
> Ruby, Node.js, Electron などで、ローカルPC に、サーバーを建てれば良いだけ。
譲れない絶対条件を満たせないのでアウト
- 400 :
- >>398
お前はなにをいってるんだ?
htmlに埋め込むのだから、外部ファイルなぞ使わん
jsから扱えるフォーマットなら何でもよかろう
- 401 :
- >>396
任意のテキスト形式って?
レポートに関するサブデータ的なものも配布していて、
決められた階層下に入っている中から任意のものを選びたいってこと?
そうじゃなくてもし完全にユーザーにとって任意なら当然毎回選択してもらうことになるよね?
- 402 :
- ちなみに、絶対条件を言うと、なんでそんな条件があるんだ?
そんな条件なんか無視すりゃ良いとか言ってくるアホがいるけど
こちらが絶対条件と言ってる以上、無条件で従え。
- 403 :
- >>400
> htmlに埋め込むのだから、外部ファイルなぞ使わん
HTMLから任意のテキスト形式を読み込みたいだけです。
外部ファイルを使うことも”絶対条件"です。
いちいち絶対条件ってつけなきゃいかんのかよ
- 404 :
- >>397
にも書いたけど、
>一方、実行環境にブラウザを使うと、限定される
これに尽きる!
だから漏れらは、Ruby, Node.js などで、サーバーを建てる
もしブラウザが、ローカルPC 内に読み書きできたら、世界は破滅する!
- 405 :
- おもろいなお前ら(皮肉)
>>180を訂正するなら
ウェブとは関係ないとあるレポートをhtml形式で
出力するツール(絶対条件)を作ってるんですけど、
ローカル(絶対条件)の任意のテキストファイル(絶対条件)って読み込めるんでしたっけ?
読み込む側で使うツールはOS付属のブラウザのみです(絶対条件)
ブラウザ以外のアプリの仕様は禁止です。(絶対条件)
ネットワークで他のマシンに接続するのも禁止です。(絶対条件)
いちいち抜け道を探さないでください(絶対条件)
って書かなきゃいかんのかw
- 406 :
- 任意、かつファイル名は不定、かつ選択ダイアログを出したくない
どこかにあるだろう必要なファイルを賢く見つけてくる
そんなのネイティブアプリでも無理とは言わんがアホ
- 407 :
- >>403
話の通じない奴だな
任意のテキスト形式をhtmlに埋め込むプログラムを書けば同じことだろうが
配布形態として、html単体ではなぜいかんのだ?
- 408 :
- >>404
> もしブラウザが、ローカルPC 内に読み書きできたら、世界は破滅する!
書き込むなんて言ってない。JavaScriptファイルは読み込もできる。
- 409 :
- >>407
絶対条件って言ってるんだから素直に従えって。
> 配布形態として、html単体ではなぜいかんのだ?
エスケープが必要だから(これも前に書いた)
- 410 :
- >>409
エスケープの有無は無関係なんだが、お前にはhtmlに埋め込むプログラムを書けないという事だな
- 411 :
- HTMLに任意のテキスト内容を埋め込む場合。
JavaScriptコードとして埋め込むなら、
ダブルクォートなどをエスケープしなきゃいけないし、
<template>などを使う場合も、HTMLエスケープが必要
CDATAでもエスケープが必要
http://sonic64.com/2005-04-13.html
ってかなんど同じ話させるんだか。
- 412 :
- >>410
だから書けるけどエスケープ処理が面倒だって
なんどもなんどもなんども
- 413 :
- 鳥あたまか
- 414 :
- そのテキストファイルもHTMLファイルもツールで出力してるだろうに
なんのエスケープが問題になるんだろう
安全なエスケープのやり方がわからないということだろうか
- 415 :
- >>412
プログラムで書くならエスケープ処理は必要ない
本当にアホ
- 416 :
- >>412
なんで面倒なの
BASE64でもなんでも適当にすればいいじゃない
それだけのツールが作れて、数行程度の追加が面倒なはずないでしょ
君やればできる子なんだから
- 417 :
- >>414
ツールが出力するテキストはどんな文字列でも
出力される可能性がある。
> 安全なエスケープのやり方がわからないということだろうか
面倒だって何度も言ってる。
なんなら代わりに書いてくれるか?俺が指定する言語と絶対条件で
- 418 :
- >>416
> BASE64でもなんでも適当にすればいいじゃない
じゃあ俺が指定する言語と絶対条件を守りながら
お前が書いてくれるんだよな?
- 419 :
- エンコードするよりもテキストを別途読み込む方が面倒でないとか本当に理解に苦しむ
- 420 :
- >>419
> エンコードするよりもテキストを別途読み込む方が面倒でないとか本当に理解に苦しむ
俺が指定する言語と絶対条件でエスケープするよりも
JavaScriptで読み込んで、JavaScriptで解析するほうが
処理が簡単だからに決まってるだろ
- 421 :
- >>420
なら配布ページでエンコードしたら?
fetchしてbtoaすればいいだけなのだから
それをご丁寧にHTMLをserializeして埋めてもいいし、
面倒だったらHTMLに##placeholder##とか書いておいてそこに埋めてもいいし
そしてダウンロードさせればいいんじゃないの
- 422 :
- > なら配布ページでエンコードしたら?
何十個も生成されるファイルを?w
冗談wwww
また抜け道をいちいち探すから、絶対条件を
追加しなくちゃならんのか
ウェブとは関係ないとあるレポートをhtml形式で
出力するツール(絶対条件)を作ってるんですけど、
ローカル(絶対条件)の任意のテキストファイル(絶対条件)って読み込めるんでしたっけ?
読み込む側で使うツールはOS付属のブラウザのみです(絶対条件)
ブラウザ以外のアプリの仕様は禁止です。(絶対条件)
ネットワークで他のマシンに接続するのも禁止です。(絶対条件)
ツールはUSBメモリで配布します。(絶対条件)インターネットの仕様は禁止です(絶対条件)
こうしておけば、別の抜け道も一緒に防げるだろうw
- 423 :
- ツールとレポートはUSBメモリで直接配布します。(絶対条件)
インターネットの使用は禁止です(絶対条件)
- 424 :
- ちなみに >>422-423 は長いけど、全て意味がない問答だから
なぜなら、俺が本当に聞いてるのは、
「(JavaScriptが含まれた)ローカルのHTMLから任意のテキスト形式を読み込みたい」
ってことであって、そのHTMLを生成する方法とか、別の代替方法とか聞いていない
- 425 :
- いつまでたっても、質問に答えずに、
抜け道を探そうとするのだから、
絶対条件として、無条件に守れって言うしか無いわなw
- 426 :
- Chrome以外は概ね対処方法があるんだから
Chromeユーザー向けに--allow-file-access-from-files起動フラグ付きで起動するbatファイルでも配布したらいいと思う
- 427 :
- >>425
抜け道を探そうとするって
トンチじゃないんだから
条件の間の抜け道こそが答えでしょ
- 428 :
- >>426
絶対条件は守ってください。
ブラウザはデフォルト設定のみです。拡張入れるのはも禁止です。
オプションを付けて起動するのも禁止です(絶対条件)
- 429 :
- >>427
あのね。そういうそういう抜け道は全部知ってるの。
「(JavaScriptが含まれた)ローカルのHTMLから任意のテキスト形式を読み込みたい」
これだけに答えてくれればいい
- 430 :
- inputタグ使ってダイアログ開いて選択して貰えばいい
そのHTMLファイル開いてるってことはエクスプローラーも開いてるんだから
ドラッグ・アンド・ドロップも受け付けるようにすれば楽でしょ
- 431 :
- >>430
だからね
inputタグ使ってダイアログ開いて選択して貰う
VS
そんなことしなくても読み込める
の話なら後者を選ぶって言ってる。
面倒くさいけど貧弱な言語と外部コマンド、ライブラリなしという絶対条件を
守らざるを得ない状況に屈せず、エスケープ処理を自力で実装して、
ツールからJSONP形式で出力する方を選ぶって前に言ってる
- 432 :
- 人に聞いてる身分なのになんでこんな上からなの?人間として終わってる。
あと、こだわり強すぎ。多分発達障害なんだろうな
- 433 :
- > 人に聞いてる身分なのになんでこんな上からなの?
聞いてるなら下になれって発想がおかしい。
> あと、こだわり強すぎ。
俺に言うな。ツールの仕様上、そうならざるを得ないんだから
なんでそんな制約があるんだとか聞いてくるんだろ?
こうやって関係ない話にすり替えていくんだよな(呆)
だから絶対条件なんだから守れ。で押し切ると言うしか無い。
- 434 :
- あとこれも言っておかなきゃいかん。
俺は今まで一度だってエスケープ処理が難しいなんて言ってない。
面倒だとしか言ってない。
- 435 :
- >>431
それで、結局諦めは付いて面倒なことをやる気は出たの?
もうちょっと頑張って他の可能性も模索してみる?
- 436 :
- >>435
> それで、結局諦めは付いて面倒なことをやる気は出たの?
今すぐ必要なわけじゃないから、今やる気を出す必要はない。
それより先にやることがある。
どうせ
「(JavaScriptが含まれた)ローカルのHTMLから任意のテキスト形式を読み込みたい」
本当の質問の答えは不可能なんだろ?
やる気以前に、エスケープ処理を自力実装するしか無いじゃないか。
まあ頭の中で10行程度になるだろうなと推測は出来てるが
- 437 :
- >>436
本当の質問の答えは「不可能」だった
頑張るしか無いかぁ
応援してます
お達者でね
- 438 :
- >>437
また質問ができたら来るよ
また相手してなw
- 439 :
- >>438
もちろんいつでも待ってるよ
- 440 :
- 今度から、今回のようにツールの話とかつけないで
「ローカルのHTMLから任意のテキスト形式を読み込みたい」
ってかけば良いのかなぁ。
そしたらなんでそうするんだとか言ってくるんだろうなw
- 441 :
- ローカルのHTMLから任意のテキスト形式を読み込みたい
それ以外のテクニックは全て知ってるから返答無用
でいいか?
- 442 :
- ツールとレポートをUSBで配布するんなら
閲覧用のスタンドアロンブラウザも入れときゃいいのに
わけわからんなw
- 443 :
- >>441
それじゃ何も伝わらない
そもそも「任意」がユーザーにとっての任意だと思われて
ダイアログ開く方法を進められるだけだろう
結局「任意」ではなく「決まった配布ファイル」だったのだから
- 444 :
- 実行環境にブラウザを使うと限定されるって、何度も書いてるだろ!
ブラウザは絶対に、使用者の許可なしでは、PC 内にアクセスできない!
もし許可なしで、ローカルPC 内に読み書きできたら、世界は破滅する!
- 445 :
- >>442
絶対条件に逆らうなよ
セキュリティのためアプリのインストールは不可
指示を出せる立場にないから、インストールを許可してもらうこともできない
とかいう理由でいいだろ。
- 446 :
- >>443
「任意のテキスト形式」な
だれも「任意のファイル」なんて言ってない
本当に曲解ばっかりするよな
- 447 :
- >>444
でもお前が作ったわけのわからんツールは使わすんだろ
ちなみにそのツールとやらはあらゆるOSで動くんだそうだな
さっさと10行書けよ エアツールがw
- 448 :
- >>446
人に伝わるように書かないと、
普通その「任意」は場所のことだと思われるよ
- 449 :
- >>447
> でもお前が作ったわけのわからんツールは使わすんだろ
当たり前だろ。そのツールを使ってやるという
プロジェクトなんだから。
> ちなみにそのツールとやらはあらゆるOSで動くんだそうだな
動くぞ?あらゆるOSで動くというのもツールの条件の一つだから
(今まで書いてないけど、ツールの動作条件まで書く必要あるまい?)
> さっさと10行書けよ エアツールがw
10行なのはエスケープ処理だけの話だ。
それ以外の部分はすでに5000行近くある。
- 450 :
- >>448
> ローカルのHTMLから任意のテキスト形式を読み込みたい
お前なら、どう書き直す?
カッコでもつけるか?
文章読めないやつにはそうするしかないよなw
ローカルのHTMLから「任意のテキスト形式」を読み込みたい
- 451 :
- 散々色んな回答者のこと普通じゃないとか言っておきながら
USBで配布してオフラインで動作させるローカルファイルの読み込みアプリなんて異質の中の異質だろ
- 452 :
- >>451
> USBで配布してオフラインで動作させる
そこは、いちいち抜け道探すアホを防ぐためだ
本当にそういうわけじゃない
> ローカルファイルの読み込みアプリなんて異質の中の異質だろ
アプリなんて一言も言ってないぞ。
レポートだって言ってるだろ。
ただ開いて見るだけ。見る側はレポートを見るだけなんだから
inputでファイル選択とかあほらしすぎる
渡されたhtmlを手持ちのパソコンで何も考えずにダブルクリックして見れればいい。
- 453 :
- ゲームやアプリのマニュアルでも、HTMLがあるだけなんてのは
ざらにあるし、レポートが開くだけで見れるHTMLで簡潔してるなんて
全然異例でもなんでもないだろ?
- 454 :
- >>450
まず前提から書かないと
端折っちゃ駄目なところは端折っちゃ駄目
例を交えて具体的にする
ローカルのa/x.htmlからy.txtを読み込みたいとか
それでChromeが問題になることがわかってるんならそれを先にかく
それで一番大事なことだけど、chooseなんちゃらとか、
自分の思ってることと違うものを紹介されてもそれに反論してはいけない
いろんな意見を聞いて、ありがとう、こうしましたとだけ言えばいい
- 455 :
- >>454
> ローカルのa/x.htmlからy.txtを読み込みたいとか
書いただろ?
ローカルのHTMLから、(*.txt形式だけじゃなくて)任意のテキスト形式を読み込みたいって
なんや?任意ってつけたらだめだから、すべての形式をかけってか?
テキスト形式ならどんな形式でもいいのに?
> それでChromeが問題になることがわかってるんならそれを先にかく
それはいちいち抜け道探して、開発者版ブラウザを、その説明もなしに
差も普通に使えるように書くバカが居るからだ
本当は、普通に使える機能であればたとえ特定のブラウザしか使えなくても
候補にはなったんだよ。それを逆手に取って、開発者版ブラウザだけしか使えないものを
言ってくるやつがいるから、制限に加えただけ
- 456 :
- > 自分の思ってることと違うものを紹介されてもそれに反論してはいけない
> いろんな意見を聞いて、ありがとう、こうしましたとだけ言えばいい
ワロタw
次からは末尾に、アリガトウコウシマシタって
署名しておくよ(笑)
- 457 :
- ほんとなぁ。なんなんだろ。質問答えたから俺えらい
感謝しろ。ほれほれ。感謝しないなんてムカつくムキー
みたいなのってw
- 458 :
- あれか、その解答は使えないなと言われたら
自分自身を否定された気になるってやつ?
レビューでコードの問題を指摘したら
俺のことを馬鹿にしたって思うやつと同じ類の人
- 459 :
- >>455
回答者が一生懸命あなたのために
色んなケースを考えたんだよ?
問題に対してあの手この手で立ち向かおうとしてるだけ
あなたに対してあの手この手で立ち向かおうとしてるわけじゃないのよ
あなたの敵である問題をあなたにヒントを貰いながらやっつけようとしてるんだよ
それのなにが気に入らないの
サイコパスだよ。。。
- 460 :
- >>459
> 回答者が一生懸命あなたのために
> 色んなケースを考えたんだよ?
だからなに?
回答者に感謝することと
その回答は使えないということは
意味が違うだろう。
回答してくれてありがとう
だが、その回答は使えないってかけって話か?
- 461 :
- >>460
ここまでの話をまとめるに、
使えるものまで使えなくしてると思うけど
- 462 :
- 問題の解決されたやられそうになると止めてくるってことは
要するにこいつ自身が問題ってことだ
問題に苦しんでる質問者は居なかったんだ
良かった
- 463 :
- >>459
> あなたの敵である問題をあなたにヒントを貰いながらやっつけようとしてるんだよ
俺「あのドラゴンを倒したい」
村人A「ドラゴンでなければダメか?」
村人B「なんでドラゴンを倒すんだ?」
村人C「バナナで滑らせたら倒れるんじゃないか?」
村人D「エクスカリバーで一撃らしいぞ(エクスカリバーはチート勇者限定装備)」
俺「いいからドラゴンを倒す方法教えろや」
こんな感じな
- 464 :
- 毎回ダイアログが出るのがウザい的なこと言ってるけど
USBで配布するならそんなに頻繁に更新は無いんだから
1回だけフォルダを選択してもらってDBに保存しとけば実用上ウザくないのでは
- 465 :
- >>463
君のステータスも分からなければ
実際倒すシチュエーションも分からない
そのドラゴンとやらもあなたの数行から想像しないといけない
その例だと俺くんが横暴すぎるよ
- 466 :
- 俺「娘を殺したあのドラゴンを倒したい」
村人A「本当にあのドラゴンなのか?」
村人B「なんで娘は殺されたんだ?」
村人C「殺された娘が悪いんじゃないか?」
村人D「娘が銃を持っていれば反撃できた」
俺「いいからドラゴンを倒す方法教えろや」
本題の前に、補足をつけると、
そっちばかり根掘り葉掘り聞いてくるw
- 467 :
- >>464
やっぱり絶対条件だから逆らうなって言うしか無いなほんとにw
>>465
俺「ドラゴンを倒したい」
村人A「君のステータスも分からない」
村人B「実際倒すシチュエーションも分からない」
村人C「そのドラゴンとやらも想像しないといけない」
村人D「その例だと俺くんが横暴すぎるよ」
ほらな、質問に一切答えないw
- 468 :
- >>466
「ドラゴンを倒したくて、神聖魔法ならいけそうだと思ったんだけど、
メンバーの一人のChromeちゃんがダークエルフで相性悪くて
地道に面倒くさい攻略アイテム集めって手より良い方法ないかな」
これくらいは言わないと伝わらない
- 469 :
- 口答えなく簡潔な解答がお好みならSiriにでも聞いとけ
- 470 :
- 俺「ドラゴンを倒したくて、神聖魔法ならいけそうだと思ったんだけど、
メンバーの一人のChromeちゃんがダークエルフで相性悪くて
地道に面倒くさい攻略アイテム集めって手より良い方法ないかな」
村人A「なんでドラゴンを倒したいんだ?」
村人B「なんで神聖魔法なら行けそうだと思ったんだ?」
村人C「ダークエルフなんか仲間にするからだろ」
村人D「エクスカリバーで一撃らしいぞ」
こんな感じなw 全く役に立たない。
- 471 :
- じゃあ聞くな
ここに居座るな
きめーから去れ
- 472 :
- >>471
断る(秒で返事w)
- 473 :
- >>472
役に立たない人間に聞いてどうすんの?
お前とこのスレは相性が悪いよ
いいから帰ってくれ
- 474 :
- > 役に立たない人間に聞いてどうすんの?
役に立たない人間は、答えないでほしいね。
話を広げるつもりがないのに、関係ない質問を聞くなと。
「知らない」「無いと思う」と答えるほうがまし
- 475 :
- >>474
だからそんな奴らに聞いてどうすんのって聞いてんじゃん
答えろ
- 476 :
- >>470
役にたったでしょ
ちゃんと君の中で結論が出たんだから
ここはJSを自ら学ぶ人のためのスレ
魔法の水晶に問いかけてお告げを貰うスレじゃない
形はどうであれ質問者と回答者がよく考えて話し合って
結論が出たのならこれ以上無いくらいの大成功だと思ってるよ
質問は解決したのだから
本心から喜ばしく思ってるよ
- 477 :
- >>452-453
>ゲームやアプリのマニュアルでも、HTMLがあるだけなんてのは、ざらにあるし
だから、それらはサーバーを含んでるだろ。
だから、ローカルPC 内にアクセスできる
ブラウザは、それらと違う。制限が厳しい!
クロスドメインさえ出来ない
ブラウザは絶対に、使用者の許可なしでは、PC 内にアクセスできない!
もし許可なしで、ローカルPC 内に読み書きできたら、世界は破滅する!
ブラウザで開いたHTML が、勝手にローカルPC 内にアクセスできたら、大変な事になる!
なぜ、ブラウザを実行環境に使うのだ?
使うなら、その制限事項を守らないといけない!
- 478 :
- 病で返事wしてくれよ
遅いよ
- 479 :
- こいつの問題は技術的問題以前にコミュニケーションに問題がある
絶対条件で出来ない云々いうまえに、「どういう環境でどうやって実行して」という部分を隠して抽象的な物言いばかりだったからこれほど長期化した
更には、「技術力の問題で出来ない」という問題もあるもんだから、第三者から見るとなぜできないのかさっぱりわからんわけだな
そんなわけで状況把握がこちらに出来ない以上はこれ以上の質疑応答は無意味
質問者の中で出来ないと判断したなら、質問者の中では「出来ない」が答えなのだ
今後、質問されても同じ結果になるのだから、未来永劫、結論は同じだ
- 480 :
- こいつは質問がしたいんじゃない
お題を設定して競いたいのなら
スクリプトバトルロワイヤルスレでやれ
- 481 :
- お題の設定すらできてないのが現状だし、そっちにも来てほしくないな
- 482 :
- >>479
> 絶対条件で出来ない云々いうまえに、「どういう環境でどうやって実行して」という部分を隠して抽象的な物言いばかりだったからこれほど長期化した
え?実行? 何も実行してないけど?
ローカルに置いたHTMLファイルから、JavaScriptファイル以外の
任意のテキスト形式を読み込む方法があるか聞いただけなんだけど?
環境は特に指定していなかったが、まさか開発版ブラウザでしか使えない機能をその説明もなしに
言ってくるとまで思わなかったから、次回からは、特定のブラウザでしか
動かない場合は、そのことまでちゃんと書いてくださいって書かないといかんなー
特に指定無しの場合は、何も書かないんじゃなくて、
「ちゃんと書いてください」って書かないといかんなー
- 483 :
- >>481
お題の設定は>>180にちゃんと書いてある。
なのに、ドラゴンを倒したい理由だとか、
お題と関係ない質問をしてくるわけだ。
- 484 :
- いくらお前ができてると言ったって
誰一人伝わってないんだからできてないんだよ
それだけはお前は必死な顔してあの世まで言い続けても変わらん
- 485 :
- >>484
だから次からは絶対条件には逆らうなって
書くって言ってんだろw
- 486 :
- こいつほんまアホやな
回答者は回答ロボットじゃない
その条件とやらに論理的な根拠を感じなければ
今回のように盛大に突っ込まれて赤っ恥かくことになるだけ
ここはお題に答えるスレではないし、
大前提として回答者は質問してもらってるわけではなく
質問者が回答してもらってるわけなのだから
回答者の方が立場が上
- 487 :
- 未熟な質問者が問題の本質を勘違いしてることって往々にしてあるからね
回答者は問題を解決するために質問者の考えや思いは無視することもある
昔は上級者用質問スレとかあったから次質問するときはそれ建ててそこでしたら良いと思うよ
- 488 :
- > 今回のように盛大に突っ込まれて赤っ恥かくことになるだけ
なにか赤っ恥書いたっけ?
説明しろ → 説明した → 関係ない話だからスルー → だから言ったろ
この流ればっかりじゃん
- 489 :
- >>486
> 質問者が回答してもらってるわけなのだから
> 回答者の方が立場が上
お前、マウントしたいだけじゃんw
コンビニで客のほうが立場が上みたいに思ってるだろw
- 490 :
- >>489
ここはお題を出すスレではないんだよ
本当に困ってる質問をするスレ
困ってるのを助けてもらうんだから当然回答者の方が上
お前の故郷の蛮村では違うのかもしれないけど、これ日本の常識ね
外に出る前に覚えておいたほうが良いよ
- 491 :
- 下手に出ないと誰も教えてくれないってい言うのは学んだほうがいいよ
常識知らず君
- 492 :
- 俺は腹減ってるんだよ、おい金よこせよ
そんなみっともない態度893の下っ端でもやらないわ
- 493 :
- だから本当の意味で頭悪い子なんだよ
知識はあるかもしれないけど世渡り下手
- 494 :
- こうなるのが分かってたから、>>356を読むようにいったのに…
- 495 :
- アスペルガーだと思うよ
IQが高くてもEQやSQが低いから何にも活かせず終わるタイプ
- 496 :
- >>494
そもそも彼は他人の助言を聞くつもりが一切ない
最初から答えを受け入れる気のない質問だからこんなに揉めることになった
- 497 :
- 自ら不必要に可能性を潰していくんだもんな
工夫と対処を裏道とか言い出したときは流石に笑っちゃった
そこから先はもう完全にお巫山戯だったな
- 498 :
- 必須条件を満たさない方法はすべて知ってるから
答えなくていい。って書かないとこうなるのかw
必須条件を満たさない解答をしてもいいけど
「それは知ってます」って返答しますが気を悪くないでください
って書こうかなとも思ったw
- 499 :
- >>496
必須条件を満たさない答えはそりゃ受け入れるわけ無いでしょw
- 500 :
- レスを分けて連投してくるのもアスペっぽい
- 501 :
- 人の価値観に合わせず自分で考えたことを信じるっていうのは長所にもなるけど
有りもしない幻を信じ続けたところでそれが現実になるわけではないし
思考が鋭いということは視野が狭いんだから周りの忠告を聞くのも大事っていうのに手遅れになる前に気づかないとね
外では素直でいい子なんだろうけど、こういうところで性格悪いこと何年も続けてると
気が付かない間に本当に正確悪い感が滲み出る人になっちゃうぞ
- 502 :
- とまあ、何故か上から目線(笑)
どうしても自分が上でないと許せないらしい
- 503 :
- 上下なんて犬でも分かるのにね
- 504 :
- × 犬でもわかる
○ 犬レベルの思考回路
- 505 :
- 犬「誰が上?俺が上だよね?俺を敬え、俺のほうがえらいんだ。ハァハァ」
- 506 :
- またこのガイジが居ついちゃってさらに過疎るパターンだな
- 507 :
- まあ良いんじゃないの
こういうアホな少年の面倒を診てあげるのも社会の役目だよ
可愛がってあげるから好きなだけ居着くと良い
- 508 :
- この質問者は愚かだから下
ここの人全員が質問者を下に見てる
それはいくら質問者が足掻いたって変わる事じゃない
なぜなら上か下かってのは人間社会の話で、君一人が勝手に主張して決められることではないから
- 509 :
- ほんと上とか下とか気にしすぎw
- 510 :
- 回答者は、試験版のブラウザとか、できる可能性を広げただけだろ。
質問者は、そのレスを見たら、自分で調べて、使うか使わないかを決めればよいだけ
回答者が受注した仕事じゃないのだから、
質問者が100% 気に入るまで、回答者が探し回る必要はない!
そもそも、そんなに丁寧に教える必要もない
キーワードだけ書いてあっても、質問者が調べればわかる。
調べてもわからなければ、また聞けばよい
回答者に、100% 自分が気に入るものを持ってこいというのは、自分勝手すぎる!
少なくとも質問者は、回答者以上に調べないといけない!
自分の問題なのだから
- 511 :
- 仕事で金払って依頼するにしてもあそこまで横暴なやり方はできない
なぜならきちんと作ってくれないと困るから
本当は何も困ってないからあんな態度取れるんでしょ
こういう悪質な愉快犯を荒らしと言うんだと思うね
- 512 :
- https://mevius.2ch.sc/test/read.cgi/tech/1491143438/82
この人、プログラム板に移動してない?
めんどくさくなりそうだから、放置してるけど
- 513 :
- 個人的には移動するという発想がよくわからない
スレが2つできたら、両方に行くでしょう?
- 514 :
- そのとおり
地元に居られなくなったら別の土地に逃げればいいだけ
- 515 :
- でも逃げずにこの板でJavaScriptの話し続けてるんだよな?
- 516 :
- 遠くに逃げる度胸もないんだろうね
- 517 :
- 逃げたら笑い、逃げなくても笑う
ダブルスタンダード(笑)
- 518 :
- 全員が同一人物に見える病気?
- 519 :
- A「俺は逃げたら笑う係」
B「俺は逃げなかったらわかう係」
A&B「どちらにしろ笑ってやるぞ」
↑
それを見て、笑う係が俺w
- 520 :
- 俺にはさっぱり理解ができないんだが
おそらく上手いことを言ったつもりなんだろうな
- 521 :
- 草生やさずにレスできなくなっとるやん
あまりいじめてやんなよ
- 522 :
- そもそもどのみち笑われる運命というか事がわかってないのかい?
- 523 :
- わかってないから、このスレから逃げだしたーとか言ってるんだろ
- 524 :
- ディズニーとフリーメイソンの関係がばれたか
https://youtu.be/rGjnGh7P5qw
- 525 :
- WeakSetが云々言ってたやつはES Discussの話題を
ここで試すような感じで持ってきたのか
https://esdiscuss.org/topic/actual-weakset-use-cases
- 526 :
- >>525
俺は仕様読まないから、仕様に詳しい知識自慢君が3行で答えろ
- 527 :
- ユースケースの話し合いをしてるのであって
仕様が読めなくても英文が読めなくても書いてあるコード見れば理解できるでしょ
それで理解できなければ説明を受けても理解できないし自分で使えないでしょ
- 528 :
- × 読めない 〇 読む気がない
- 529 :
- javascriptを勉強し始めて、atomを使っているのですが、なぜかシンタックスハイライトされません。
今までhtmlとCSSを勉強していた時はちゃんとされていたのですが、なにか新たにパッケージを入れないといけないのでしょうか?
javascript languageという標準の?パッケージは入っているようです。
言語の選択もjavascriptになっていて、ファイル名はjsファイルです。
プログラミングの動作は正常に行えます。
- 530 :
- よく見るとしょぼい感じで色分けがされていました
もっと使いやすい色分けができればいいのになあ。
getElementByIdとかスペルミスをしてもこれではわからないのじゃないかなあ。
- 531 :
- vscodeつかお
- 532 :
- >>526
なぜ君がこの記事に噛み付いているのか全くわからない
- 533 :
- 超初心者質問ですみません
progressバーのメーターを増やす動作を行いたいのですが、以下の分では動きません。
何が足りないのでしょうか?
<progress id="lifeBar" value="0" max="100" min="0" ></progress>
<script>
var lifeBar = document.getElementById('lifeBar');
function update(){
if(lifeBar.value <= lifeBar.max){
while(lifeBar.value <= lifeBar.max){
lifeBar.value++
}
}
}
update();
</script>
- 534 :
- こんな綺麗なコード書けるやつが超初心者なわけないだろうが
ローカル君いい加減にしなさい!!
- 535 :
- ネーミングセンス無さすぎw
- 536 :
- 都度都度setTimeout等でブラウザ側に制御戻してやらないと表示は更新されない
そのループはvalueはmaxで制限されてmaxより大きくはならないのだから終了しない
- 537 :
- >>536
なるほどsetTimeout等を使わないといけないのですね。
実はsetTimeoutを使ったコードも作っていたのですが、
それだとループさせようとした時に上手く動作しなくて、if文とwhile文を使って
新たに作り直そうとしたのが>>533のコードなんです。
- 538 :
- これがsetTimeoutを使ったコードです。やりたいことは、progressバーをメーターが0から100、100から0と増えたり減ったりする動きです。要はゴルフゲームの、パワーゲージですね。
このコードでは、一度だけprogressバーをメーターが往復します。これを繰り返したいのですが、上手くいきません。ご教授のほど、よろしくお願いします。
<progress id="lifeBar" value="0" max="100" min="0" ></progress>
<script>
var lifeBar = document.getElementById('lifeBar');
function update() {
setTimeout(update,10);
lifeBar.value++
if(lifeBar.value >= lifeBar.max){
function gaugeDown() {
setTimeout(gaugeDown, 10);
lifeBar.value--
}
gaugeDown();
}
}
update();
</script>
- 539 :
- いやどう見てもローカルくんじゃ無いだろ
大人げないことはやめなされやめなされ
- 540 :
- 写経してみたけどfirefoxでもchromeでも動いたよ。
最後が若干怪しかったけど
もしかして古いIEで動かしてる?
それとvar使うのやめ他方がいいと思う
- 541 :
- せやで?ローカル君はもっと高度な問題しか
質問しないんやで
- 542 :
- >>540
ブラウザは最新のChromeを使ってます。
一往復はするんですよ、0から100、100から0と。
それを無限に繰り返したいんです。
varの代わり、えーっと、letだったかな?分かりました、気をつけます。
- 543 :
- >>540
progressが表示される時点で、
古いIEなわけがないだろう?
その程度のレスをするとローカル君もぷんぷんだゾ?
- 544 :
- 最新API君にはぜひこれをasync/awaitを使って実現してほしい
ライブラリも使わずにね
- 545 :
- >>544
そうそうこう言うのが典型的なローカル君ですよ
- 546 :
- >>529-531
VSCode にして、Bracket Pair Colorizer, indent-rainbow とか、
10個ぐらい拡張機能を入れれば?
Dracula Official とか、好みのテーマも
- 547 :
- トラップカード発動!
ブラケットペアーカラライザー!インデント・レインボウ!!
- 548 :
- setTimeout の定番の書き方は、再帰的に書くのでは?
setTimeout 内で、setTimeout を呼び出す
- 549 :
- できたよん
ご参考までに
<progress id="lifeBar" value="0" max="100" min="0"></progress>
<script>
let lifeBar = document.getElementById("lifeBar");
let increase = 1;
(function update(){
if(increase){
lifeBar.value++;
if(lifeBar.value >= lifeBar.max)increase=0;
}else{
lifeBar.value--;
if(lifeBar.value <= 0)increase=1;
}
setTimeout(update,10);
})();
</script>
- 550 :
- <progress id="lifeBar" value="0" max="100" min="0"></progress>
<script>
(
const lifeBar = document.getElementById("lifeBar");
let step = 1;
setInterval(function() {
lifeBar.value += step;
if (lifeBar.value <= lifeBar.min || lifeBar.max <= lifeBar.value) {
step *= -1;
}
}, 10);
)();
</script>
- 551 :
- >>549
すげーーーー!!!
そりゃ俺には出来ないわけだ!
ありがとうございます!
因みに、functionの前と終わりを囲ってる括弧(function(){})って、Javascriptでは普通に使うものなんですか?
初めて見たんで、最初間違えてるのかと思いました(笑)
- 552 :
- >>551
(function(){})();
ってするとその場で関数を唱えることができるよ
無名関数で使うことが多いけど今回使ったのはsetTimeoutで使う用の名前ありバージョン
結構使うので覚えといたほうがいい
- 553 :
- わかりました!覚えておきます。
有難うございました!!
- 554 :
- >>550
普通に分かりやすいコードで好感
- 555 :
- const lifeBar = document.getElementById("lifeBar");
は蛇足
- 556 :
- >>551
>> functionの前と終わりを囲ってる括弧(function(){})
>>549-554
だけ見える魔法のコード
- 557 :
- >>542
requestAnimationFrameを使って繰り返し関数を呼んでもらうといい
<progress id="lifeBar" value="0" max="100" min="0"></progress>
<script>
(function update(p){
p = p/10%200|0 //速さ調節
lifeBar.value=p<100?p:200-p;
requestAnimationFrame(update);
})();
</script>
- 558 :
- 我々が本当に必要としているのはrequestPostAnimationFrameの方
実装されたらちゃんと使い分けていかないと
- 559 :
- (function f( ){ })( );
IIEF・即時実行。
関数を宣言すると同時に、実行する
- 560 :
- ちなlifeBar.minは許可されてないからundefined
- 561 :
- 定義されていないからundefinedでしょ
APIにおいて「許可する」なんて用語はないから
- 562 :
- https://developer.mozilla.org/ja/docs/Web/HTML/Element/progress
メモ: 最小値は常に 0 であり、min 属性は progress 要素で許可されていません。-moz-orient CSS プロパティを使用して、プログレスバーを水平方向に表示する (既定値) か垂直方向に表示するかを指定できます。
ちゃんと読めよマヌケww
- 563 :
- いや、どうせMDNで変な文書でも読んで鵜呑みにしてるアホなんだろうなと思ったからみたよ
そしたら案の定書いてあったから呆れつつ教えてあげたのに馬鹿だねぇ
- 564 :
- はいはい 言い訳乙
- 565 :
- 用語がなければ許可という単語を使っちゃいかんとか言うやつの気がしれん
- 566 :
- いえ、私の許可がないと、許可を使ったらいけません
- 567 :
- >>565
MDNの様に大量の文章があってその中で使われている言葉を一々ひねくれた揚げ足を取るつもりはないし
前後のコンテキストからその「許可されてない」という用語は深い言葉でもキーワードでもないということが分かる
でも>>560は違うだろう
たった1行の文章で、「ifeBar.minがundefinedになる」その理由は「許可されてない」からだと言ってる
MDNの文脈とは重みが全く違う
わざわざ助言として発言されている1行のレスの1/3を占める再重要な部分に変な部分があったらツッコミが入るのは当たり前
しかもMDNはDOMの属性の有効性の話をしているのに>>560はそれがJSのインターフェイスとしてどう振る舞うかの話になっている
使われ方が全く違う
MDNに限らないけど大量の文章があってその中の言葉を持ってくるときは慎重にならないといけない
- 568 :
- うーん
どっちも間違ってない気がするけど・・・
- 569 :
- >>568
もしDOMの仕様に、属性はこれだけあって、これらだけがAPIに現れるとか書かれてるのならまだ分かるけど
実際はDOMの属性とJSからアクセスできるインターフェイスは別で
名前が変わっているものもあるし、文字列以外の型で帰ってくるものもある
つまりそもそも属性がアクセサに一対一対応してる訳でもなく、そのまま自然と転写されているわけでもなく
それぞれが個別に独立して一々わざわざ別個に定義させられているのであって、
許可されている属性だけが見えているとかいう感じに考えるのは不自然で
提供されているアクセサのうち幾つかはそのままの名前で属性値へのアクセス相当になっているというのが実際のところだから
minというアクセサが無いのは属性が定義されていないからなどと言う事はできても
許可が云々という言い回しをそういう直接的にするのはおかしいでしょう、という違和感でのツッコミ
で、結局何が言いたいかというと、
おそらく自分なりの言葉で書いたら間違いになるかもしれないと思ってMDNから引っ張ってきたんだろうけど
特に名詞でもなく状態を表す言葉というのは、その言葉が書かれた場所でのみ正しいニュアンスを発揮するのであって
そういうのをただ持って来るよりは自分なりに解釈して自分の言葉で書こうよということ
そうじゃないと、突っ込まれたときもここに書いてあったとしか言えず、自分はこう言う意味で書いたと言うことすらできないでしょ
- 570 :
- progressbarで許可されてないからundefinedなんでしょ
- 571 :
- なるほど。
長文すぎるけどよくわかったよ
- 572 :
- >>570
直接的には要素オブジェクト、そのプロトタイプであるHTMLProgressElement.prototype及び
そのプロトタイプチェーン上で定義されていないからundefinedという値が最終的に帰ってくるというJSの機構が働いているのであって
ならどうして定義されていないのかと言うとDOM仕様のインターフェイスに定義されていないからで
定義されていないのはmin属性の仕様が存在しないからで実は隠し属性があるけどなんか許可されてなさげとか特殊なことになってるというわけでもないし
だれもどこでも何にへも許可や不許可は表していないのでそういう言い方をするのはおかしい
MDNでの「許可されていない」とはmax属性があったらmin属性もありそうと思うかもしれないけれど、
《仕様や実装を決めてる(認めている)立場の仮想的な超存在》を想定して、《解説を書いてあげてる俺達》から、
《仕様を調べに来た良くわかっていない使わせてもらう立場のお前ら》に対して言わせてもらうと
「許められていない」というちょっとひねった言い回しで「定義されていない」というのを言ってるだけで、
それはMDNがよく翻訳されていることもあるし、そういったMDN節をわかった上では理解できるかもしれないし
長文の中で別に注目するべきキーワードでもなく流してもいいようなものだから大丈夫なわけであって
単発でそういう言い回しをするのはやはり良くはない
- 573 :
- はぁ? お前ら何俺が雑に書いた書いたコードでグダグダやってんだ?
<progress id="lifeBar" value="0" max="100" min="0"></progress>
って書いてあったから、min属性があるかと思ったけど、
min属性はなかったってだけだろ?
そいで、JavaScriptのプロパティはHTMLの属性と一対一で対応してることが多いから、
単に、min属性がなかったから、JavaScriptでもminプロパティがないってだけだろ
- 574 :
- 煽ってくる奴におえちゃだめじゃん!!
- 575 :
- そも原文はmin attribute is not allowed for the progress elementだから
単純に「プログレス要素にmin属性使っちゃダメよ」と言ってるだけで
日本語の許可のニュアンスがそぐわないだけでしょ
- 576 :
- つまりMDNの日本語訳が糞だったってことだ!
- 577 :
- 初心者に説明するときは難しいことを細かくいっても仕方ないからぽあっといいんだよ
本当に本人に興味があれば自分で調べるでしょ
- 578 :
- 全部がオブジェクト
プリミティブ値は値渡し
クラスは存在しない
JavaScriptには嘘が多い
- 579 :
- さすがに全部がオブジェクトと主張するような人は
いないと思いたいが……
- 580 :
- >>560の言はこんな感じ
const o = {};
console.log(o.a); // undefined
o.a が undefined を返すのは o が a を許可していないからだ(ドヤ
- 581 :
- もういいから
- 582 :
- 78 Name_Not_Found 2019/05/04(土) 14:26:07.86 ID:0QCBVNNe
どこで聞いたらいいかわからなくて・・優しいお兄さん教えて下さい。
サーチコンソールから突然、
「許可されていない属性または属性値が HMTL タグにあります」と、
エラーが来たんだけで私はどうすればいいでしょうか?
超初心者でほんとスミマセン。
ワードプレス/コクーン使用です
- 583 :
- 一般論から言うと警告と言うのは無視すべき
出たらどうすべきか分かる価値のある警告以外は無効にしておこう
それで心配なら自動校正してくれるツールを使おう
- 584 :
- 変数の値の文字列への変換は、
変数 + ”” が一番早いとの計測結果を見つけましたが、
ブラウザの互換性とか大丈夫な書き方でしょうか?
- 585 :
- >>584
ToString(ToPrimitive(arg))
- 586 :
- チート転生のなろう系ファンタジーが人気なのと同じ
自分が話題の中心になっている用に見せかけて悦に入る自演君はもう飽き飽き
- 587 :
- よく理解してない輩がいい加減なことをほざく事にいらつく気持ちは分からんでもない
- 588 :
- if(result.match(/[0-9]/)){
flag=true;
}
数字が含まれていたらフラグを、というのを
数字と大文字が含まれていたら、という条件に変更したいのですが、
if分を増やさずに条件を増やすにはどう書けばいいのでしょうか?
- 589 :
- /[0-9A-Z]/
- 590 :
- >>588
RegExp#test
- 591 :
- 正規表現
https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Regular_Expressions
数字は、\d。[0-9] と同じだから、
[0-9A-Z] は、[\dA-Z] と書ける
var re = /[\dA-Z]/;
var str = "a6Z";
var ary = re.exec( str ); // [ '6', index: 1, input: 'a6Z' ]
var res = re.test( str ); // true
- 592 :
- 質問です
for(let a of arr) {...}
というところを通る時、arrが配列なのですが、...の中を1度も実行しない(1度もループしない)で素通りさせたい時があります
ただしarrの中身はここよりだいぶ前で決定するので
if(arr)for(let a of arr) {...}
という方法は駄目だとします
こういう場合にarrに何かを入れておくことで、このforの中を一度も通らないようにすることはできないでしょうか?
試しに[]やnullにしてみたけど駄目のようで、ループの中を通ってしまいました。
- 593 :
- >>592
Symbol.iterator を書き換えればよい
しかし、トリッキーな動きをさせるよりも正攻法でfor-ofを通らない仕組みにした方がいいと思うが
- 594 :
- >>592
一目で通らないこと分かるでしょ
どうして通ると思うのかが不思議
- 595 :
- 空配列だと、何も表示されない。
つまり、{ } 内は実行されない
arr = [ ]
for( let a of arr ) { console.log( "あ", a ); }
- 596 :
- 素通りさせたい時がどういう時なのか当然分かっているのだからその判定をif文ですればいい
- 597 :
- >>594,595
ルールを守った上で回答してください
- 598 :
- if (typeof eval(evt.target.id) == 'function') {
eval(evt.target.id+'(evt)');
}
これevalツカワナイもっといい書き方できませんか?
- 599 :
- evt.target.id(evt);
ではいかんの?
- 600 :
- 少し違う話だけどさ
if (typeof eval(evt.target.id) == 'function') {
こんな感じでさ、「もし関数なら、関数呼び出しをする」
なんてコードは普通いらないんだよ。いきなり「関数呼び出しをする」だけでOK
え?関数でなかったらエラーになる? → そこに関数以外が来ることなんて有るのか?
バグで関数以外を渡してしまった時 → じゃあそのバグの方を直せ
こういう「もし関数なら」なんてコードが必要なのは、
関数 or 数値 みたいに複数の型が入る可能性があって型によって処理を分けるときだけ
念のために関数かどうかチェックしてます(えらいやろ、どや)みたいなコードは、
関数以外が入ってしまうバグがあったらバグを無視します。という間違ったコードになっている。
- 601 :
- そう?
引数が文字列か数字かオブジェクトか関数
みたいな関数造ったときとか、わりと必要なんじゃね?
判別
- 602 :
- お前らGoogle.ioの発表見たか?
ついにAIがWebサイト経由でフォームとか使って予約とかしてくるようになるそうだな
つまりフルCanvasとかメチャクチャなサイトは駄目ということだ
勿論10年後までにはそういうのもなくなるとは思うけどな
- 603 :
- >>601
神々によって天罰を与えられる原因になった建築物使ったら?
オプショナル関数呼び出しが仕様策定中
- 604 :
- >>600
これはさすがに三流思考
- 605 :
- >>603
それでもやっぱり判別は必要なんじゃね?
例えばreplaceって第一引数が文字列か正規表現
第二引数が文字列か関数になるでしょ?
そういうの
- 606 :
- >>599
この呼び出し方だとTypeError: evt.target.id is not a functionとなるようです
>>600
clickイベントなのですがリスナーは1つしか使わないで
event.target.idで処理をするか判別してるため
関係ないidも渡される可能性があります
if (event.target.id == "foo") {
foo(evt);
} else if (event.target.id == "bar") {
bar(evt);
}
(switch含めて)こうすれば問題はないし
処理をわけずベタ書きすれば問題はないのですが読みにくく長くなりすぎるので…
- 607 :
- >>603
オプショナル関数呼び出しってどんなの?
- 608 :
- >>606
グローバル関数なら、グローバルオブジェクトのプロパティとして参照可能
だが、HTMLにjsコードを埋め込むようなものなので、id属性値に関数名を埋め込まない方が良い
foo,barに何をさせるつもりか知らんが、一元管理するなら、処理の実行条件があるはずで、それを元に処理分けを行う
WeakMapで要素ノードに関数を結びつけれるほうほうもあるが、個別処理を一元管理するのは相反するものを強引に繋げているようなもので、他に良い実装があると思う
- 609 :
- >>606
あーごめん
event.targetのidに関数が文字列として入ってるのか
勘違いした
…すげーなその作り
- 610 :
- いや関数であるとは限らんぞ
何れにせよevalしなきゃならんのはどうかと思うが
- 611 :
- >>601
> 引数が文字列か数字かオブジェクトか関数
> みたいな関数造ったときとか、わりと必要なんじゃね?
俺が書いたことを、お前が真似して言うな
>>604
何も言い返せないなら書き込む意味ないですよw
- 612 :
- また来たかローカル君
普段は回答者側なんだろうな
- 613 :
- >>606
> clickイベントなのですがリスナーは1つしか使わないで
> event.target.idで処理をするか判別してるため
それが間違いだからそれを直せば?
jQueryならこれでいいだろ?
$('#foo, #bar, #baz').click(function() {
・・・
});
処理を分けたいなら3つかけばいい。
$('#foo').click(function() {
・・・
});
- 614 :
- >>612
嫌なら見るな
- 615 :
- IDごとに専用のリスナー関数を作る・・・正解
IDが違うけど、なぜかリスナー関数をまとめて
せっかくまとめたのに、IDごとの専用の関数に分岐させる・・・無駄なことをしている
- 616 :
- 少なくとも識別子を処理に組み込むのはマズイと思う
- 617 :
- >>589-590
お返事遅れて申し訳ないです。
ありがとう、こういう書き方をするのですね。
ランダムパスワードのチェックをしようとしていました。
勉強になりました。
- 618 :
- このガイジはすべてのプログラムを一人で書くんだと思ってるんだろうな
- 619 :
- 他人が読んでもわかるようなコードをかこう
なんでこう書いたんですか?今までそうやってきたから
などというのはやめよう
- 620 :
- >>605
有効性の判定とその他の判定を一緒くたに話すのはどうかと思うよ
- 621 :
- そういうのは、Ruby on Rails など、フレームワークが使うメタプログラミングだけ
動的に関数名が増える場合に、define_method で、動的に関数定義する。
この場合は、事前に関数名が書けないから
Lodash とか、誰かのライブラリに、
動的に関数定義する、デザインパターンは無いのか?
- 622 :
- レスありがとうございます
jQueryは使ってないのですが
window.addEventListener("click", function(evt){
if (evt.target.id == "foo")...
if (evt.target.id == "bar")...
},false);
ではなく
document.querySelector('#foo').addEventListener('click', ...
document.querySelector('#bar').addEventListener('click', ...
のようにしろということでしょうか?
そうするとwindow.onloadで読み込ませないと動かないようですが
window.addEventLister('load', function(){
document.querySelector('#foo').addEventListener('click', ...
document.querySelector('#bar').addEventListener('click', ...
}, false);
こんな感じにすればよいのでしょうか?
- 623 :
- >>616も言ってるが固有情報のidはやめたほうがいい
classNameのようなnodesならいいんじゃね?
じゃないとnodesに片っ端から適用するセンス0のマヌケコードになる
windowに1つだけイベントつけて発火した都度に発生源から調べると
ifを通す分cpuには負担だが微々たるもんだし
メモリには優しい設計だしリークも起きにくい
- 624 :
- Event Listener は、漏れなら、1つにまとめないで、わかりやすい所で、複数個に分ける。
まあ、要素が親子関係なら、1つにまとめるかも
1つにまとめると、分岐処理が出来るから、コードが複雑になる
- 625 :
- 初心者は、役割ごとに関数を分けない。
やってる処理で関数を分けようとする
- 626 :
- >>622
jQueryを使え。onloadなんか使わずとも
$(document).on('click', '#foo', function() { ... })
$(document).on('click', '#bar', function() { ... })
ってかけばいい
- 627 :
- scriptタグはbody閉じタグ直前に書く
もしくはdefer属性を使う
セオリーを守れば今時jQueryとかいらんし
- 628 :
- jQueryが解決するのは
> コードが複雑になる
これ
- 629 :
- >scriptタグはbody閉じタグ直前に書く
lint脳だとheaderに書きたがるからな
- 630 :
- scriptタグをbody閉じタグ直前に書いても
動的に要素が追加される場合には対応できないんだよな
- 631 :
- jQuery使え云々はおいといて別にload時に追加すればよくね?
なんとなく生理的に嫌なコードなのはわかるよ
jQueryほどじゃないけど
- 632 :
- >>622
イベント名をloadではなく
DOMContentLoadedにするのがいいんじゃないかな
loadだと時間かかっちゃうっしょ
- 633 :
- そういや昔無限に円周率を表示するページが有ったけど、
DOMContentLoadedっていつ発動するの?
- 634 :
- >>633
https://www.google.com/search?q=domcontentloaded
- 635 :
- >>634
あー、やっぱり永久に発動しないんだ。
ってことはさ、普通のサイトでも僅かな時間とはいえ、
画面は表示されてるけど、ページが全部読み込み終わってないって
タイミングが有るわけだから、やっぱりheadに入れるのがいいんじゃないの?
- 636 :
- >>635
意味が分からんな
</body>手前に置いた方が遅いとでも思ってるのか?
- 637 :
- 発生するでしょ
ずっと同期的に書き加えてたらブラウザがハングアップしかねないし表示が更新されないかもしれないから
連続表示というのは間隔を開けるのが当たり前でその隙間で発生するでしょ
それにもし仮にJS実行が途切れないとしたらイベントループが回らないんだからハンドラが実行されるはずがないでしょう
- 638 :
- >>636
永遠に円周率を表示するサイトっていうのは、
</body>が永遠に来ないってことだよ。
もっとも該当のサイトはただのテキストページだったけどね
でもHTMLでずーっと</body>が登場しないページは作れるし、
巨大なページで格安SIMで速度制限されてるときとかさ、
ページの上の部分は表示されてるけど、終わりはまだ来てないってことあるでしょ?
- 639 :
- >>635
コンテンツ表示からjs実行までのタイムラグを減らすなら、該当JTMLの直後に<script>を書くだろうに、なぜ<head>がいいという結論になるんだ?
- 640 :
- >>637
> 発生するでしょ
DOMContentLoaded = DOMを全部読み込み終わってから発動する
= DOMを全部読み込み終わってないんだから発動しないよ
DOMContentLoaded が発生するまで
ブラウザはレンダリングしないわけじゃないんだから
ブラウザはハングアップしたりしない。
- 641 :
- >>638
HTML出力途中なら、DOMContentLoadedも発火しないと思うが、試してみたのか?
- 642 :
- >>639
そりゃ「該当HTML」が複数あった場合、
それぞれに<script>を置くのか?って話だよ
例えば、同じclassの要素が複数あったら
全部の要素の後に<script>を書く?多重読込してしまうなw
- 643 :
- >>641
> HTML出力途中なら、DOMContentLoadedも発火しないと思うが、試してみたのか?
だからそう言ってるじゃんw
- 644 :
- >>642
何で何度も実行させる発想になるんだよ
読み込みたい要素を全て出力した後に一回書けばいいだろ
それぞれの要素出力直後に実行させたいなら、MutationObserverを使え
- 645 :
- >>643
</body>手前でもほぼ同じだろ
</body>の後にタグを書いてるのか?
- 646 :
- >>644
自分で書いたことを忘れてない?
> コンテンツ表示からjs実行までのタイムラグを減らすなら、
そうコンテンツ表示からjs実行までのタイムラグを(極限まで)減らしたい。
> 読み込みたい要素を全て出力した後に一回書けばいいだろ
読み込みたい要素を全て出力するまでタイムラグがある
- 647 :
- >>645
だから、</body>の手前で<script>を書けって言ってるのは俺じゃないって。
- 648 :
- >>646
DOMContentLoadedよりは早いだろ
比較論を語ってるのに「0じゃないだろ」なんて極論を語るな
極論を語るなら、MutationObserverを使え
- 649 :
- そのMutationObserverはどこで読み込むのでしょうかねぇ(苦笑)
- 650 :
- >>648
お前さ、DOMContentLoadedを勘違いしてるだろ?
DOMContentLoadedは、DOM要素が一つ一つ現れる毎に
発生するものだと思ってるだろ?
- 651 :
- >>649
そりゃ、scriptタグで・・あ!そのscriptタグを
どこで書くかの話をしてるんだった!
MutationObserverを使うなら、headかな!
- 652 :
- >>633
JSの処理でずっと止まってたら、そもそも画面が更新できないから、
無限に出力どころか一文字も表示できないだろ
計算及び表示はsetTimeoutあたりで再帰的に非同期で実行されるだろうから
いつまでもHTMLのパースが終わらないわけではない
ちなみにこのページの場合、DOMContentLoadedは、読み込み直後におこってたよ
http://3.141592653589793238462643383279502884197169399375105820974944592.jp/
- 653 :
- ブラウザの画面のレンダリングって
ダウンロード
↓パース ←DOM構築はここ
↓スクリプティング
↓スタイル計算
↓レイアウト
↓ペイント
↓ラスタライズ
の順よね?
円周率サイトみたいにhtmlの内容が限りなくドバドバ流れ続ける場合
パースより先に進めるのはなぜ?
- 654 :
- >>652
> JSの処理でずっと止まってたら、そもそも画面が更新できないから、
> 無限に出力どころか一文字も表示できないだろ
お前さんは基礎を勉強したほうが良いぞw
JavaScriptの処理で止めることができるのは、alertやconfirmといった
一部のダイアログ表示関数と無限ループだけだ
HTMLが無限に出力されるという話にJavaScriptなんか関わってこない。
正直お前が、なんで画面が更新できないと思ってるのかわからん。
- 655 :
- >>653
JavaScriptは一旦忘れろ。
ブラウザはHTMLを受け取ると同時に並行してレンダリングしていく
パースが完了してからレンダリングではなく
パースしながらレンダリングだ。
途中でCSSファイルを読み込むなど、
最初から再レンダリングが必要な場合は、再度レンダリングされる。
スタイル計算も同じ。後からやり直しが必要になったらやり直すだけで
パースと同時にレンダリングしている。
DOM全体の構築が完了してからレンダリングではなく
DOM一部分の構築が完了するとすぐにレンダリングするんだよ
- 656 :
- >>652
そのサイトのソースコード見てから言えや。マヌケ
<!DOCTYPE html><html><head><title>PI = 3.</title></head><body><p></p><script>
var f=Math.floor,p=document.getElementsByTagName('p')[0],a=[],b,c,d=0,i=0,j,k,l;function g(){b=0;
for(j=i+17;j>i;--j){b=(200000+b)*j;a[j]=b%(j+j+1);b=f(b/(j+j+1));}for(j=i;j>0;j-=17){a[j]+=b*j;b=0;
for(k=j;k>j-17;--k){l=k+k+1;c=f(a[k]/l)*100000+f(b/l)*k;b=b%l*k+a[k]%l*100000;a[k]=b%l;b=c+f(b/l);}}d=d*100000+b;
if(i){p.innerHTML+=('00000'+d).slice(-10,-5)+(i%20?'':'<br>\n');d%=100000}i+=17;setTimeout(g,0);}g();</script></body></html>
- 657 :
- >>654
https://developers.google.com/web/fundamentals/performance/critical-rendering-path/adding-interactivity-with-javascript?hl=ja
・JavaScript では、DOM と CSSOM のクエリと変更が可能です。
・JavaScript の実行は CSSOM をブロックします。
・JavaScript は非同期であると明示的に宣言されていない場合、DOM の構築をブロックします。
HTMLのパース中にscriptタグが出てきたら、それにasync/deferが付いてない限り、JSの読み込みと実行が終わるまでパーザは止まるよ
だからscriptタグはなるべく(DOMツリーの構築がほぼ終了している)bodyのケツに書けってセオリーが生まれたんだろ
あと無限のHTMLってなんだ?
ファイルサイズが無限のHTMLファイルがサーバーからひたすら送られてつづけてくるのか?
httpヘッダのcontent-lengthにはなんて書いてあるんだ?
HTMLパーザはとりあえずメモリ上にテキストを展開しないといけないが、どのくらいメモリを確保すればいいんだ?
JSを使ってDOMツリーに無限に要素を追加していくことはできるけど、無限のHTMLなんてものは実現不可能じゃないの?
詳しくは知らんが、多分ブラクラ扱いで受け取り拒否で終わるんじゃないか?
>>656
そのコードは見てるけどなにか?
https://pastebin.com/92ayEsQT
ちょっと手を加えたこれをローカルで実行しただけなんだが
- 658 :
- >>655
なるほどー
勉強になりましたありがとう
- 659 :
- >>650
そんな勘違いをするわけないだろ
- 660 :
- おマヌケな解答者が多すぎて笑える
DOMContentLoadedが発生しない状態なんて現実的なコンテンツだとありえないから
一度もイベントループを回さないって、それ操作も効かないしフリーズしてるのと同じだから
- 661 :
- > DOMContentLoadedが発生しない状態なんて現実的なコンテンツだとありえないから
HTMLが大きい または 回線が遅くて
DOMContentLoadedが発生してないが
ページは表示されてるって状態なら普通にある
時間が短いだけで、ほとんどのサイトはそういう状態が発生してる
誰もイベントループの話なんかしてない。
- 662 :
- >>657
だからなにかって、このサイトはHTMLがすごく短いんだから
今話をしてる、ずーっと円周率が表示され続ける
「ページの読み込みが完了しない」サイトではない。
- 663 :
- >>657
> あと無限のHTMLってなんだ?
> ファイルサイズが無限のHTMLファイルがサーバーからひたすら送られてつづけてくるのか?
そういう話をしてるだろ。
> httpヘッダのcontent-lengthにはなんて書いてあるんだ?
必須じゃない。書く必要がない。
- 664 :
- > JSを使ってDOMツリーに無限に要素を追加していくことはできるけど、無限のHTMLなんてものは実現不可能じゃないの?
PHPで無限ループでechoするサイトでも書けば?
- 665 :
- > 詳しくは知らんが、多分ブラクラ扱いで受け取り拒否で終わるんじゃないか?
アホかw
どうやって、無限に表示され続けるかどうかを
クライアントで判断するんだよw
1TB読み込んで終わらなくても、もしかしたら1TB+1バイトで終了するかもしれんだろ
- 666 :
- >>657
> HTMLのパース中にscriptタグが出てきたら、それにasync/deferが付いてない限り、JSの読み込みと実行が終わるまでパーザは止まるよ
> だからscriptタグはなるべく(DOMツリーの構築がほぼ終了している)bodyのケツに書けってセオリーが生まれたんだろ
お前はこの言葉の意味がわかってないな。
今話しをしてるのは、パーサーが止まるかどうかじゃなくて、
画面は表示されるのかどうかだ。
画面はいつ表示される?
body終了タグ直前になるJavaScriptの実行が
終わらないと表示されないと思うか?
- 667 :
- 「JavaScriptが実行されなくても画面は表示される」から、
bodyの終了タグの直前に書けってセオリーができたんだろ(呆)
で、bodyの終了タグの直前だと
「JavaScriptが実行されなくても画面は表示される」
ページが重くなればなるほど、コンテンツ表示からjs実行時までのタイムラグが発生する。
だから
> コンテンツ表示からjs実行までのタイムラグを減らすなら、
headに入れたほうが良いって話をしてる。
bodyの終了タグの直前にいれるのは、デメリットが一切ない完璧な解決策ではなく
コンテンツ表示からjs実行時までのタイムラグは短ければ十分許容できるだろうという
判断があって使う方法。どうせ何も考えてないんだろうけどなw
大抵の場合はタイムラグは許容できるんだろうが、タイムラグを許容したくないという理由で
headでJavaScriptを読み込むってのもありなんだよ。
その場合は重くならないように必要最小限のことだけをする。
要素がまだ表示されてないから、$('#id').on('click'・・・とかじゃなくて
$(document).on('click', '#id'・・・みたいな書き方をしてな。
要素ごとにイベントハンドラを設定しないから、この方法は軽い方法になる。
- 668 :
- つかなんでonload嫌いなの?
個人的にbody内scriptのほうが嫌い
- 669 :
- 頭の固い俺にはチンプンカンプンなので状況を整理させて
A. <head>でDOMContentLoaded
B. <head>でload
C. </body>手前で<script>
D. コンテンツ直後に<script>
E. MutationObserver
>>635はどれとどれを比較して、優位性を主張してるの?
どういう理屈でそれがいいの?
何にそんなに怒ってるの?(枝葉かもしれないけど、主張に関係してそうだから)
特に「永遠に円周率を表示するサイトっていうのは、</body>が永遠に来ない」のところが意味わかんない
- 670 :
- setTimeout(callback,0)やっとるだけ
</body>来とるがな
- 671 :
- >>669
俺が言ってる円周率を表示するサイトっていうのは、
HTMLではなくテキストとして返してくるサイトだよ
content-type: text/plain で返してくるんだよ
- 672 :
- 俺が昔見たのとは違うが、こことか永遠と円周率を表示するサイトだな
http://314.uw.hu/index.html
さてDOMContentLoadedは一体いつ発生するんだい?w
- 673 :
- content-type: text/plainなら</body>は永遠に来ないでしょうね
<head>もありませんけど
- 674 :
- >>669
> コンテンツ表示からjs実行までのタイムラグを減らす
という話をしてる。
コンテンツ表示までの時間を減らすという話じゃない
コンテンツ表示からjs実行までのタイムラグを減らす話だ
表示されてるけどJavaScriptは動かないから
この間に画面に触ったらJavaScriptは反応しないという状態だ
- 675 :
- >>673
そこで重要なのは、同じことをHTMLでもできるってことだよ
</body>が永遠に来ないサイトを作ることはできる
- 676 :
- 勘で書くけど、
setTimeout(g,0) に、0 を渡しても、最小単位の数ミリ秒、空くからだろ。
その間に、レンダリングするのだろう
setTimeout は非同期だから、キューに、callback 関数を入れるだけで、即リターンする。
その後に、キューから関数を取り出して実行するので、
その間、最小単位の時間が空くのだろう
- 677 :
- >>674
ありがとうだけど、答えてくれてない…
> >>635はどれとどれを比較して、優位性を主張してるの?
> どういう理屈でそれがいいの?
> 何にそんなに怒ってるの?(枝葉かもしれないけど、主張に関係してそうだから)
- 678 :
- >>676
お前はずれてるから答えなくていい。
誰もお前がレスしてるサイトの話なんかしてないんだから
- 679 :
- jQuery なら、同じ要素で、メソッドチェーンで、2つのイベントも設定できる。
例えば、mouseover, mouseout で画像を切り替える
$( '#foo' ).mouseover( function( ) {
$(this).attr('src', 'a.gif');
}).mouseout( function( ) {
$(this).attr('src', 'b.gif');
});
- 680 :
- >>677
だから、
> コンテンツ表示からjs実行までのタイムラグを減らす
って話をしてるだろ?
格安SIMで通信速度制限で128kbp(16KB/秒)になったとしよう
HTMLだけで1MBのサイトだと64秒かかる。
つまりコンテンツが表示されはじめてから</body>がくるまで64秒かかる。
A. DOMContentLoadedは、コンテンツが表示されてから64秒後に発生
B. loadはAよりもさらに画像等のダウンロード後に発生
C. Aとほぼ同じ
D. jsが実行されるのはコンテンツ直後だが、最後に一回だけだとAと変わらない。何回もやるのは面倒
E. 意味不明
どれもDを除いてコンテンツ表示からjs実行までのタイムラグは減らない
Dでタイムラグを減らすのは面倒くさすぎる。
コンテンツ表示からjs実行までのタイムラグを減らすには
<head>でDOMContentLoadedを待たずに、$(document).on('click', selector・・・のような形で
<head>の時点で存在してるdocumentに対してイベントハンドラを適用すること
コンテンツ表示前からjsは実行されており、コンテンツが表示されたらすぐにイベントハンドラは機能する
- 681 :
- >>680
なるほどね
理解できたけど、「やっぱりheadに入れるのがいいんじゃないの?」で$(document).on('click', selectorをエスパー出来る人はいないと思った
文脈的にはあなたの主張はBだと思ってたし、あなたに反論していた人もおそらくBの体で反論してたと思うよ
余計な争いを防ぐ為にも、投稿前に重要な情報が抜け落ちていないかを注意した方が良いように思う
- 682 :
- AとBのはどちらもDOMContentLoadedはコンテンツ表示から64秒後に発生する
正確にはJavaScriptファイル + HTML の両方のダウンロードが終わってから発生するが
AはJavaScriptファイルのダウンロードが終わってから、HTMLをダウンロードするのでコンテンツ表示が遅いが
BはHTMLからダウンロードしてから、あとでJavaScriptファイルをダウンロードのでコンテンツ表示が速い
ただし、どちらもJavaScriptファイルのダウンロードが終わるまでは
JavaScriptファイルが機能しないので、コンテンツ表示からJavaScript実行のタイムラグがある
> コンテンツ表示からjs実行までのタイムラグを減らす
には
JavaScriptを先にダウンロードし(この間読み込んでないコンテンツは当然表示されない)
DOMContentLoadedを待たずにJavaScriptを実行(ここがAとの違い)する。
こうすることでコンテンツが表示される時点ではすでにJavaScriptが実行されている。
- 683 :
- > AとBのはどちらもDOMContentLoadedはコンテンツ表示から64秒後に発生する
>>682はAとCの間違い
- 684 :
- エスパー出来てなかったし、$(document).on('click'と書かれていたなら反論しなかった
- 685 :
- わざと欠けてる情報で相手を釣る。
おちょくり回して遊ぶ。
最後にマウントする
これが目的なのに何を言ってるんだ?w
- 686 :
- お前ら盛り上がってるところすまんが
jQueryは使わない場合結局どうすればいいんだよ?教えてくれよ
- 687 :
- jQuery相当のことを自力でやればいいだけ
まあ頑張れw
- 688 :
- >>635はDOMContentLoadedの回答を得て「やっぱりheadに入れるのがいい」といってたから、Bと勘違いするのも無理ないな
- 689 :
- >>685
それ最後にマウント取られて終わるやつ
- 690 :
- 無限に円周率を表示するページで
DOMContentLoadedっていつ発動するの?
→永久に発動しないんだ
→じゃあDOMContentLoadedを使うのは良くないね
→</body>もこないしね
→(DOMContentLoadedは使わず)<head>に入れよう。
- 691 :
- >>686
https://developer.mozilla.org/ja/docs/Web/API/EventTarget/addEventListener
jQueryなんかと違ってバブリングしなくても親ノードで待てるので、お勧め
- 692 :
- >>691
バグリングと親ノードの関係は?
親ノードで受け取ってから処理を振り分けすんの?
- 693 :
- このスレは>>685みたいなのが常駐していて実に糞だな
- 694 :
- >>622に話が戻ってきたな
window.addEventListener("click", function(evt){
if (evt.target.id == "foo")...
if (evt.target.id == "bar")...
},false);
jQueryを使わないってことは、こんな感じのコードを書かないといけない
- 695 :
- >>692
イベントバブリングでぐぐれ
- 696 :
- >>695
いやだから、親ノードで持てるのは
ずっと前からじゃんって話なんだが?
- 697 :
- >>696
いつからかは関係ない
- 698 :
- >>697
だから親ノードで持てるのは、バブリングと何の関係もないよね。
バブリングじゃないと親ノードで持てないとでも?
- 699 :
- >>698
> バブリングじゃないと親ノードで持てないとでも?
バブリングフェーズなら当然そうだ
いい加減、ぐぐれ
- 700 :
- >>699
バブリングの反対ってなにか知ってる?
バグリングでもキャプチャリングでも親ノードで持てるんだが?
- 701 :
- >>700
バブリングに反対などない
両j方対応している物を試しているだけだろう
いい加減、煽って情報を得るのは止めろ
- 702 :
- そもそも、「バグリングでもキャプチャリングでも親ノードで持てるんだが」は何の反論にもなってないな
この煽り癖は例の奴と判断した
もう回答はしない
- 703 :
- > バブリングに反対などない
> useCapture Optional
> Boolean 値で、
Boolean 値なんだよねw
- 704 :
- >>702
バグリングと親ノードで持てることの関係を言わないから
こういうことになるんやで?自業自得だ
- 705 :
- こいつはバグリングといってるから別物なんだろうよ
使い慣れない言葉を知ったかで使うからこうなる
- 706 :
- > そもそも、「バグリングでもキャプチャリングでも親ノードで持てるんだが」は何の反論にもなってないな
バグリング、クソワロタw
こいつバカやでwww
- 707 :
- うむ、引用元の>>700が糞バカだな。
>>692とか>>704とか、しつこいぐらいに間違えているぐらいだからな。
- 708 :
- 引用されている事に気が付かず、墓穴を掘るとはね
- 709 :
- これ文体がいつもの人だし、jQuery信者っぽいね
今度から、バグリング君と呼ぼうか
- 710 :
- >>682
ファイルは、4つ同時に、並列でダウンロードするけど
- 711 :
- JQuery君かつローカル君かつバグリング君か
もう去ればいいのに…
- 712 :
- 彼は体をはって失笑ネタを提供してくれているのだろう
- 713 :
- 煽ってくるからもう相手しちゃだめだよみんな
- 714 :
- document.querySelectorAll('.class').forEach(function(item){
item.addEventListener('click', function(){
}, false);
});
window.addEventListener('click', function(evt){
if (evt.target.className == 'class') {
}
}, false);
itemがいっぱいあるときはどっちがいいですか?
- 715 :
- 要素を取得して、その要素の値を使ってあれこれしたいってとき結構多いじゃないですか
なのでquerySelectorAllで取得してループさせてっていうのをやるわけですが
querySelectorAll().forEachがどうみても便利なのにforEachは使っちゃダメみたいな雰囲気なのですが
何か理由があるんですか??
- 716 :
- forEach使っちゃダメってどんな文脈で言われたの?
- 717 :
- >>714
下は class="class foo bar" とか書いてある時に
動かないので同等のコードになっていない
- 718 :
- >>715
querySelectorAll() に forEach が必ずあるとは限らない
- 719 :
- >>714
itemが後から増えるかどうかにもよる
どっちがいいかは、速度とメンテナンス性、何を重視するかによる
- 720 :
- >>714
$('.class').on('click', function() {
});
$(document).on('click', '.class', function() {
});
itemがいっぱいあるときは後者が速度とメモリ効率が良い
itemが増減する時は後者がメンテナンス性が良い
後者は少しタイプ数が多い。その程度。
一般的には後者がいい
jQueryを使わない場合は知らん
- 721 :
- filter関数について
function isBigEnough(value) {
return value >= 10;
}
var filtered = [12, 5, 8, 130, 44].filter(isBigEnough);
というコードがあるとき(上記はMDNのサンプルコードです)
var filtered = [12, 5, 8, 130, 44].filter(isBigEnough);の行を
var filtered = [12, 5, 8, 130, 44].filter(isBigEnough());としたらエラーが出てしまいました
関数を呼び出す時は 関数名() で呼び出すのではないのですか?
- 722 :
- ()を付けると即実行されて、その戻り値がfilterに渡されるからエラーになる
関数を渡すには関数名だけで
- 723 :
- 実際はしらんが>>714の上はプロセスがいっぱい起動してるようなイメージがある
リソース的にはちょっとなあという感じ
>>717の指摘通り複数classを適用してると
判定部分が複雑になって毎回クリックのたびにそこを通ると思うと
ちょっとなあという感じ
まあどちらにしても問題になるような次元じゃないと思うけどね
- 724 :
- >>718
PolyfillでOK
- 725 :
- >722
ありがとうございます
重ねて質問すみません
>()を付けると即実行されて、
というのはどういうことでしょうか?
>filter() は、与えられた callback 関数を配列の各要素に対して一度ずつ呼び出し、
>callback が真と評価される値を返したすべての要素からなる新しい配列を生成します。(MDNから)
isBigEnough() と、()を付けると
filter()がcallback関数を呼び出す前に実行されてしまうんですか?
ググっていて下記サイトを見つけたのですが、その中で
JavaScriptの「コールバック関数」とは一体なんなのか
https://sbfl.net/blog/2019/02/08/javascript-callback-func/
>関数を値として扱うには後ろのカッコをつけずに書きます。
とあるのですが、isBigEnoughにカッコを付けてはいけないのも同じ理由でしょうか?
変な質問ですみません
たぶん、コールバック関数が何なのか解っていないんだと思います
「filter()の引数にはコールバック関数を指定する、コールバック関数なので()を付けてはいけない」
くらいの認識でも良いんでしょうか?この解釈は間違っていますか?
- 726 :
- >>717
classListに変更すれば良い
- 727 :
- >>725
()を付ければ、呼び出される
https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Functions#Calling_functions
- 728 :
- >>718
そんなん[...querySelectorAll()].forEachでええやろ
- 729 :
- まちがえた[...document.querySelectorAll()].forEachだった
- 730 :
- >>725
> たぶん、コールバック関数が何なのか解っていないんだと思います
少なくともJavascriptにおいては、ただの関数です。
var tadanokansuu = function() {
console.log('hello, world!');
};
ただの関数を呼び出すとき、以下のように()つけて呼び出しますね?
tadanokansuu();
//=> hello, world!
一方、世の中には以下のような、引数として関数を取る関数があります。
var kansuuwotorukansuu = function(nanikanokansuu) {
nanikanokansuu();
};
このような、引数として関数を取る関数に、引数として渡す関数、これを「コールバック関数」と呼びます。
kansuuwotorukansuu(tadanokansuu);
//=> hello, world!
↑の例ではtadanokansuuがコールバック関数『として』kansuuwotorukansuuに渡されています。
このように、「コールバック関数」という特殊な関数があるのではなく、引数としてコールバック(関数)を取る関数kansuuwotorukansuuがある、kansuuwotorukansuuに引数としてtadanokansuuをコールバック(関数)として渡す、などと考えればよいと思います。
- 731 :
- >>718の話自分にはよくわからないのですがどういうことですか?
見つからなかったら空の配列をまわそうとしてなんかエラーが出たりするってことですか?
- 732 :
- >>731
https://developer.mozilla.org/ja/docs/Web/API/NodeList/forEach#Browser_Compatibility
>>724
- 733 :
- >>732
ああ、対応してないブラウザ(IE)があるってことですね
ありがとうございます
- 734 :
- そういう細かいこと考えるのが嫌だからjQueryを使う
- 735 :
- もうそんな時代も終わるだろ
っていいたいところだがIEがなかなかしぶとい
IE11ならだいたいのネイティブコード動いたとおもったが
forEachはだめなのか?まだまだ世話のかかる厄介なやつだな
- 736 :
- edgeにIEモードってことはMSもそろそろIE畳むつもりはありそうだが
- 737 :
- JSの文字列置き換えって正規表現によるreplaceとsplit+joinしか選択肢ないんですか?
どちらも(;´゚д゚`)エエーって感じなんだけど
- 738 :
- https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/replace#Syntax
- 739 :
- >>737
他に例えば?
- 740 :
- >>739
正規表現である必要がないので
"2019-01-01".replaceAll("-", "/")
こんなんでいいと思うんです
- 741 :
- Ruby では複数置換でも、ブロックを渡して、変形できる。
$& はマッチした部分
puts "1a23bc4d".gsub( /\d+/ ) { '<' + $& + '>' }
#=> <1>a<23>bc<4>d
JS でも同様に、replace に、callback 関数を渡して、変形できる
function replacer( matched ) { return '<' + matched + '>' }
var str = "1a23bc4d".replace( /\d+/g , replacer );
- 742 :
- Ruby のNokogiri とか、Selenium WebDriver などは、
要素の発見を、1つだけのものは、find_one とか、
複数みつかるものは、find_all など、関数名を分けている
find_oneで、1つなら該当する要素を返すが、0個なら、nil を返すとか、
find_allは、配列を返すとか、ややこしい
jQuery だけは、すべて配列で返すから、0, 1, 複数のすべてで、同じ書き方ができる!
だから、jQueryを使ってないと、バグだらけで、開発費が何倍も掛かる。
リリースしてからも、しょっちゅうバグるから、やり直しばっかり!
机上デバッグでも、手間が掛かる。
ごちゃごちゃと何をやっているのか、説明できない
- 743 :
- jQueryはJavaScriptのラッパーだろ
やってることはその域を超えない
置換にしてもJavaScript同様無駄の多い処理をしてるはずだ
- 744 :
- >>743
それを言ったら、高級言語はすべてアセンブラのラッパーだ
ラッパーは素晴らしい。冗長で分かりづらいコードを
わかりやすくしてくれる。
jQueryはJavaScriptのラッパーだ
つまりそれは素晴らしいものということだ
- 745 :
- > 置換にしてもJavaScript同様無駄の多い処理をしてるはずだ
その仕事を、人間がやるか
コンピュータにやらせるかだ。
人間が楽になれば、コンピュータの仕事は増える
コンピュータの仕事を増やすことこそ、正しい姿だ。
- 746 :
- いやいや正規表現エンジン通すとか配列に分割してまたくっつけるとか
そういうのがイラネっていってるだけだろ
例えば
pos = str.indexOf(search);
while(pos > -1) {
str = str.substring(0, pos) + replacement + str.substring(pos + 1);
pos = str.indexOf(search, pos);
}
こんなコードをネイティブで実装してないのか?って話じゃねーの
- 747 :
- >>746
頼むから、バグリング君に関わるのは止めてくれ
彼に話が通じるわけないだろう
- 748 :
- 不特定多数のDOM要素を相手にしてごちゃごちゃやるのなら
それをいい具合に扱えるjQueryが最高というのは分かるが
今どきそれはナンセンス
コンポーネントにわけて1つ1つの機能の担当範囲を分けて
柔軟なことがしたいときはShadowDOMだったりHoudini系のAPIを使って
中を詰めていくのが基本
そういった技術にjQueryは適さない
- 749 :
- >>748
> コンポーネントにわけて1つ1つの機能の担当範囲を分けて
> 柔軟なことがしたいときはShadowDOMだったりHoudini系のAPIを使って
> 中を詰めていくのが基本
そこに「顧客が本当に必要だったもの」の観点は有るのかい?
顧客にそうしてくれと言われたのかい?
- 750 :
- >>749
君はどうか知らないが俺は言われたものを作るロボットではないから
自分の作りたいものを自分がいいと思うように表現するためにWebを使ってる
勿論どうして作りたいかの部分に顧客が含まれることはあっても
作りたいものを作りたいから作ってるってことが俺にとっては一番大事だから
あとここはお仕事お助け板ではないからね
純粋にJSを学びたい人のためのスレ
あんまり仕事でどうこうっていうのを持ち込むのは良い気はしないね
- 751 :
- 仕事話がダメって訳じゃないけど
職場の常識を延々振りかざすのは勘弁願いたい
- 752 :
- >>750
作りたいものを作る
VS
使いたい技術を使う
の話ですかね?w
- 753 :
- jQueryを使いたいバグリング君の持論
- 754 :
- jQueryは適切だから使ってるんですけど?
俺がjQueryで書いたものを、jQuery以外で
よりシンプルに書き直した例なんて見かけないんです。
- 755 :
- 他人には「使いたい技術」とあざけり、自分は「適切な技術」と自慢するバグリング君
- 756 :
- jQueryでシンプルにかける事例しか出さないもんな
そうじゃない時は「そんな仕様要らない!」で解決
- 757 :
- 十人十色、千差万別
- 758 :
- > jQueryでシンプルにかける事例しか出さないもんな
なんで俺が出すんだよw
質問スレなんだから、事例を出すのは質問者だろ
ってかお前が出しても良いんやで、
こういう事例は○○を使ったらこういうコードになりますって。
- 759 :
- >>755
仕方ないよ。だって技術の話しかしてないんだもん。
技術ではなく、やりたいこと・・・をここで質問されたら
俺はすかさずjQueryで回答してるw
- 760 :
- ■バグリング君の持ち技
煽る
布教
二重基準
自爆 >>706
■バグリング君が質問する目的 >>685
わざと欠けてる情報で相手を釣る。
おちょくり回して遊ぶ。
最後にマウントする
■バグリング君への対策(質問編)
質問に不足情報があれば、補足要求する(回答してはいけない)
補足要求に対して情報開示しないレスを返して来たら、無視する
質問に煽りが少しでも入っていれば、無視する
「おまえわかってないだろ?」というニュアンスのレスも無視する
質問に不適切な態度をとっている者は徹底的に無視する
■バグリング君への対策(回答編)
ライブラリ布教活動は徹底的に無視する
回答に対しての嘲り/煽り/嘲笑行為も無視する
基本は質問者に回答する事だけに注力する
バグリング君の兆候がなければ、回答者同士で対話するのは可(初めはその兆候がなくても、途中で少しでも怪しいと感じれば、無視する)
ただし、布教活動の一環で自演質問してくる場合もある(jQuery使うとこんなに便利なんですね的な)ので、適宜判断して見切りをつける
■まとめ
荒らしは無視して、荒らし以外でコミュニケーションをとること
議論が白熱しても、「荒らしかもしれない」と感じたなら、即座に撤退すること
傍観者視点では撤退した方が「大人の対応」と受け取れる
- 761 :
- >>752
俺は俺の考えを述べただけでなんのVSでもない
どちらかと言うと俺が主張したいのは>>751
- 762 :
- ずっと前からいたしつこいjQuery厨もこいつだったのか
やれやれ
- 763 :
- jQuery 禁止って言ってる方が、荒らし!
いつも、jQuery, Lo-dash, ライブラリの話は禁止って書いて、テンプレを改変して、スレ立てする。
Ruby 禁止も書いてる
>くだすれPython(超初心者用) その43【Ruby禁止】
テンプレを改変して、何々禁止と書いて、スレ立てしている奴は、荒らし!
荒らしの特徴は、762 みたいに、自演して、2回書き込む!
いつも、2回書き込む
荒らしとは、会話しないように!
会話すると、いつまでも居つくから
- 764 :
- テンプレに「質問スレで布教するな」的なルールを入れるべきか
- 765 :
- どっかでみたようなやつだなとおもったら
PHPしらんくせにPHPスレにきてRubyならどうこういってた
ネジのぶっとんだRubyistがいたがここでも暴れてんのかw
- 766 :
- >>763
料理を自ら学ぶスレで
ひたすら便利な電子レンジ調理を推すように話されたら
不快になる人が居るに決まってるでしょ
ここは効率よくJSでやっていくスレではないのだから
どちらかと言うと自分で頑張って真面目に学ぶというのは
仕事でWebサイトをイジれるようになる程度のスキルを身につけるには
非効率であることもあるのだから
でもここはそういう地道な努力を重んじる古風なスレなんだから
質問者に対して答えを教たりその質問に限って楽にポンとできる方法を教えるスレでもないし
ライブラリを紹介するのが駄目だとはいけないが
これがスマートで楽で仕事では普通でしょと思う気持ちは捨ててほしい
あくまで質問者がJSを自ら学ぶためにサポートするスレだから
- 767 :
- >>766
お前が不快に思ってるのは、お前の感情に過ぎない。
電子レンジを使った料理も料理なんだから
お前が気に入らないからって認めないってことにはならん。
嫌なら見るな。
- 768 :
- てか質問者でもないのに、jQueryの解答はやめてください
って他人が言うなって思う。
jQueryの解答をしないでって叫んでないで
jQuery以外での解答をしろよ
他の回答者の邪魔ばかりして、質問者に解答の一つも返さない
- 769 :
- 解答が競合するからjQuery可のスレと棲み分けていた所を
勝手にテンプレ変えた最低のクソ野郎が居たからな
- 770 :
- >>767,768
認めないだの止めろだのとは言ってないだろう
ただ上でもチラと見たがjQueryより短く書けるのか云々とかいうのは
明らかにこのスレに於いて間違い
冗長であることが質問者が自らJSを学ぶためには良いこともあるのだから
ライブラリ使用に限らないが変なスマートさを追求したほうが良いだろうというところが問題であって、
勿論きちんとこのスレの趣旨を分かった上でそれが良いだろうと個人的に思って発言するのは良いんだけど
これが一般的にいいんだ、とかこうすべきなんだというのは
このスレに於いては正しくないことを理解してくれたらそれだけで良い
ここは「普通の質問スレ」ではないんだから
それだけは弁えて普通の解答は控えてくれると嬉しい
- 771 :
- >>770
うんうん。だから俺はjQueryで回答する。
他の人はjQuery以外で回答する。
それでいいじゃないか?
- 772 :
- 初心者をjQueryに誘導する余計な一言を付け加えなければ良いと思うよ
それならお互い干渉する必要が無くなる
- 773 :
- なんかここって数人で回してるんだろうなっていうのが分かる流れだなw
俺も含めて
- 774 :
- vue router使った時にTwitterタイムラインの埋め込みをしようとするとscriptタグ使ってんじゃねーって怒られます
回避方法ありますか?
- 775 :
- 結局、使わせたいjQueryに誘導してるだけよな
>>752は何だったのやら
- 776 :
- どうせラッパー使うならtypescript使おう!
- 777 :
- ○のラッパーなのか?
TypeScriptはJavaScriptのラッパー
jQueryはDOM APIのラッパー
より便利にしてくれるラッパーは素晴らしいもの
- 778 :
- Vue万歳、jQueryは死すべし
- 779 :
- Vanilla JSは最速を保証してくれる素晴らしいもの
- 780 :
- バーニラバニラバーニラJS
- 781 :
- >>779
その最速は客が望んだことかい?
- 782 :
- >>781
jQueryは顧客が望んだことかい?
- 783 :
- >>782
顧客は使う技術は望んでないよ
だから俺は一番いい答えを書いているだけ
君も書けばいいじゃないか
お好きなフレームワークで同じことを
長くなって面倒くさいから書かないんだろうけどさ
- 784 :
- 煽りレスやめれ
- 785 :
- 質問があっても答えない…
答えられないのかw
- 786 :
- 質問者は煽りも宗教論も望んでいない
- 787 :
- 質問者の求める答えをだした上で
老婆心ながら求めてない世話焼きするのはまだいいけど
(レガシーなんておすすめするようなもんじゃないが)
議論からなんか巻き起こそうとして質問者を出汁にしてるのが癌
- 788 :
- >>771
>>772が言ってるように
そう取られかねない言動をしなければいいと思うよ
要するにあえてライブラリを使ってない他の回答に対して
どうしてそんな非効率で不毛なことをするんだと当てつけるように
もしくは直接そういう言動をしていなくてもそれが滲み出る感じで
回答するライブラリ使用者が目立つから嫌われてるのであって
やっぱりライブラリを使ってない回答者からしてみれば
なんで便利なライブラリを使ってあげないんだと言われたら質問者の手前答えに困る
それは数学の連立方程式でいきなり解の公式を教えないのと同じで
問題を解決する手段を教えるのではなく考え方を自ら学んでほしいと思っているから
でも見方によってはあえて意地悪してるわけだから、
ライブラリ使用者が質問者の見方だの正義ずらしてこられると非常に困るということも理解してほしい
- 789 :
- >>787
個人的に思うことは
質問者が質問者としてのマナーを守った上できちんと自ら学ぶ態度を十分に出してるのなら
つまりこういうことをしたくて、ここまで試して調べたんだけど、この部分がどうしても分からい
っていう感じの質問に対しては答えを教えてもいいと思うけど
殆どの質問者がそのレベルに達していないから
その場合回答者が質問者が自ら学ぶ格好になるように誘導してあげるべきというか、
足りない質問者を無視するのは流石にあんまりだと思えば、そうせざるをえないと思うんだよね
少なくとも質問者の求める答えを出すというのは絶対に違う
それは普通の質問サイトでの常識
このスレでは質問者はお客様ではない
ここは元2chであり、ここは一問一答スレでも無いのだから
- 790 :
- うわぁ・・・
- 791 :
- それこそ、個人が学ぶスレなら、Ruby, jQuery で書いてもよい。
それを見て、同じように書けばよいのだから!
わからなければ、無視すればよいだけ
スレは別に、質問者と回答者の、1対1 の関係ではない!
2ch の良い所は、1人では達成できない、全員の連鎖反応による進化!
この速度が猛烈に速い!
例えば、誰かがRuby で書くと、
それを見たJS のプロが、JS, jQuery に変換するなど、凄まじい進化が起こる!
面倒くさいと思っていた人でも、
Ruby のソースコードを改変するだけで、簡単にJS に変換できる所
Haxe で書いても、変換できるし
- 792 :
- 実際には、素のJS では、回答を書けない!
ほとんど要点以外の所を長々と書いても、無意味で、わかりにくいので伝わらない
ノイズが多い。ロジックをそのまま表現できない。
様々なエラー処理を書かないと、バグる
だから、Ruby, jQuery 以外の回答者がいない。
投稿の32行制限もあるし、素のJS で書けない
様々なブラウザの互換性も考えたら、素のJS で回答できない。
もし書いても、このブラウザでは動きませんとか、言われたりする
jQuery, Lo-dash, ライブラリ、Ruby禁止って言ってる奴は、回答しない。
ただ、他の回答者の邪魔をしてるだけ
- 793 :
- その柔軟な思考をまずrubyスレで実践してからここに来い
rubyスレでpythonでもjQueryでも回答して良いと宣言してから来い
荒らしじゃないと言うなら最低限行動は一貫しろ
- 794 :
- >>788
> それは数学の連立方程式でいきなり解の公式を教えないのと同じで
> 問題を解決する手段を教えるのではなく考え方を自ら学んでほしいと思っているから
要するに、質問者を無能と見下してるわけですね?
俺が育ててやってるんだ。気分を味わいたいのねw
- 795 :
- >>788と>>791と>>794
おまえら全員別のスレ立ててやってくれないか
どうもこの3人が癌のようだ
- 796 :
- >>786
- 797 :
- ここ最近の質問見てると正しい作法を教えてくれってだけで
問題自体は解決してるんだよなぁ
- 798 :
- もちろん作法ってのはピュアなJSのコードでのね
なのにjQueryやら持ち出すから
- 799 :
- 作法とか何いってんの?
お前の決めたルールの押しつけじゃん
- 800 :
- 質問者はそれを求めてるんだろ
答えのない答えをな
- 801 :
- 質問に書いてないことをいうのは押し付けだからねえ
- 802 :
- >>801
(9) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。
- 803 :
- 時には質問者が求めていることを言わないのも優しさ
- 804 :
- 荒らしは、ソースコードを書かない!
コードを書かないで、居座る奴は荒らしなので、無視してください!
- 805 :
- >>804
これソースコードじゃないよね?
無視しよ
- 806 :
- お前の文体特徴ありすぎ
- 807 :
- ローカル君もう帰ってよ
要らないよ
- 808 :
- いや・・・俺じゃないんだがw
俺は>>802とか>>799とか>>794だよ
- 809 :
- >>774
残念ながらありません
- 810 :
- >>774
自己解決しました
async属性って便利なんですね
- 811 :
- >>808
障害を乗り越えて頑張れよ
みんな応援してるから
- 812 :
- >>794
のことローカル君って言ってるんだよ〜
- 813 :
- 最近ではバグリング君ともいう
本人は爆笑してたな
- 814 :
- <div>
<div>a</div>
<div>b</div>
<div>c</div>
</div>
cから見て
<div>a</div>
<div>b</div>
<div>c</div>
の3つのノードがほしい時は
parentNode.parentNode.childNodes以外になんか書き方ありますか?
- 815 :
- 補足ですがcってのはtextContentの部分です(実際はインライン要素なのですが)
- 816 :
- ない
- 817 :
- parentElement.parentElement.children
- 818 :
- >>816-817
ありがとうございます
parentElementのほうが直感的でいいですね
こちらにしようと思います
- 819 :
- int型想定したinput[type=text].valueなんかのフォームや
要素の属性値を取得するとき全部文字列型ですよね?
DOMでそれらを変更するときは文字列型で渡したほうがいいですか?
- 820 :
- 片方がint型なら比較や演算も問題ないですが両方文字列だとだめですね。
"2000">"300"にならないし書き換えた値がNaNになったりするので、
parseInt toStringがめっちゃ多いコードになってきてるが、こんなんでいいんでしょうか?
これじゃインタプリタの利点が…
- 821 :
- >>820
valueAsNumber
- 822 :
- 面倒くさいんで、対応ブラウザまで書いてくれませんか?
- 823 :
- >>822
めんどい
- 824 :
- > JavaScript を自ら学ぶ人のための質問スレッドです。
- 825 :
- 面倒だから皆、jQuery で、CSS Selector を使う。
div に、適切なクラス名をつける
jQuery にも、親子・兄弟間を移動する命令もあるけど、普通はそういう事をしない。
.parent().children()
外側のdiv に、クラス名を付けて、そのすべての子を取れるようにする。
<div class="abc">
$( '.abc > div' )
abc クラスの直下(子)のdiv。
. はクラス、> は直下(子)
まず、CSS Selector を学ぶべき!
- 826 :
- 質問です
Javascript超初心者なのですが
ES6の挙動を確認するうえで
document.writeln
console.log
<p id="foo" />使う(もちろんinnerHTMLは使わない)
要素を増やす
どれがベストなのでしょうか
デメリット含めご教示いただければ…
- 827 :
- console.table
- 828 :
- idやらclassやら特有の情報をベタベタつけたくない
かといってparentNodeとかnextSibling使うのはださい
- 829 :
- さすがに insertBefore とか innerHTML とか document.writeln とか無いですよね?
- 830 :
- >>826
console.dir or console.log
Object.prototype.toString
typeof
EE6だけなら、コンソールでコードを叩いても十分
- 831 :
- >>829
「さすがに」の意図を加えないと回答不可
- 832 :
- >>827
https://developer.mozilla.org/ja/docs/Web/API/console/table
非標準らしいですが…?
- 833 :
- >>831
「新規案件の実務では」さすがに今は使わないですよね…?
- 834 :
- >>833
いいえ
- 835 :
- >>832
非標準ではないようですが?
https://developer.mozilla.org/en-US/docs/Web/API/Console/table
- 836 :
- なにこのローカル君の応酬
- 837 :
- だから俺じゃねーってw
- 838 :
- vueのチュートリアルをチラっとみてきたんですが
サイトソースみると
<div>サンプルコード</div>
<script>
</script>
こんなのがbodyのいたるところに入ってました
最近のはこれが普通なんですかね?
- 839 :
- 最近の質問、質問者の思い込みによる「なぜこうなってるんですか」系しかないな
- 840 :
- という思い込み
- 841 :
- だって、自分の考えを言わずに「なぜですか」しかいわんし
- 842 :
- バグリング君のいつものやり方 >>685 じゃない?
>>760
- 843 :
- bodyのいたるところってのみりゃheadにいれてうんちゃらっていう
ちょっと前やってた話題からの流れってのがわかるんだがな
- 844 :
- >>685が定着してるし、最近の流れは納得だわ
- 845 :
- 質問です。
ブラウザでのファイルアクセスにて
裏技を使わずにjavascriptがあるフォルダ内ファイル一覧を取得する方法は
ありますでしょうか?
【環境】
android chrome
ios chrome
windows chrome
最新版と今後バージョンアップ含む
【条件】
サーバー側の設定やphp対応はできず、httpサーバーは一覧表示禁止する設定。
filesystemは今後chromeAPPのみ対応だということを確認済み。
fileAPIは手動選択ファイルのみ名称取得可能なことを確認済み。
【答え想定】
できない 〇〇使うとできる
- 846 :
- >>826
まず、PC に、Node.js, VSCode をインストールする
VSCode の拡張機能に、Quokka.js を入れる。
Ctrl+Shift+P で、Quokka.js new file を選ぶ。
ただし、Quokka.jsは、保存したファイルからは、実行できない
const f = name => `Hello, ${ name }`
var str = f( "John" )
str // 出力、Hello, John
変数を書くだけで、その内容が表示される。
ここで、"John" を、"Tom" に変えると、出力も即座に変化する
ただし、そのファイルから、出力部分だけはコピーできないので、
コピーする場合は、コンソール画面の出力タブから、コピーする
- 847 :
- >>845
サーバーで、一覧表示を禁止しているなら、見れないだろ
もし見れたら、セキュリティーホールになる!
- 848 :
- ES 2015 で、以下のように書くと、
const f = name => `Hello, ${ name }`
入力補完に、以下のように表示されるけど、
const f: ( name: any ) => string
ES 2015では、引数がany 型じゃなくて、string型を指定できないの?
つまり、型指定
- 849 :
- 試してないけど
const f = (name = '') => `Hello, ${ name }`
とかでそうならないか?
- 850 :
- デフォルト値ですか?
const f = ( name = "Mike" ) => `Hello, ${ name }`
確かに、入力補完は以下のように、string型になりましたが、
別にデフォルト値はいらないのです。
const f: ( name?: string ) => string
- 851 :
- >>850
?
単にそういう質問ならjavascriptに型指定はないよ。typescript使え。てかそのためのtypescript
- 852 :
- >>850
どうしてstring型を指定する?
toStringをきちんと定義してるオブジェクトが来るような可能性だってあるだろう
bigintがJSに入ったけどもしtypeof 'number'でチェックしてたら通らないだろう
勿論それでいい場合もあるだろうが悪い場合もある
だがしかし、本当はInfinityが来てほしくない場合もあるのではないか?
本当に制限したいのなら型という中途半端な括りではなくもっと厳密に判定すべき
それか制限するのではなく積極的にキャストして欲しい状態に値をもって行くように心がけろ
それがJSのやりかた
- 853 :
- 立派な回答も豚に真珠と思うと、真面目に回答する気が失せるもの
- 854 :
- >>847
ありがとう。そうだよね
- 855 :
- そうだよ、はいこの質問終わりね。
- 856 :
- そもそもまともに答える奴のが少ないし
- 857 :
- 鶏が先か卵が先か
- 858 :
- ローカル君荒さないで!
- 859 :
- >>858
呼んだ?
- 860 :
- ローカル君はもっと勉強しろ
- 861 :
- バグリング君、>>706みたいた間抜けな対応を期待してるよ
- 862 :
- V・A・N・I・L・L・A☆Vanilla JSで高収入ー!
https://mevius.2ch.sc/test/read.cgi/hp/1557976008/
- 863 :
- 一度読み込んだjsをボタンを押すと無効にするみたいなことは可能でしょうか?
- 864 :
- あーもうクソIntelの脆弱性のせいでまたSABが遠のいたじゃん
ホントだったら去年中にはCh/Fxで使えるようになってたのに
一度有効にしたものをずっと無効にされてどれだけ迷惑してることだか
ほんといい加減にしろ
- 865 :
- sabって何?
- 866 :
- symbolを簡単にわかりやすく説明して
- 867 :
- >>863
はい
- 868 :
- >>866
ネットにある記事を読んでわからないような人間に対して分かりやすく説明するのは無理だと思うので
不可能という回答をさせていただきます。
- 869 :
- >>867
教えていただけますか?
- 870 :
- 全員バグリングの自演に見えてきたw
- 871 :
- >>868 の超訳
「私には分かりやすく説明する能力は全くありません」
「私には回答は不可能です」
「私は無能です」
「私に質問しないでください」
- 872 :
- >>871はプログラム板にも出張して同じ事いってるよ
質問者の説明不足を棚において言いたい放題だね
https://mevius.2ch.sc/test/read.cgi/tech/1491143438/105
- 873 :
- マウントやりたい放題のネット番長が何言っても説得力ねえな
- 874 :
- >>871
symbolもわからねえ雑魚の癖して何言ってんだか
ガイジ過ぎでしょこいつ
- 875 :
- >>872
お前、向こうでも暴れてるのかw
- 876 :
- プログラミングスレでも雰囲気悪いところといいところが
あっておもろ
- 877 :
- フレームワークの話題なし
ECMAや純水なJavaScriptの話題だけのスレがほしい
結局楽だからっていつ廃れるかわからないのを学んで
その時々の流行を追っていくより
スタンダードなものを学習していきたいしそういう話題してるスレを見たい
- 878 :
- このスレがフレームワークについて語ってるとこを見たことない
- 879 :
- >>877
純粋なJavaScriptといっても結局はほとんどの人はJavaScriptを
ブラウザ上で使うブラウザのAPIからは逃れることはできない運命にある。
ブラウザのAPIを一切使わないnodejsとかもあるけど
それはそれでnodejsのAPIの話になってしまうし
そもそもJavaScript(EcmaScript)は言語仕様を最小限に抑えていて
ブラウザのAPIはともかく、ファイルアクセスのAPIなんかも無いから
純粋なJavaScriptだけでスレを維持するのは話題が少なすぎて無理なんじゃないか?
純粋なJavaScriptのスレを立てても、ブラウザのAPIを
持ち出してくるアホがスレを荒らしていくだろう
- 880 :
- 別に外様APIを使うなと言ってるわけではないだろ
そのAPIやライブラリの機能についての質問が中心になるならよそでやれってことだ
- 881 :
- jQuery, Lodash で出来ることを、素のJS で書くのは、無理!
膨大な時間を消費するだけで、何も作れない・結果が出ないから、誰もやりたがらない
オライリーのデザインパターンみたいな本だろ。
素のJS で、発行購読・管制塔みたいな、イベントシステムを作りましたとか
こういうのは、ライブラリを作る方の話になるから、かなり高度
- 882 :
- > jQuery, Lodash で出来ることを、素のJS で書くのは、無理!
> 膨大な時間を消費するだけで、何も作れない・結果が出ないから、誰もやりたがらない
こういうことを平然といってしまえる人は、ライブラリ専用スレでやるべき
JavaScript総合スレでやるのは時間の無駄だし、バグリング君の二の舞になる
- 883 :
- バブリングも知らない人にはJavaScriptを自ら学ぶスレは高度すぎた
「それは学ぶだけ無駄なのでライブラリを使って解決して。原理は知らないよ」な回答しか出来ない奴だし
- 884 :
- >>882
+ jQuery 質問用スレッド vol.7
https://mevius.2ch.sc/test/read.cgi/hp/1466750494/
Lodashの扱いはどうするね
- 885 :
- >>884
> Lodashの扱いはどうするね
ライブラリ総合スレがある
JavaScript ライブラリ総合質問所 vol.5
https://mevius.2ch.sc/test/read.cgi/hp/1465399470/
- 886 :
- こんだけ似たようなスレが乱立する中
「すみわけ」のすの字も理解してくれない奴が居着くと大体こうなる
- 887 :
- >>881
楽ちんが良い人は他所で質問すればいい
ここは修行のためのスレだから
- 888 :
- >>885
ありがとうございます。
次からテンプレ等で誘導?
- 889 :
- 「ライブラリの質問」はそっち
「ライブラリではない質問」はここ
ただしライブラリを使った解答はここでしてもよい
(ライブラリを使わないスレではないので)
- 890 :
- ここで質問しても、素のJS で答える人は、いない。
かなりの手間が掛かるから
だから、jQuery の回答しか付かない
- 891 :
- 質問者は要素の指定方法を尋ねるけど、素人だから、CSS Selector を知らないだけ
だから実質的には、jQuery 内のsizzle エンジンの話。
sizzle を使うと、素のJS でやるよりも、簡単に要素を指定できるというだけ
多くのケースで、これ!
- 892 :
- モダンブラウザでquerySelector使える場合今のjQueryは内部でsizzle使わずquerySelector使うんだけど…w
- 893 :
- jQueryを作る側になれる人間の養成所であって
jQueryしか使えない量産雑魚プログラマーの回答なんていらんから
- 894 :
- >>890
俺は100スレ前からいるが、
素のJSで答えたことしか無い
jQueryスレとライブラリスレを何度も作ったのも俺だ
- 895 :
- 俺もいったり来たりしたが、jQueryスレは新スレが立たなかったな
>>884は重複スレで本来は
jQuery 質問スレッド vol.8
https://mevius.2ch.sc/test/read.cgi/hp/1508707878/
の後継スレが立てられるべきだった
jQuery房はこっちに居着く気満々でどっちのスレでも暴れてた
- 896 :
- 一度読み込んだjsをボタンを押すと無効にする方法をご教授ください。
- 897 :
- 一度観測された結果は覆りません
これ、量子力学の基本ね
- 898 :
- scriptタグでjsを読み込むというのは、
読み込んだjsファイルに書かれているjavascriptプログラムを実行するということ。
あなたの頭の中の無効の定義によるが、
例えばjs読み込む前にvar a = 3;が前の方で実行されてて、
読み込んだjsにはa = 8;と書かれてたとすると、
読み込んだらaの値は8になってるね?
これを3に戻したいのならa = 3;書いて実行するしかない。
一律「無効にする」「元に戻す」なんてのは(jsに限らず)ないから、
その読み込むjsにどういう処理が書かれてるのか、どういう状態に戻したいのかによって処理を書かなければならない。
- 899 :
- ご教示な
- 900 :
- 方法を知っている教授に来て欲しいのかも。
- 901 :
- 「ご教授ください」の意味とは?
https://smartlog.jp/145396#S14236219
「ご教授ください」とは、専門的な知識や技術を持っている人に教えてくださいとお願いを意味する敬語表現です。
「教授する」というのは、自分の知識や技術を教え与えるという意味。それに「ご」という丁寧語をつけているので、目上の人に対しても使用可能です。
例えば、新人が新しい職場に移ってきたとき、業務内容がわからず教わるシチュエーションなどで「ご教授ください」と丁寧な敬語表現として使用できます。
単に「教えてください」よりも「ご教授ください」の方が、相手から特別に専門知識を教わるという気持ちが強く表現できます。
また、ビジネスメールなどの文書よりも、直接相手に使用する話し言葉で用いるの方が多いのも特徴です。
ただし、誤用すると相手に失礼になってしまうので、くれぐれも使い方をマスターしておきましょう。
「ご教授ください」の正しい使い方とは?
「ご教授ください」には「ご」と「ください」という敬語表現が使われているので、目上や上司にも問題なく使用可能です。
使い方のタイミングとしては、相手から専門的な特別な知識なり技術なりを教わる時が基本です。
そのため、ちょっとした漢字や英単語を教えてもらうといった自分で調べればわかるようなことで使うと誤用になります。
「ご教授ください」はビジネスシーンで多く使われる表現ですが、新しい部署に移動したとき、新しいプロジェクトを任されたときなどのタイミングで使うのが一般的。
あくまでも、その人の得意分野や他の人では分からないようなことを尋ねる際に、「ご教授ください」は使うことを意識するようにしましょう。
- 902 :
- 「ご教授ください」を使用した例文
ご教授くださいを使った丁寧な例文
本日より当部署で働くことになりましたので、色々とご教授ください。
新規プロジェクトの管理を仰せつかりましたので、どうかご教授ください。
このたび御社の営業担当になりましたので、不明な点などご教授ください。
開発部から異動してきました。企画に関しては未熟ですのでどうかご教授ください。
関西支社から派遣されてきたばかりですので、色々ご教授ください。
多く見受けられるのが、新しい部署に異動した場合、すべてのことが未知な場合に上司に「ご教授ください」を使います。
その際、本当に教わる場合もありますが、新任の挨拶として「ご教授ください」を使う例文も上げています。
新しい部署や新規プロジェクトに参加するタイミングで「ご教授ください」を使うと、
例え教えてもらうことがなくても相手に好印象を与える効果が得られるため、シーンに応じて上手に使いこなしてみましょう。
- 903 :
- ここだけ20年前
- 904 :
- 教えを授ける 崇高 神
教えを示す さっさとやれ 無責任
- 905 :
- ご教授ください は
お教えを授けてください
ということになるので
そうお願いするということは
それこと神に慈悲を乞ってるようで
日常使いするのはおかしい
くださいと言うのなら
ご教示の方を使いましょう
- 906 :
- 現実で上手く行かないからどうにかマウントとりたくてしょうがない人の集うスレ
- 907 :
- ちょっと指摘されただけで顔真っ赤にして
コピペ長文クッサwwww
- 908 :
- バグリング君は今日も元気に煽っています
- 909 :
- クソスレ
- 910 :
- まともな人はjQuery君が追い出したからな
- 911 :
- あれ?と思った質問はこうやって炙り出すとすぐに本性を表します
- 912 :
- クソスレだとクソに失礼だしゴミスレにしよう
- 913 :
- ゴミに失礼だろ
ローカルくんのスレにしよう
- 914 :
- こいつらのせいで質問者が萎縮してる
- 915 :
- 大体、質問者のせい
- 916 :
- 萎縮(質問内容にに不備があると指摘されると逆ギレ)
- 917 :
- 質問者なんて存在しえないだろ
10バイト未満で「回答」が終わる
- 918 :
- と、約60バイトで煽るマヌケ
- 919 :
- 質問者のせいで回答者が敬遠してる
- 920 :
- 質問者はすなわち回答者である
- 921 :
- ここまで荒れたスレで質問する奴は凄いと思うぞ実際
- 922 :
- 期待値低で軽い気持ちで質問→回答されない→荒れる
- 923 :
- >>896 に対しては、端的には
const と let の違いを考えてみれば良い
で済むような
3という即値に結び付けられているモノ、8という即値に結び付けられているモノ、それぞれ考えれば良い
- 924 :
- >>896
読み込んだオブジェクトに、nil とか空オブジェクトなどを代入すれば?
読み込んだオブジェクトは、例えば、$(jQuery) などは、
global property か何かに設定されるのだろ?
- 925 :
- nilって流石にいい加減にしろよ
- 926 :
- 以上うんこ以下のスレでした
- 927 :
- nil と聞いて lisp を連想した奴はニカワ
- 928 :
- javascriptエンジニアは民度低いんか?
- 929 :
- 戦闘民族だぞ
- 930 :
- その読み込むjsにconsole.log('chinko');と書かれてたとしよう。
読み込まれたらコンソールにchinkoと表示されちゃってると思うが、その後にこれを無効化するとは?w
一体どうなれば正解、というかどうなって欲しいんだww
- 931 :
- >>930
console.log('foo');
を例に出すのは明らかに不適切だろうに
何らかの状態を「有効」にして、それを後から「無効」にすると考えるのが
普通の思考の流れ
だとしたら、その状態をスイッチするだけ
const で「有効な状態」「無効な状態」を保存して、let するだけじゃん
他にも方法あるかも知れんがな
- 932 :
- 不適切?w
あなたは>>896の言う「一度読み込んだjs」の内容を知ってるのかな?w
開示していただきたいねw
「無効」とはどういう状態を期待しているのか、もね。w
- 933 :
- >>932
ローカルくんやめな〜;;
- 934 :
- >>932
内容は正確には知らないが
console.log('foo'); との共通点はゼロと推察されるだろう
> 「無効」とはどういう状態を期待しているのか
ブラウザで読み込んだときの素の状態でしょ
その程度のことも推察できないのか
- 935 :
- じゃあボタン押したらリロードするだけじゃん(笑)
- 936 :
- >>760で指摘されてるが、回答しても>>685になるのがオチ(既にそうなりつたる)なので、あやしい質問には回答しないのが正しい
「JavaScript を自ら学ぶ人」と確信できる人にだけ回答すれば良い
- 937 :
- × 既にそうなりつたる
〇 既にそうなりつつある
- 938 :
- すでにそうなりつれば
このスレ意味なしとこそ思い至るべけれ
- 939 :
- そもそも>>863から>>896の2回目で怪しいことは馬鹿でも分かるだろ
普通に回答してる奴ほんと馬鹿
- 940 :
- >>935
jQuery だけど
https://webkikaku.co.jp/blog/webdesign/jquery_start/ の
6.クリックでclassの付け替えをする
みたいなのを考えてたんじゃね
あるいはDOM元に戻すとか
バカが叩き出したから真相は藪の中
- 941 :
- 普通に読めばjsが有効な状態で読み込んだページをボタンクリックにより
リロードすることなくjsが無効な状態で読み込んだかのようなページ状態にすると読めるだろ
そんなこと絶対にできるわけないけどな
- 942 :
- 読めません。
>>896は今のところ「一度読み込んだjs」としか言ってません。
妄想はやめましょう。
勝手に思い込みで作業して、
「〜のつもりだった」と後から言われ、追加作業を費用ゼロで対応しなければならなくなるパティーンです。
- 943 :
- あら
「絶対」って言い切っちゃったよこの人
これだけ荒れてる場で「絶対」とか
不用意に使えないし使いたくもないがな
まあ頑張って
- 944 :
- だったらjs無効で読み込めばいいだけの話だな
- 945 :
- >>942
>>936
- 946 :
- おまえら相当ストレス溜まってるんだな
- 947 :
- >>928
職場環境悪そうだよな
- 948 :
- 落とし込まれた設計書に基づいたコーダー稼業しかできないから
・js読み込まれる前の『状態』
・js読み込まれた後の『状態』
という発想自体が無いのかも知れんね
- 949 :
- 無効にすることはできるだろう
どんな状態を無効と言ってるのかは知らんが
過去改変でないのなら100%できないということは殆ど無い
ただしそのやり方を一緒に考えてやる気は100%ない
- 950 :
- 考える気ないなら一切発言しなければ良い
ここは質問用スレッドという名前のスレッドであって「質問者叩き用スレッド」ではない
- 951 :
- 確かに
答える気もないのに「俺は知ってる」レスだけする奴は何がしたいの
- 952 :
- ID は sage なければ出るんかいな
- 953 :
- ok
「ID を出していない発言は全て『荒らし』です」
で良いかもしんない
- 954 :
- と言った自分が外れてたら世話ないな
- 955 :
- ワッチョイ付けろ
有用なスレなのにもったいない
- 956 :
- >>950 踏んだので立てたんだが…。
+ JavaScript の質問用スレッド vol.140 +
https://mevius.2ch.sc/test/read.cgi/hp/1558249632/
この板ってワッチョイ付けられたん???
上位20スレ全て付いてなかったが…
- 957 :
- !slip 使ってみるテスト
- 958 :
- !slip:vvv だとどうなるんだろう
- 959 :
- !slip:vvvv をテストしてみる
- 960 :
- !slip:vvvvv だとこうか
- 961 :
- そんな訳で2案。
1. age 進行
2. 回答者は !slip:vvvvv を名前欄に
対案あったらどうぞよろしくお願いします。
- 962 :
- !slip:vvvvv
>>961
1,2共に構わないが、なぜ質問者は例外?
- 963 :
- 質問者についても統一的に「名前欄 !slip:vvvvv かつメール欄空欄」がベターでしょうか。
一層なりすましが防止できそう、かな??
>>962
テンプレ( >>1 )に
> ・メール欄を空欄にし、名前にレス番を入れることを強く推奨(なりすまし防止)
とあるので、どうしたものかなあと。
- 964 :
- 962!slip:vvvvv
- 965 :
- >>963
> ・メール欄を空欄にし、名前にレス番を入れることを強く推奨(なりすまし防止)
このルールはなりすまし防止目的だから、回答者が !slip:vvvvv する以上、質問者も倣うべきだと思う
質問者だけ例外にすると>>685が一目で区別できなくなる
「962!slip:vvvvv」のようにレス番を入れる事も可能なので、質問者観点でも入れていいかと
- 966 :
- わっちょいとか要らん
そんな健全で厳かな質問所が良ければ他所でやればいい
馴れ合いも荒らしも馬鹿も居てこその2chだ
追加でそういう避難所を建てることは今までもあったが
かってに138スレの伝統を無視して本スレにそういうのを導入すんな
マジでやめてくれ
- 967 :
- そんなら>>966が元祖後継スレを建てりゃいいんじゃね
>>956は他所ということで
- 968 :
- 俺もわっちょいは過疎るだけと思うけど、
伝統ってwクソスレに伝統も糞もあるかよ
- 969 :
- 馴れ合いたいだけなら実況板行っとけよ伝統ジジイw
- 970 :
- 荒らしが散々、テンプレを改変しておいて伝統とは…、どの口がいうんだろうな
- 971 :
- >>968
もともと、過疎っていたし、数人でまわしている認識だったが
質問者も実際には1-2人しかいなかったんじゃないかね
- 972 :
- >>951
答えて欲しいのなら最低限の質問をしろ
そうでないとこちらもこの程度の回答しかできないという皮肉が分からんのか
- 973 :
- >>971
質問者と回答者合わせて3,4人ってとこ
過疎らせることになるって分かってて始めるんだから
建てる人はちゃんと責任持って維持していってよ
- 974 :
- ジジイイライラか?
- 975 :
- >>973
> 過疎らせることになるって分かってて始めるんだから
元々、過疎っていたのが表面化するだけで過疎具合は何も変わらないって話
荒らしと共存するなら現状維持でいいんだろうが、君は荒らし容認派?
> 建てる人はちゃんと責任持って維持していってよ
意見を出す以上はある程度の責任は発生するだろうが、今後ずっと維持するのはだれも責任を持てないと思うのだが
現状維持の君も、現状維持される事に決まったら、スレを維持する責任を持てるのかね?
- 976 :
- そろそろ、言い出しっぺの>>961に出てきてほしいところ
だが、否定ばかリで対案が全く出てこない
sage潜伏で人数不明と前向きな意見が出る気配がないな…
- 977 :
- javascript読込無効にするならできるだろ
読込無効とはデバッグモードでjsファイルが表示されない事と定義
ファイルAPIにて該当jsファイル削除→htmlリロード
でいんじゃない?まぁ質問されたやりたい事とは違うと思うけど。
- 978 :
- 争点は「問題点の認識」にあると思った
(1) 問題点
1. 現状に問題はない
2. ローカル君(バグリング君)の荒らし対策が必要
3. 自ら学ぶ意志のない質問者対策が必要
4. その他 (自由欄)
(2) 原因と対策
問題がないと思う人はその理由。
問題があると思う人は「原因と対策」
※sage進行者は複数人になれるので、内容を見て、ある程度の間引きは必要
- 979 :
- 現状に問題がある
バグリングくんの対策が必要
- 980 :
- デバッグモードwwwww
- 981 :
- >>978
2と3
原因=ID不明で誰が誰か分からない。スルー対象を見分けにくい
対策=ワッチョイ
- 982 :
- >>961は名無し潜伏か
- 983 :
- 961!slip:vvvvv
- 984 :
- age 進行を基本とする(例外は今後の課題)
質問者は !slip:vvvvv を名前欄に、その後は「レス番」+!slip:vvvvv
回答者は !slip:vvvvv を名前欄に
この2つを適用する方向でok?
- 985 :
- okじゃないな。一人でやってろ。
- 986 :
- >>985
えっと。
まず、1人でやってる訳ではないです。
上記の内容から分かるように、私だけの意見ではありません。
- 987 :
- さらに
HTML/CSS のどんな質問にも優しく答えるスレ 38
https://mevius.2ch.sc/test/read.cgi/hp/1555113111/611
611 名前:Name_Not_Found[sage] 投稿日:2019/05/21(火) 12:47:08.01 ID:???
>>602
> なおweb制作板にも類似スレあるけど、マウントして回答者を罵る人が多すぎて
> 対策を検討中なので、落ち着くまでは質問しないことを推奨
正直、良識ある人が少ないので、落ち着くまで静観されるよりも積極的に意見を出して欲しいのだけどね
まず、これは私ではありません。
もう1人の方だと主張される可能性は否定しませんが、
内容を実質的に検討すれば、「少なくとも3人」ということになりませんか。
- 988 :
- 加えて、文責を明確にするのは、一般社会では重要です。
それを否定したいという立場なのは理解しましたが、否定する論拠は何でしょうか。
その論拠が無い限り、「あなたの主観にすぎない」「スレッドの方針として、意見・立場につき否定したいだけ」と
解釈せざるを得ません。
論拠を出してください。
- 989 :
- 全部自演じゃんw
- 990 :
- >>989
どちらにせよお前は一人で否定してるだけだけどな
- 991 :
- いや俺も反対だわ
- 992 :
- なりすましを防ぐために、質問者は、age て書けば?
その書き込み以後、そのレス番号を名前欄に入れて書くこと!
- 993 :
- ID隠した反対しかいないけど、何人なんだろうね
- 994 :
- 一日で質問者が解決するならIDでいいが、回答絶賛放置中な質問者ばかりなので、ワッチョイの方が有り難い
- 995 :
- sageて反対だわとか言ってるやつは荒らしやで
- 996 :
- >>995
バカか
終わりかけのスレ挙げるほうが荒らしだわ
- 997 :2019/05/22
- >>996
そういう奴は反対せず、次スレ不要を主張すべき
+ JavaScript の質問用スレッド vol.127 +
【Web制作管理】自治スレッド 2
厨房サイトがザクザク出てくる検索用語〜Part2〜
手とり足とり教えるスレ part3
1日1000hitだけどアクセス解析入れました。
【ラクできず】楽天RMS【儲からないシステム】
404 Not Found (Err.2)
色々なHTML
第21回 厨房メール展覧会
フリーランス、SOHOのためのコミュニティを作ろう
--------------------
パワートレーニング B
刃牙道スレのアンチ達がウザかったが新バキスレでは自重しろよ
【BD】SONY Blu-ray & DVDプレーヤー総合 3【DVD】
【相撲】白鵬、先場所負けた大栄翔を張り差しやかち上げで圧倒…稽古総見で
機動戦士ガンダム鉄血のオルフェンズアンチスレ163
有識者「オタクはもう深夜アニメは見てない。ソシャゲがオタクのメインコンテンツになった」 [439232695]
あぁ 俺ってもてないんだぁと思う瞬間Part146
JUNKサタデー エレ片のコント太郎 Part64
(◎)撮影のできる銭湯を探しています。
【安田純平さん新映像か】なぜ日本語で「韓国人です」と主張?
【エロマンガ先生】伏見つかさスレ653【俺の妹】
【多角】ダブルヒロインってどう?【関係】Part56
BLEACHの織姫・織姫信者・一織真性など総合アンチスレ102
女子高生の無駄づかい #3/脱ぎたてのパンツの価値★6
【無名】東京の武将たち【知りたい】
林原めぐみってブスなのに超絶人気だった なぜ? [298194473]
なんか普通に語り合うスレが欲しいわ
田代まさしを、ベストジーニストにしよう!!
【総合】黄金の太陽 その74
【埼玉】新座/志木/朝霞/和光のラーメン 29
TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼