X



+ JavaScript の質問用スレッド vol.123 + [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ efff-U/Pn [183.76.238.232])
垢版 |
2017/04/02(日) 23:30:38.56ID:Qcd0Qmy10
JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-6のテンプレを読んだ上で質問してください。次スレは>>950>>2のテンプレ案(本スレで改善案があれば考慮)を元に立ててください

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

※前スレ
+ JavaScript の質問用スレッド vol.122 +
http://echo.2ch.net/test/read.cgi/tech/1472426483/
VIPQ2_EXTDAT: checked:vvvvvv:1000:512:----: EXT was configured
0184デフォルトの名無しさん (ワッチョイ d68f-XC/u [153.169.176.66])
垢版 |
2019/07/13(土) 02:23:13.18ID:P33eZqk80
質問age
0190デフォルトの名無しさん (アウアウエー Saea-YtL5 [111.239.138.66])
垢版 |
2019/07/14(日) 10:50:06.44ID:ZHLRDDy6a
>>187
https://mevius.5ch.net/test/read.cgi/hp/1562318008/229

> 229 215 (ワッチョイ 7e8f-XC/u)2019/07/14(日) 09:32:34.14ID:c8hg/KPq0
> >>223
> プログラム板に別解があるようだが、あれで満足?
>
> うーん
> どこからどう見ても練習問題なのに…

「練習問題」という条件はなかったし、具体的な要件は掲示されていなかった
そして、「練習問題」という要件が何を表すのか全く示されていない
後出しで条件追加するぐらいなら初めから全てを「具体的に」書いてくれ

それから、マルチポストしたなら、全てのマルチポスト先で進捗結果を報告してくれ
https://ja.wikipedia.org/wiki/%E3%83%9E%E3%83%AB%E3%83%81%E3%83%9D%E3%82%B9%E3%83%88#%E5%A4%B1%E7%A4%BC%E3%81%AB%E3%81%AA%E3%82%89%E3%81%AA%E3%81%84%E6%96%B9%E6%B3%95
0193デフォルトの名無しさん (ワッチョイ d37f-aL1B [128.53.65.41])
垢版 |
2019/07/14(日) 16:29:44.23ID:QCCP5GQI0
それはすみません

bodyがフィーム送信されたテキストとしまして
var line = body.split("¥n");
var cline =0;
これを繰り返し展開し  length > ○○ で cline++;
したいのですが、javascriptの繰り返しがどうしても理解
できないのです。
0196デフォルトの名無しさん (ワッチョイ 23da-rP+5 [125.202.97.108])
垢版 |
2019/10/02(水) 19:50:54.77ID:N+fsnVWC0
Acrobatのスタンダード版で、Javascriptを使おうとすると、
この機能はライセンスに含まれていないと表示され、使えません。

実際、プロとスタンダードの比較表を見ても、後者では使えないことになってるのですが、
なぜか、コマンドボタンに書いたJavascriptは使えます。

一体何が違うのでしょうか?
0197デフォルトの名無しさん (ワッチョイ 6552-ndj0 [118.243.40.87])
垢版 |
2019/10/13(日) 13:12:43.29ID:KO9wMRnb0
https://mohayonao.hatenadiary.org/entry/20111108/1320756534

ここでやっているようなプログラムを作っても別タブを開いている間は止まります。
同じような経験をしていらっしゃる方いませんか?

workerの部分を別ファイルを使っても、blobを使って単一ファイルにまとめても
同じようになります。

https://qiita.com/mohayonao/items/b4f713bf8ab9de8907f1
ちなみにここのやつをそのままコピーしてやっても、workerありでも
無しでも同じような結果になりました。
0198デフォルトの名無しさん (ワッチョイ 6552-ndj0 [118.243.40.87])
垢版 |
2019/10/13(日) 21:59:21.96ID:KO9wMRnb0
197ですが、情報が少なすぎました。
0199デフォルトの名無しさん (ワッチョイ 6552-ndj0 [118.243.40.87])
垢版 |
2019/10/13(日) 22:04:01.67ID:KO9wMRnb0
ブラウザはChrome、Operaと試しました。
workerも使えない。上記のカウンターを数えるだけのプログラムですが
別タブに行くとworkerがあろうとなかろうと、タイマーが止まってしまいます。
何かいい方法ないでしょうか。
ちなみに誰か、これらのプログラムを試してみて成功した方いらっしゃいませんか?
というより、プログラムは動くので、別タブに行ってもタイマーが止まるかどうか気になります。
0201デフォルトの名無しさん (ワッチョイ 232c-la4p [219.162.234.204])
垢版 |
2019/10/14(月) 00:16:28.97ID:qXl8FtHN0
そりゃ、テトリスなどのゲームをプレイしていても、
別タブへ移動したら、ゲームは止まる。
そして戻ってきたら、止まっていた所から始まる

フォーカスを失うと、アクティブ(フォアグラウンド)プロセスじゃないから、CPU スライスが割り当てられない!
GUI では、アクティブなプロセスは、常に1つだけ

バッググラウンドでも動き続けるには、バッググラウンドプロセスにする。
それか、worker スレッド

この板のこのスレは、web制作管理板が荒らされたときに立てた緊急避難用スレで、今は使われていません!
web制作管理板のJavaScript のスレへ、移動してください!
0203デフォルトの名無しさん (ワッチョイ 6552-ndj0 [118.243.40.87])
垢版 |
2019/10/14(月) 06:14:41.99ID:sewBjWGo0
>>200-201
ありがとうございます。
条件とかを無視してBlobbuilder() をBlob()に換えただけですが
ずれて表示されませんでした。
worker使ってもタイマーは止まったまま。
web制作管理板の緊急避難スレとのことでそちらに移動しますね。
0209デフォルトの名無しさん (スップ Sd7a-Tjez [49.97.100.119])
垢版 |
2019/12/08(日) 09:13:34.78ID:Zz4LoxFtd
forEachのループ順ってインデックスの順番と一致が保証されてますか?
0211デフォルトの名無しさん (スップ Sd7a-Tjez [49.97.100.119])
垢版 |
2019/12/09(月) 07:21:26.41ID:OnUQvyFpd
>>210
初期化されてない要素はスキップされるんですね
知りませんでした、有り難う御座います
0214デフォルトの名無しさん (ワッチョイ ab5f-oFCC [106.73.72.193])
垢版 |
2020/02/15(土) 10:53:01.82ID:TiEPdFSJ0
最近canvas(2d)を勉強している関係で、勉強がてら自分でライブラリを少しずつ作ろうと
思ったのですが、何を描画するにもコンテキストが必要ですよね
汎用的な描画関数を書く場合、必ず引数にコンテキストを与える必要がでてくるのですが
どの描画関数にも同じ引数を常に渡すのはかったるい…かといってグローバル変数に
コンテキストが定義されている前提でライブラリの関数を書きたくない…

といった場合、何かすっきり解決する方法はあるのでしょうか?
ライブラリをクラスにしてプロパティにコンテキストを持たせるくらいですかね
0220デフォルトの名無しさん (ワッチョイ 8f02-Y96Y [114.16.82.189])
垢版 |
2020/03/01(日) 13:30:18.22ID:SX/qa6HC0
ブラウザ側JavaScriptで
簡単にsync化する方法ありますか?
オブジェクト指向化が難しすぎる。
非同期メソッドをクラス内で使った時に
this(このインスタンス的な意味で)を
参照するのが難しすぎます。
0221デフォルトの名無しさん (ワッチョイ 3a2c-rVtL [219.162.234.204])
垢版 |
2020/03/01(日) 22:59:36.40ID:NSpMdQYF0
非同期は、文脈(コンテキスト)が異なるから、
this とか、例外もキャッチできないだろ

非同期を同期的に書けるのは、async, await。
ちょっと前は、promise だった

JavaScript の質問は、この板ではなくて、web制作管理板の方へ書き込んでください!
この板のスレは以前、荒らしが出たときに、緊急避難用に立てたものだから
0222デフォルトの名無しさん (ワッチョイ 9301-IHcq [221.88.230.3])
垢版 |
2020/04/15(水) 05:54:30.29ID:+ql6+04R0
windowを新規オープンしてから、SetIntervalで60秒に一回関数を呼んで異なるURLに遷移させているのですが、どうも上手く動きません
Windows7 FireFox 7.5.0 64bit

メイン
winObject = window.open("about:blank", "_blank","");
winObject.location.href = "https://www,google.com/";; ← ここまでは動く

https://blog.hello-world.jp.net/javascript/3822/
こういう記事をみつけたんで、(iOS9じゃないけどだめもとで)インターバルで呼ぶ関数内の記述を
winObject.location.href = url;
から
setTimeout(function() { // 次のイベントループで処理
winObject.location.href = url;
}, 100);
にしてみたところ、chromeでは動くようになったもののFireFoxでは動かず

JavaScriptは初心者なもんで、こっちの記述が悪いのかどうかFireFoxが悪いのか判断できず
どうなんでしょう?
0225デフォルトの名無しさん (ワッチョイ 9301-IHcq [221.88.230.3])
垢版 |
2020/04/16(木) 10:08:39.40ID:s+KHkjW/0
>>224
FireFoxなんですかね
FireFoxのちょっと前のバージョンだと、遷移部分をlocation.url=ではなくて毎回windows.openにしてても新規にウィンドウ開くことなく同じ
ウィンドウで新しいURLを開けてたんですよ。JavaScriptの仕様的にそれがおかしいから直したら、ついでにバグ入れちゃったのかなあ?
0226デフォルトの名無しさん (ワッチョイ 13ad-ur4w [61.23.12.2])
垢版 |
2020/05/03(日) 21:36:56.65ID:4npkj+7k0
JavaScriptって関数のネスト地獄だと思うんですが、何かいい解決策ってあるんですか?(*´ω`)

os.cpus().forEach(cpuInfo => {
fs.appendFile(dataPath, `${cpuInfo.model}\n`, () => {
// ここに追加で色々処理を書くと、関数のネストがひどくて後々つらくなるのでは?
});
});

forEachとかappendFileを使わなくて書く方法は知ってるけど、今回はサンプルなのでわざと使ってるYo!
0228デフォルトの名無しさん (ワッチョイ ab61-A5SY [49.253.78.66])
垢版 |
2020/05/04(月) 23:00:12.61ID:CBUb3t9r0
javascriptでandroidアプリ作れるって聞いたんだけど
仕組みはどうなってんの?
ブラウザでキャッシュにプログラム全部落として実行ってこと?
0230デフォルトの名無しさん (ワッチョイ ab61-A5SY [49.253.78.66])
垢版 |
2020/05/04(月) 23:24:39.48ID:CBUb3t9r0
>>229
そんなことを書くためだけにレスしたの?アホなの?
0232デフォルトの名無しさん (ワッチョイ 0b2c-aEdY [153.194.236.234])
垢版 |
2020/05/05(火) 02:27:53.37ID:rwJ86+M00
この板のJavaScript のスレは、荒らし対策で緊急避難用に作られたもの。
web 制作管理板のスレへ書き込んだ方がよい

こちらには、荒らししかいない

荒らしは必ず、2回書き込む。
自分のレスに、リンクを付けて「そうだよな」みたいに自演する

多くの人が言ってるように見せかける。
午前、3時とかでも、同時に2つのレスを書くw
0235デフォルトの名無しさん (ワッチョイ d361-INBt [218.231.250.166])
垢版 |
2020/06/03(水) 19:07:48.44ID:jt2kVIBa0
javascriptで、1秒毎にGPSの位置情報を表示したいのですが、毎回、アクセス権確認が出てしまいます。
アクセス許可の確認ボックスが表示されるのを、最初の一回だけに出来ないでしょうか?

var timer;
timer = setInterval(test,1000);

function test() {
 navigator.geolocation.getCurrentPosition(test2);
}
function test2(position) {
 var geo_text = "緯度:" + position.coords.latitude + "\n";
 geo_text += "経度:" + position.coords.longitude + "\n";
 var date = new Date(position.timestamp);
 geo_text += "取得時刻:" + date.toLocaleString() + "\n";
 var a = document.getElementById("AAA");
 a.innerHTML = geo_text;
}
0236235 (ワッチョイ d361-INBt [218.231.250.166])
垢版 |
2020/06/03(水) 19:40:21.72ID:jt2kVIBa0
watchPositionで
自己解決しました


バックグラウンド等々でも動作を継続させるのはどうしたら良いのでしょうか?
0237デフォルトの名無しさん (スプッッ Sd1f-Zi0f [1.75.211.253])
垢版 |
2020/06/10(水) 03:27:21.19ID:nXyeYMB9d
正規表現の質問です

2020/6/10
2020-6-10
2020.6.10

これをstringオブジェクトのsplitメソッドを使い日付の区切り部分で、"/"、"-"、"."のいずれの文字でも分割できるように

var reg=/\/|\-|\./gi;
console.log(2020/6/10.split(reg));

として
length(3) ["2020” , “6” , “20”]
期待通りの結果が出たのですが

var reg=/\/|\-|\./gi;←この部分を
var reg=/(\/|\-|\.)/gi;このようにグループ化したところ

length(5) ["2020” , “/” , “6” , “/“ , “20”]
上と違う結果になってしまったのですが、どういう理屈でこういう結果になったのか教えてくださいm(__)m

正規表現の
a|b|cはaかbかcのいずれかで、[a-c]これと同じ意味ですよね?
0238デフォルトの名無しさん (ワッチョイ cf61-q7/F [153.210.210.173])
垢版 |
2020/06/10(水) 04:08:41.09ID:+QBvSnI00
>>237
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/split
separator が、キャプチャする括弧を含む正規表現だった場合、 separator が一致するごとに、キャプチャする括弧の結果が (未定義の結果であった場合を含め) 出力配列に追加されます。

グループ化だけしたいなら(?:〜〜)で囲め
0239デフォルトの名無しさん (スプッッ Sd1f-Zi0f [1.75.211.253])
垢版 |
2020/06/10(水) 05:49:33.23ID:nXyeYMB9d
>>238
ありがとうございます。

括弧を含んだ正規表現の場合〜と解説してる文献があるんですね^_^;
こういうの自分で探せないわ…

何故そうなるのかはほとんど正規表現の知識がないので分かりませんが、とりあえず括弧で括った場合にはそういう挙動になるということは分かりました。

ありがとうございます
0242デフォルトの名無しさん (ワッチョイ 6fc7-Z00E [111.216.204.69])
垢版 |
2020/06/15(月) 21:13:50.22ID:1F3a2yyn0
スレを間違えただけです
0245デフォルトの名無しさん (ラクッペペ MM96-+D7B [133.106.90.78])
垢版 |
2020/07/05(日) 23:47:37.29ID:S84HRZFZM
javascript初心者で右も左もよくわからないんだけどconsole.log();ってみなさんchromeなら検証からやって
0247デフォルトの名無しさん (ワッチョイ a56a-+D7B [42.125.49.111])
垢版 |
2020/07/06(月) 14:11:59.36ID:YRhjpfSA0
>>246
やっていますか? でした
0249デフォルトの名無しさん (ラクッペペ MM96-+D7B [133.106.82.76])
垢版 |
2020/07/06(月) 15:11:39.18ID:AsDEr6ShM
>>248
そうです
理解があいまいで正しく伝達できませんでした
0254デフォルトの名無しさん (ワッチョイ fb5f-w4il [106.72.170.129])
垢版 |
2020/08/13(木) 21:43:17.29ID:cLv1fX6M0
こういう配列があったとして
const hoge = [
{name: "taro", age: 15, group: "A"},
{name: "hanako", age: 25, group: "B"},
]

最終的にこんな感じにしたい(ageだけ2倍に)
const hoge = [
{name: "taro", age: 30, group: "A"},
{name: "hanako", age: 50, group: "B"},
]

mapを使えばいいと思ったんですが、書き方が分かりませんでした…
(元のオブジェクトを展開して、ageだけ2倍するみたいなことが出来ると思った)
const newHoge = hoge.map(h => {...h, age: h.age * 2})
0258デフォルトの名無しさん (スッップ Sdbf-w4il [49.98.146.19])
垢版 |
2020/08/18(火) 19:36:32.49ID:65jirDTbd
これを
const hoge = "【aaa】bbb【ccc】【ddddd】eee【fff】gggg";

最終的にこういう配列にしたいんですが
const newHoge = hogeFunc(hoge);
console.log(newHoge)
["【aaa】",
"bbb",
"【ccc】",
"【ddddd】",
"eee",
"【fff】"]

indexOfで【】の位置特定して、sliceして、みたいなごり押し以外で何かスマートに処理する方法あるでしょうか?
lodash的な便利ライブラリを使用する方法とかでも構わないので知りたいです
0264デフォルトの名無しさん (ワッチョイ d92d-C4/F [220.100.20.82])
垢版 |
2020/09/14(月) 13:19:22.86ID:tp+/+C8Z0
この方法だとSJISの機種依存文字(崎の大じゃなくて立の文字)が文字化けしないんですが
reader.readAsText(file, "shift-jis");

ここのサンプル通りに
http://polygonplanet.github.io/encoding.js/tests/detect-file-encoding.html
reader.readAsArrayBuffer(file);
var unicodeString = Encoding.convert(codes, {to: 'unicode', from: 'SJIS',type: 'string'});
としても機種依存文字が化けてしまいます

そういうもんでしょうか?
0267デフォルトの名無しさん (オッペケ Sr61-lMKa [126.212.166.165])
垢版 |
2020/09/17(木) 20:09:46.76ID:QWldExKKr
下記のコードでクリックした要素のidを取得したいのですが、取得できません。
$("li").on('click', function(e){
let k = $(this).attr('id');
});

取得する要素はjavascriptで動的にデータベースから値をとってきて表示しているのですが、
ページリロードした際にある要素しか上記のコードは有効でない、など、何か動かない条件などがあるのでしょうか。
よろしくお願いいたします。
0269デフォルトの名無しさん (ワッチョイ 7d2c-qc2B [114.144.98.145])
垢版 |
2020/09/17(木) 20:27:23.84ID:NHfa1bvj0
li が1つだけなら、取得できた。
2つ以上あったら、知らないけど

<ul>
<li id="abc">リスト 1</li>
</ul>

$( "li" ).on( 'click', function( e ) {
let k = $( this ).attr( 'id' );
console.log( k )
} );

Javascript, jQuery の質問は、web制作管理板の方へ書き込んでください!
この板のスレは、荒らしが出たときに、一時的に使っていたものなので
0273デフォルトの名無しさん (ワッチョイ b3f1-Kk5w [180.221.240.118])
垢版 |
2020/10/01(木) 18:40:48.93ID:3EMbehP20
enchant.jsでゲームを作り
自分のレンタルwebサーバにUPしたら
ブラウザで「NET::ERR_CERT_AUTHORITY_INVALID」のエラーが出て
他の誰にもゲームを見てもらえません。

なにがどうなっているのでしょうか?
0275デフォルトの名無しさん (ワッチョイ b3f1-buUt [180.221.240.118])
垢版 |
2020/10/01(木) 19:08:37.71ID:3EMbehP20
>>274
XSERVERでございます
0276デフォルトの名無しさん (ワッチョイ b3f1-buUt [180.221.240.118])
垢版 |
2020/10/01(木) 19:09:26.51ID:3EMbehP20
SSLとか証明書とか意味がさっぱりわからないのですが
なにがどうなっているのでしょうか?
0278デフォルトの名無しさん (ワッチョイ b3f1-buUt [180.221.240.118])
垢版 |
2020/10/01(木) 19:21:47.87ID:3EMbehP20
Cloudflareとは何じゃ
良い子はそんなの使ってません。
0282デフォルトの名無しさん (ワッチョイ ff7b-yH5j [153.198.55.63])
垢版 |
2020/10/14(水) 10:58:53.79ID:asjsDRkW0
sort関数に追加の引数を渡すことってできますか?
array.sort(mySort())に引数を与えて条件によって処理を変えたいのですが。

普通にmySort()に引数を入れるとソートで使われる引数に値が入ってしまってダメでした。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況