- 1 名前:デフォルトの名無しさん mailto:sage [2016/05/22(日) 19:51:33.37 ID:WwOYSBmy.net]
- JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-4のテンプレを読んだ上で質問してください。次スレは>>950が>>2のテンプレ案(本スレで改善案があれば考慮)を元に立ててください ■質問を書く上で (1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。 (2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。 (ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など) (3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。回答者はなりすましを判断できませんので、なりすましが現れても自己責任となります。 (4) 常に自発的に調べる心構えを持ってください。 具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。 わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。 (5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。 (6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。 ※必ず「問題の事象が再現されること」を確認してください。 必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。 (7) サンプルコードに HTML が含まれる場合は validator.w3.org/ で [Check] してみてください。 (8) 質問を具体的かつ詳細に書くと回答を得られやすいです。>>2の質問テンプレートを活用してみてください。 (9) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。
- 741 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 10:53:48.22 ID:49KWKmmu.net]
- <input id="a" type="text">
document.getElementById('a').addEventListener('input', function(e) { console.log(e); }, false); enterキーを押した時だけログがでないんですがどうしてですか?
- 742 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 13:22:34.63 ID:z24FpIHh.net]
- function test1() {
return new Promise(function(resolve, reject) { // 非同期な処理 }; } function test2() { return new Promise(function(resolve, reject) { // 非同期な処理 }; } 上記の関数を逐次実行したい場合、 Promise.resolve() .then(() => { let promise = test1(); promise.then(() => { console.log('test1 OK'); }).catch(function(e){ console.log('test 1NG'); }); return promise; }) .then(() => { let promise = test2(); promise.then(() => { console.log('test2 OK'); }).catch(function(e){ console.log('test2 NG'); }); return promise; }) }); って書くってことであっていますか?意図通り動くのですが、回りくどいし見にくい気がして
- 743 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 13:28:02.54 ID:z24FpIHh.net]
- >>721
document.getElementById('a').addEventListener('keydown', function(e) { console.log(e); }, false); keydown にすればenterも拾える
- 744 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 13:30:40.39 ID:qpxG5nAO.net]
- >>722
そんなわけなかろうw いまゲームしてるからちょっと待てwww
- 745 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 13:32:40.70 ID:z24FpIHh.net]
- >>720
splitだけでその配列を取得するのは無理
- 746 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 13:33:55.65 ID:z24FpIHh.net]
- >>724
お、ありがとうございます たのんます
- 747 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 13:40:53.70 ID:lYop9Jcb.net]
- >>720
それ戻り値["a"]じゃね? とりあえず脳内補正で第二引数は2だとするとjavascriptのsplitだとその希望の動作にはならない 第二引数なしでsplitして[t[0],t.slice(1).join(',')]とか indexOfとsubstring組み合わせて自分で切り出すとか 他にも色々やり方はあるので要求に合った方法を考えて関数化しとけばいいよ
- 748 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 13:48:58.73 ID:7whaN/tJ.net]
- >>720
indexOfでインデックスを取得してslice
- 749 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 13:49:03.57 ID:z24FpIHh.net]
- 722ですがこっちですかね、余計見にくいような気もしますが(アロー演算子のせい?)
test1().then(() => { return test2(); }, () => { console.log('1のNG'); }).then(() => { // 1 も 2 も成功 }, () => { console.log('2のNG'); }).catch(function(e){ console.log('ここにはいつくるんだろう?'); });
- 750 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 13:52:05.82 ID:ousMayNp.net]
- >>722
thenの結果は自動でプロミスに変換されるから、function test2 のなかでプロミスを作らなくておk シンプルにfunction test2(previousResult) { // 非同期な処理 return resTest2} としておいて test1 .catch(resTest1 => resCatch1) .then(test2) .catch(resTest2 => resCatch2) 〜 とつなげればいい 一個目のcatchを省略した場合、 test1でエラーが起きると最後のキャッチにジャンプする
- 751 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 13:54:20.50 ID:7whaN/tJ.net]
- >>721
可能性はいくつかある - input要素で [Enter] キーを押している - IME変換時に [Enter] キー
- 752 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 13:56:06.15 ID:ousMayNp.net]
- >>729
thenの第二引数をcatchとして使うと、そのthenで起きたエラーは拾わなあいから、必要ないときはcatchを使ったほうがいいよ 分かり易いから
- 753 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 13:56:58.21 ID:qpxG5nAO.net]
- >>729
ほらよ。ついでに値の渡し方も書いておいたぞ。 thenの戻り値としてPromiseではないものを返せるところにも注意な。(return textの所) あと、最初はPromise.resolveで始めなくても、いきなりtext1("sample").then でも良い。 function test1(text) { return Promise.resolve(text); //return Promise.reject(text); } function test2(text) { return Promise.resolve(text); //return Promise.reject(text); } Promise.resolve("sample") .then(text => test1(text)) .then(text => { console.log("test 1 OK:" + text); return text; }) .catch(text => { console.log("test 1 NG:" + text); return text; }) .then(text => test2(text)) .then(text => { console.log("test 2 OK:" + text); }) .catch(text => { console.log("test 2 NG:" + text); });
- 754 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 14:06:33.76 ID:qpxG5nAO.net]
- ただ、一直線に書くとtext1とtext2の
- 755 名前:範囲なのかわかりづらいから
>>722を少し改良したこれでもいい気もしてきたな。 Promise.resolve("sample") .then(text => test1(text) .then(text => { console.log("test 1 OK:" + text); return text; }) .catch(text => { console.log("test 1 NG:" + text); return text; }) ) .then(text => test2(text) .then(text => { console.log("test 2 OK:" + text); }) .catch(text => { console.log("test 2 NG:" + text); }) ); [] - [ここ壊れてます]
- 756 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 14:09:27.96 ID:qpxG5nAO.net]
- なお、もちろんこう書くこともできるし
function test1(text) { let p = Promise.resolve(text); //let p = Promise.reject(text); return p.then(text => { console.log("test 1 OK:" + text); return text; }) .catch(text => { console.log("test 1 NG:" + text); return text; }); } function test2(text) { let p = Promise.resolve(text); //let p = Promise.reject(text); return p.then(text => { console.log("test 2 OK:" + text); return text; }) .catch(text => { console.log("test 2 NG:" + text); return text; }); } Promise.resolve("sample") .then(text => test1(text)) .then(text => test2(text));
- 757 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 14:18:57.19 ID:qpxG5nAO.net]
- catchをthenの機能に含めて、こういう書き方もできる。
Promise.resolve("sample") .then(text => test1(text)) .then(text => { console.log("test 1 OK:" + text); return text; }, text => { console.log("test 1 NG:" + text); return text; }) .then(text => test2(text)) .then(text => { console.log("test 2 OK:" + text); }, text => { console.log("test 2 NG:" + text); });
- 758 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 14:27:30.76 ID:lYop9Jcb.net]
- >>729
まずtest1とtest2の中の非同期でresolve(戻り値)またはreject(エラーの原因)を呼んでる事は前提とすると function err(e){console.error(e);}; function finish(val){console.info("終了",val);}; test1().then(test2).then(finish).catch(err); thenで第二引数を渡さなければrejectもcatchに飛ぶのでこれで充分なはずだけど?
- 759 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 14:30:46.97 ID:qpxG5nAO.net]
- .then(text => test1(text)) は
.then(test1) これでよかったな。
- 760 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 14:38:51.52 ID:qpxG5nAO.net]
- 他にもいろいろ書き換えてみたけど、これが俺の中でベストかな
Promise.resolve("sample") .then(test1) .then(text => { console.log("test 1 OK:" + text); return text; }, text => { console.log("test 1 NG:" + text); return text; } ) .then(test2) .then(text => { console.log("test 2 OK:" + text); }, text => { console.log("test 2 NG:" + text); } );
- 761 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 14:51:32.54 ID:z24FpIHh.net]
- 皆さんありがとうございます。
まだ若干こんがらがってますが、理解がだいぶマシになりました。 test2はプロミスにしなくてOKということですが、 test2を単独で使用する可能性がある場合は今のままでも大丈夫ですよね...?
- 762 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 14:52:59.75 ID:z24FpIHh.net]
- 皆さんのを参考に
function test1(text) { return new Promise(function(resolve, reject) { setTimeout(() => { reject(text); }, 1000); }); } function test2(text) { return Promise.resolve(text); } Promise.resolve("sample") test1("test") .then(text => { console.log("test 1 ok " + text); return text; }, text => { console.log("test 1 ng " + text); return text; }) .then(test2) .then(text => { console.log("test 2 ok " + text); }) .catch(text => { console.log("test 2 ng " + text); }); こういうのを書いてみたのですが、 test1でrejectしてもそのままtest2に入ってきましたが、これはこういうものでしょうか?
- 763 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 14:54:43.38 ID:z24FpIHh.net]
- すみません、>>741の Promise.resolve("sample")は不要ですね
- 764 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 15:02:45.38 ID:qpxG5nAO.net]
- >>741
> test1でrejectしてもそのままtest2に入ってきましたが、これはこういうものでしょうか? あれ?そういう仕様だと思ってたよw じゃあ書き換えが必要だね。 いまゲームしてるから(ry
- 765 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 15:15:57.87 ID:HfDVf1Az.net]
- >>741
www.html5rocks.com/ja/tutorials/es6/promises/
- 766 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 15:28:56.46 ID:z24FpIHh.net]
- 何度もすみません。
>>743-744 ありがとうございます、そのサイト見てたはずですが見落としていました だいたい理解できました。 一連の質問は解決ということで問題ないです。 皆さんありがとうございました。
- 767 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 23:31:55.96 ID:aNvZce14.net]
- imeオンオフに関わらずEnterキーが入力されたか確認する方法を教えてください
- 768 名前:デフォルトの名無しさん mailto:sage [2016/06/19(日) 01:39:49.43 ID:XpUIM/8a.net]
- >>746
IME周りはブラウザ毎に実装が違ったりして面倒なので全てのブラウザで動くとは保証出来んが keydownでキーコード229,0,13を拾えばだいたい拾えるんじゃないかね?
- 769 名前:デフォルトの名無しさん mailto:sage [2016/06/19(日) 01:54:37.93 ID:jkRTuMFS.net]
- おしんとひこうきぴゅんぴゅん
- 770 名前:デフォルトの名無しさん mailto:sage [2016/06/19(日) 15:42:45.26 ID:j/5yp6z/.net]
- 古いソフトのプラグイン頼まれたんだけど新しめのESで追加された機能がほとんど使えなくて難儀してる
よくわからないんだけどこういうのって作者が対応すれば使えるようになるの? VSなんかだと参照突っ込むだけで機能使えるようになるけど そういうお手軽はお話じゃないんかね
- 771 名前:デフォルトの名無しさん mailto:sage [2016/06/19(日) 19:29:55.99 ID:fmRoj+h3.net]
- なんのエンジン使ってるか知らんが例えばV8でも無理でーす
奴らは自分のブラウザで動けばいいので毎日のように互換性壊しまくりのスケ〜
- 772 名前:デフォルトの名無しさん mailto:sage [2016/06/20(月) 18:11:29.60 ID:tys3WiX6.net]
- javaでいうTreeSetを使いたいのですが、ありますか?
- 773 名前:デフォルトの名無しさん mailto:sage [2016/06/20(月) 18:48:32.16 ID:hRWj67CX.net]
- (非数字)文字列ならオブジェクトのプロパティとして加えていって列挙すればソートされてる
- 774 名前:デフォルトの名無しさん mailto:sage [2016/06/21(火) 00:26:47.70 ID:qdV120KE.net]
- リンクをクリックするとJavaScriptでページ遷移するウェブページで、遷移する先のURLを事前に取得する方法はありますか?
意図としてはページに飛ばされる前にどこに飛ぶのか判断したいためです。
- 775 名前:デフォルトの名無しさん mailto:sage [2016/06/21(火) 00:47:36.70 ID:Zouo8B6w.net]
- >>753
JavaScriptでページ遷移するなら遷移先URLもJavaScriptで分かっているはずなのだが
- 776 名前:デフォルトの名無しさん mailto:sage [2016/06/21(火) 08:14:40.47 ID:vlWZNI1X.net]
- >>754
最終的な遷移先のURLを鯖側で生成してたらわからんけど
- 777 名前:デフォルトの名無しさん mailto:sage [2016/06/21(火) 09:06:55.19 ID:zhgdBgoI.net]
- >>754
説明が足らずすみません。 他者が作ったウェブサイトの環境で、ブラウザの拡張機能などで自前のJavaScriptを実行して判断したいということでした。 そういうことだと>>755さんの言うとおり、他者のサーバで生成してるからわからないってことになりそうですね。
- 778 名前:デフォルトの名無しさん mailto:sage [2016/06/21(火) 11:17:04.95 ID:Zouo8B6w.net]
- >>756
URLの生成規則を探すとか、JavaScriptコードを読んでコードから遷移先URLを得る、とか一概には言えないと思う
- 779 名前:デフォルトの名無しさん mailto:sage [2016/06/21(火) 12:14:28.77 ID:VoVagir1.net]
- >>756
クライアントが移動先を知ってるなら取る方法はない訳ではないが 鯖側でリダイレクトさせる場合にはAjaxでリンクを踏んで戻った内容からリダイレクト先をスクレイピングするとかしないと無理だろうね つまり画面遷移をせずにリンク先を取得する事は可能、鯖と通信せずにリンク先を取得する事は不可能なケースがある クライアント上で動作している以上、クライアントが知らない情報は取得出来ない
- 780 名前:デフォルトの名無しさん mailto:sage [2016/06/21(火) 13:29:33.82 ID:NcocGzZA.net]
- いや、どこに跳ぶかを判断したいくらいなのだから、
いろんな方法・想定で常識的な範囲で全て判断できると言えるだろう
- 781 名前:デフォルトの名無しさん mailto:sage [2016/06/21(火) 19:00:28.03 ID:s0xSal8K.net]
- VBのFormsみたいなフレームワークってないすか?
デザイナでペタペタ配置してロジックは画面オブジェクトにハンドラを書くだけ的なやつです
- 782 名前:デフォルトの名無しさん mailto:sage [2016/06/21(火) 19:02:39.48 ID:rJ2mr4JY.net]
- >>760
ホームページビルダで出来ない? 使ったことないから知らんが
- 783 名前:デフォルトの名無しさん mailto:sage [2016/06/21(火) 20:02:34.86 ID:zhgdBgoI.net]
- >>757
>>758 丁寧に回答していただきありがとうございます。 リンククリック時のJavaScriptからレスポンスを解析してURLを取得できるかを試してみます。
- 784 名前:デフォルトの名無しさん mailto:sage [2016/06/21(火) 22:07:52.39 ID:8xYufxWO.net]
- var fs = require('fs');
var data = "write text test!"; fs.writeFile('writetest.txt', data , function (err) { console.log(err); });
- 785 名前:デフォルトの名無しさん mailto:sage [2016/06/21(火) 22:09:11.15 ID:8xYufxWO.net]
- このくらいのプログラムをNodejsで作ってNodejs上ではもちろん動きましたが
- 786 名前:デフォルトの名無しさん mailto:sage [2016/06/21(火) 22:14:12.35 ID:8xYufxWO.net]
- webpack上では動きません。
先にNodistを入れたのですがUpdateすると依存関係のエラーが多かったので Nodejp単体で入れることにしました。 ところが npm install webpack -g とかするとなぜかNodistのフォルダに入ってしまいます。 そのせいでビルドができてないのでしょうか。 経験のある方お願いします。 スレ違いなら誘導していただけるとありがたいです。
- 787 名前:デフォルトの名無しさん mailto:sage [2016/06/21(火) 23:28:49.59 ID:8xYufxWO.net]
- 変換したものは長くてここに表示しきれないですが
require is not defined と出ますね。 一応webpackは通したのですが。 ブラウザはFirefoxです。
- 788 名前:デフォルトの名無しさん mailto:sage [2016/06/22(水) 00:14:59.67 ID:azjhZ3WA.net]
- javaScriptのSetってSetとWeakSetしかないんですか?
SortedSetが欲しいです
- 789 名前:デフォルトの名無しさん mailto:sage [2016/06/22(水) 07:19:51.98 ID:cIEa5wGZ.net]
- ソートっていろんな種類があるからねぇ。
自分で作ったら?
- 790 名前:デフォルトの名無しさん mailto:sage [2016/06/22(水) 11:58:39.11 ID:q9pILfZy.net]
- Nodist を アンインストールしてその後、 Node.jsを入れたのですが
npm root -g としてモジュールがインストールされるディレクトリを見ると C:\Program Files (x86)\Nodist\bin\node_modules なっています。 環境変数も見ましたがNodistの残骸が残っているようにはありません。 どこにNodistの情報が残っているのでしょうか。
- 791 名前:デフォルトの名無しさん mailto:sage [2016/06/22(水) 14:53:18.59 ID:q9pILfZy.net]
- ユーザーディレクトの下にprefixの設定が残っていたようです。
- 792 名前:デフォルトの名無しさん mailto:sage [2016/06/22(水) 14:58:05.09 ID:q9pILfZy.net]
- npm config lsで調べて上記のことが分かったのですが、未だに
require is not defined のエラーが解決されません。 /***/ }, /* 2 */ /***/ function(module, exports) { module.exports = require("fs"); /***/ } /******/ ]); どうもコメントばかりついていてうまく変換されたように見えません見えません。
- 793 名前:デフォルトの名無しさん mailto:sage [2016/06/22(水) 21:00:04.72 ID:/0SrxieV.net]
- 誰としゃべってんのこいつ
- 794 名前:デフォルトの名無しさん mailto:sage [2016/06/23(木) 00:00:47.49 ID:wmr/9KTO.net]
- >>769-771
恐らく環境変数node_pathがNodistのディレクトリのままだろうから書き換え あとfsのようなNode.js用モジュールはWebpackでバンドルできないはず Webpackからファイル読みたい場合はLoader使って事前に含めるしかない
- 795 名前:デフォルトの名無しさん mailto:sage [2016/06/23(木) 01:13:09.29 ID:Lewr0A8P.net]
- ありがとうございます。
Webpackからは基本できないのですね。 set コマンドでは NODE_PATH=C:\Users\habu\AppData\Roaming\npm\node_modules アンインストーラーを使っても環境変数を調べてもどうにもならなかったので アンインストーラーが削除し忘れた "C:\Users\xxxx\.npmrc" を手動で削除したらパスの通ったところにモジュールをインストールするようになりました。
- 796 名前:デフォルトの名無しさん mailto:sage [2016/06/23(木) 12:30:54.99 ID:TKILd+kM.net]
- IE11,Edge,Firefox,Chrome,safari,Operaの6つのブラウザを同時に起動してるんですが
javascriptを更新したらブラウザに切り替えてページ更新するのが面倒くさいんですが ファイルが更新されたら自動的に更新する方法ありませんか?
- 797 名前:デフォルトの名無しさん mailto:sage [2016/06/23(木) 12:33:06.98 ID:p9xHkbsy.net]
- >>775
定期的にリロードするようにしたら良いんじゃないの?
- 798 名前:デフォルトの名無しさん mailto:sage [2016/06/23(木) 14:14:01.07 ID:1rhmo8jO.net]
- ファイルを監視して更新があったらブラウザのウィンドウをアクティブにしてリロード操作(F5?)のイベントを送るツールでも作ればいいんでない?
- 799 名前:デフォルトの名無しさん mailto:sage [2016/06/23(木) 15:28:59.42 ID:it3byhHh.net]
- >>775
簡単に出来ますよ
- 800 名前:デフォルトの名無しさん mailto:sage [2016/06/24(金) 11:16:15.69 ID:M5Y9qYOR.net]
- >>773
いまいち例が無くてどのローダーを使えばテキストファイル出力ができるのか 分からないです。 ホームページで確認してraw-loaderがUTF-8に出力するみたいなことを書かれていた GreasemonkeyからinnerTextをテキストファイルに出力したいだけなのですが かなり敷居が高いようですね。 色々なサイトで実験されている
- 801 名前:デフォルトの名無しさん mailto:sage [2016/06/24(金) 11:22:06.51 ID:M5Y9qYOR.net]
- みたいなのですが、セキュリティがらみなので改善(改悪?)されてできなくなったところが多いです。
raw-loaderの使い方の例がもう少しサンプルで出されているサイトがあればいいのですが。 あと、少し2ちゃん専用のソフトの使い方になれてなくて間違えて文章を途切れ途切れに 送ってしまったことをお詫びします。
- 802 名前:デフォルトの名無しさん mailto:sage [2016/06/24(金) 12:30:59.24 ID:V/itJnf4.net]
- Loaderは読み込んでバンドルするだけで書き込みはできないよ
ブラウザから書き込みしたいなら拡張機能のAPIを探すしかない
- 803 名前:デフォルトの名無しさん mailto:sage [2016/06/24(金) 14:35:52.18 ID:M5Y9qYOR.net]
- >>781
そうなんですか。どこを探しても無理なわけですね。 拡張機能と言うのはブラウザの拡張機能ですか? 煮詰まったので今のところはローカルにapacheでサーバーを立てて PHPでアクセスすることを考えています。 それでだめなら拡張機能のAPIを探すことを考えています。
- 804 名前:デフォルトの名無しさん [2016/06/24(金) 23:07:00.20 ID:qTbX1cTa.net]
- プログラミングに詳しい方々がいると聞いて質問しにきました。
初心者なので説明力、知識が乏しいですが申し訳ありません。 私は、不特定多数の人が画像をサイト上のみで「読み込み→編集→ダウンロード」を全てできる画像編集サイトを作ろうと思っていて、 色々調べている内にImageMagickと言うプログラムにたどり着きました。 ですが使い方などが全くわからず、困っております。現在xサーバーを利用していてホームページを取得しています。 xサーバーは公式で既にImageMagickがインストールされているということです。(この事についてもいまいち分かりません) どなたか分かりやすく画像編集サイトの作り方を教えていただけませんでしょうか。 OSはwin7 64bitです。 本当に困っています。
- 805 名前:デフォルトの名無しさん [2016/06/24(金) 23:12:05.32 ID:Fo67yJqk.net]
- >>783
PHPで作った方がいいと思うよ PHP板行ったら? echo.2ch.net/test/read.cgi/tech/1466683550/
- 806 名前:デフォルトの名無しさん [2016/06/24(金) 23:14:07.58 ID:qTbX1cTa.net]
- >>784
PHP板にてここで聞いた方がいいと言われ、質問いましました
- 807 名前:デフォルトの名無しさん [2016/06/24(金) 23:14:44.48 ID:Fo67yJqk.net]
- >>785
jsじゃ無理だよ PHPじゃないと出来ない
- 808 名前:デフォルトの名無しさん [2016/06/24(金) 23:16:31.66 ID:Fo67yJqk.net]
- 一番簡単に作れるのは、Ruby
Rubyスレ行ってみたらどうだ?
- 809 名前:デフォルトの名無しさん mailto:sage [2016/06/24(金) 23:28:09.79 ID:V/itJnf4.net]
- >>782
その通りブラウザ拡張機能のAPI でもローカルにHttpd立てていいなら>>763の弄って使えばいいんじゃない どうせグリモンで動かすUserScriptからHTTPでやり取りするんだろうし >>783 まず画像を読み込んで編集して保存するのはJSで出来る 画像を不特定多数でどう扱うのかによってはサーバー側の実装も必要だけど これもNode.jsを使えばJSで作れる、因みにこっちはPHPでも作れる ただ作り方となると手順が膨大だから一々説明してられん 「JavaScript ファイル読み込み」など一つずつググって勉強するしかない
- 810 名前:デフォルトの名無しさん mailto:sage [2016/06/25(土) 11:12:38.28 ID:FcXCwkAU.net]
- textareaで入力した位置を知る方法ありませんか?
- 811 名前:デフォルトの名無しさん mailto:sage [2016/06/25(土) 11:24:52.49 ID:YFtEcFF6.net]
- >>789
コピペなんかも含めると、入力される前の文字列をバッファしておいて、今回文字列と一番最初に差異が発生する文字まで素直に比較するほうが早いんじゃないかな。
- 812 名前:デフォルトの名無しさん mailto:sage [2016/06/25(土) 18:02:11.94 ID:4KOaD2nt.net]
- >>789
selection とか range で調べるよろし >>790 aaa => aaaa どこだと思う?
- 813 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 00:07:56.02 ID:nF43cUdI.net]
- いつもは、ネットと、日経ソフトウェアを毎月買ってるから、
日経ソフトウェアのJavascript特集しか読まないんだけど、 久しぶりに書店でJavascriptの本あさってたら、 JAVAの本と混同してJavascripの本が並べてあった。 何十人かに試したことあるが、プログラム興味ない人がらみたら、 JAVA=Javascripの省略して言うとJAVA Javascrip=JAVAの正式名称 って認識しかしてないからな。
- 814 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 05:07:36.84 ID:G2D2TVQW.net]
- コードの問題。
例えば旅行本だと国別に区切られてるが、プログラミング言語にはそれがない。
- 815 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 05:45:31.43 ID:FIFPZYCa.net]
- >>792
自分の住んでる地元の一番大きい本屋もまんまこれだった CとかVBAとか有名な言語は分類札付けて、カテゴリ分かれてるのに JavaScriptだけJavaの所に全部突っ込まれてる
- 816 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 08:11:55.58 ID:lQezokMe.net]
- JQueryを使ってテキストフォームを扱っていますが、項目数が増えさらにページ遷移が増えました。
JQueryよりもそういうことを扱うことに長けたフレームワークみたいなのがあればそちらに移りたいのですが何かそういったことを補助してくれるようなものはありませんか?
- 817 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 10:40:37.56 ID:TQCRDnYp.net]
- >>795
具体的に何がしたいのかがわかならい エスパーするとJQueryの使い方がわからないってことかな?
- 818 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 11:55:24.56 ID:9G4pt3CC.net]
- DOM書き換えでのページ管理に限界を感じてるからjQuery捨てたいみたいな感じ?
学習コストかかるだろうけど、流行ってるReactとか
- 819 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 12:24:25.89 ID:rwwPSVEU.net]
- どうも使い方が分かっていない人が多いよね
センスがないとでも言うのだろうかw
- 820 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 12:39:49.80 ID:AVATszy2.net]
- ライブラリ質問はスレ違いといいたいところだが、テンプレが改変されてたんだった
Web制作板の荒れようをみるにプログラム板にもライブラリスレを持ってくるべきなんだろうが、統合する流れでいいのかね あるいは、べつにスレを立てるべきか
- 821 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 12:51:24.25 ID:mFfhShD5.net]
- vol.120でまともなテンプレで建て直していいんじゃね
あっちのライブラリスレもこの板に移す話はあったんだけどよくわからんな
- 822 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 14:02:23.24 ID:8VkrGxxn.net]
- reactの質問はどこでしたらいいですか?
- 823 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 15:09:43.72 ID:Tksz8qNK.net]
- >>801
Yahoo知恵袋がおすすめ
- 824 名前:デフォルトの名無しさん [2016/06/26(日) 15:12:21.33 ID:GJBR8D9H.net]
- >>802
javaの道(掲示板)がおすすめ
- 825 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 20:07:37.03 ID:YbtLHjt0.net]
- <img src=x onerror='alert(1)'></img>
みたいにHTMLエンティティがエスケープされてるテキストノードをtextContentで参照するとエスケープが解除されるので、innerHTMLに代入した瞬間にalertが鳴るよって記事をどっかで見たんだけど、 誰か見覚えあってURLわかる人おらんかのう
- 826 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 20:28:22.69 ID:nF43cUdI.net]
- 自分の作ってるwebアプリでエラー原因調べて、質問するって
難しいんだよな 問題を書き出すって骨の折れる作業だし
- 827 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 22:32:25.10 ID:D+buTpss.net]
- >>800
立て直すとスレが乱立するからこのスレに新しいテンプレを貼り付ける程度で十分かと 問題はライブラリスレもここに統合するか、別スレに独立させるか
- 828 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 22:58:59.69 ID:oKpI3hc9.net]
- 重複が嫌なら一個飛ばして121にするとか
本来荒らしの立てたスレを再利用するってのはよくないし、まあ今はずるずる来てるけど
- 829 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 23:29:46.97 ID:S5Kwqidr.net]
- むやみに別スレ建てんなよWeb製作版の二の舞いになる
スルーすればいいだけ
- 830 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 23:30:12.91 ID:yAtATLvz.net]
- >>805
ブレークポイントを適度に付けて、デバッグする。 変数の内容も見る。 エラーメッセージで検索する C/C++以外の言語は、シャローコピーするから、破壊的変更をするときは要注意!
- 831 名前:デフォルトの名無しさん mailto:sage [2016/06/27(月) 00:44:37.06 ID:Azx2VHQP.net]
- JSはDOM絡みのテスト書くのが特にしんどい
書いてもElectronで動いたのがwebkitじゃダメでしたとかままあるし >>806 復活したWeb板のライブラリスレもぼちぼち伸びてきてるし また潰されるかあるいは埋まりそうになるまで保留でいいんじゃない
- 832 名前:デフォルトの名無しさん mailto:sage [2016/06/27(月) 00:51:43.37 ID:Qt/WCn3i.net]
- JSにかぎらずUIのテストっていうのは難しいんだよ。
- 833 名前:デフォルトの名無しさん mailto:sage [2016/06/27(月) 04:38:11.54 ID:Hl6kI6LE.net]
- 別にJSじゃなくてもDOMのテストは難しいしね
JSにはDOMしかないわけでもないし
- 834 名前:534 mailto:sage [2016/06/27(月) 12:24:43.46 ID:oBcOOaIt.net]
- >>534 なんですが、プログラム板なのにコードが潰れることにもやっとしたので、スレにjs-beautifyとhighlight.jsを掛けるchrome拡張を作ってみました
試作機1号ができたのでさっそく試してみたんですが・・・ 2chのコメのなかにコーディングのカラースキームが混在してる違和感が凄いww i.imgur.com/a1EvCdi.png i.imgur.com/cGSR5cj.png i.imgur.com/JVt9adl.png i.imgur.com/rPbmqg9.png
- 835 名前:デフォルトの名無しさん mailto:sage [2016/06/27(月) 19:39:44.45 ID:jJ8qgrxg.net]
- <a href="〜hoge.pdf">PDF</a>
上記のようにHTMLでPDFのリンクを作成しPDFをダウンロードさせたいのですが、IEのみ同一タブでPDFが表示されてしまいダウンロードできません。 IEの設定を変更することなく、HTMLとjavascriptだけでIEでもダウンロードできるようにしたいのですが、何か良い方法はありませんでしょうか。 ちなみに、以下の4ブラウザ全てでダウンロード可能にしたいです。 ・IE11 ・chrome ・firefox ・safari(mac) よろしくお願いします。
- 836 名前:デフォルトの名無しさん mailto:sage [2016/06/27(月) 20:20:31.97 ID:Hl6kI6LE.net]
- ChromeとFirefoxだけで我慢しんさい
- 837 名前:デフォルトの名無しさん mailto:sage [2016/06/27(月) 20:45:40.58 ID:Qt/WCn3i.net]
- >>814
普通はHTTPヘッダで制御する。 つまりウェブサーバーかサーバー側のアプリ あんたがクライアントアプリしか書けないとか サーバーいじる能力がないなら諦めなさい
- 838 名前:デフォルトの名無しさん mailto:sage [2016/06/27(月) 20:59:41.80 ID:zoQ6BtW7.net]
- >>815
>>816 やはり無理なんですね…… ありがとうございます!
- 839 名前:デフォルトの名無しさん mailto:sage [2016/06/27(月) 21:24:55.66 ID:zcQLvEgn.net]
- var xhr = new XMLHttpRequest();
xhr.open("GET", "hoge.pdf"); xhr.responseType = "blob"; xhr.addEventListener("load", function(){ var blob = new Blob([xhr.response]); window.navigator.msSaveBlob(blob, "hoge.pdf"); }); xhr.send();
- 840 名前:デフォルトの名無しさん mailto:sage [2016/06/28(火) 15:38:36.90 ID:+n63MTqJ.net]
- 「できる」と「やっていい」は別だよな
最低限のモラルも守れないようじゃねぇ まあdownload属性のエミュなら良いと思うよ
- 841 名前:デフォルトの名無しさん mailto:sage [2016/06/28(火) 16:46:50.81 ID:YVMoIJVb.net]
- jsdo.it/ksk1015/7lvD
のページのサンプロコード、20行目で見かけたのですが、 この場合のvideoの前後にあるスラッシュはどういう意味があるのでしょうか? if( !/video/.test(file.type) ){ !video.test(file.type) ではダメなのでしょうか
|

|