のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,490,845人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

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

    JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    251 : Name_Not - 2021/01/09(土) 11:23:18.35 ID:???.net (-19,-29,-38)
    getElementsByClassNameってdocumentとelementあるけど
    要素の場所絞れてる場合element使う方がよいですか?
    cssみたいに子要素から探していく仕様なら狭い方が多少は早い可能性ありそうかなと。
    252 : Name_Not - 2021/01/09(土) 11:27:07.11 ID:???.net (+19,+29,-1)
    そらそうやろ
    253 : Name_Not - 2021/01/09(土) 11:33:09.84 ID:???.net (-29,-29,-4)
    でもまあ良い子はquerySelectorAll使うけどね
    254 : Name_Not - 2021/01/09(土) 12:30:35.02 ID:???.net (+25,+29,-18)
    >>252
    ありがとうございます
    狭めるよう努めます。

    >>253
    元々querySelectorAllを使ってたのですが、そっちは遅いと見たので
    作り変えている最中に思った疑問が>>251です。
    255 : Name_Not - 2021/01/09(土) 22:49:59.78 ID:???.net (+27,+29,-13)
    > cssみたいに子要素から探していく仕様なら狭い方が多少は早い可能性ありそうかなと。
    まったくないよ
    257 : Name_Not - 2021/01/09(土) 22:50:34.81 ID:???.net (+25,+29,-11)
    > 作り変えている最中に思った疑問が>>251です。

    無駄なことに時間を使ってるよ
    258 : Name_Not - 2021/01/09(土) 23:56:01.77 ID:???.net (+30,+30,-221)
    少なくとも早いかどうかを気にするのではなくて
    複数同名のclassが出て来るかもしれないから要素起点にするかとか
    その要素下でなくなるかもしれないからルート起点にするかとか
    そういうことを打ち込む直前に無意識にさっと考えて
    自然で妥当なコードを書いていくもの

    それとquerySelectorが遅いだろうと決めつけるのはダメ
    エンジンはよく使われる機能をよく使われるように最適化されていく
    単純に考えたらgetElementsByClassNameの方が早いはずだが
    セレクタ探索は複雑だからこそ最適化しないといけないので
    キャッシュを効かせたりだとかもされている
    今はgetElements早いかもしれないが、今後もそうだという保証はない

    そして速度の最適化は最後、実際に足を引っ張っている部分があれば
    きちんと分析して改善していくというのが基本
    259 : Name_Not - 2021/01/10(日) 00:26:34.79 ID:???.net (-22,-29,-70)
    >>258
    わかりみのよいレスありがとうございます
    現状若干getElementsClassNameの方が速いのと
    動的・静的で使い分けろとあったので、思考停止で動的のがいいでしょ
    ってことでclassNameを選んでしまいました。

    昔querySelectorで組んだやつをメンテナンスがてら
    書き直してみようと思ってましたけど止めますわw
    260 : Name_Not - 2021/01/10(日) 09:12:50.39 ID:???.net (+32,+29,-65)
    素人・・・速いって聞いたからこっちに書き換えよう
    プロ・・・速い?ならどのくらいか計測するべきだ。1ミリ秒以下?
    誰がそんな違いわかるんだ?そんなことのためにお前は無駄な人件費を使うのか?
    損してるだけだろ
    261 : Name_Not - 2021/01/10(日) 15:13:48.50 ID:???.net (-17,-30,+0)
    Image オブジェクトについてお聞きしたいのですが
    単純に、inputタグの file で選択した画像情報をFileReaderに読ませて、
    Imageオブジェクトに設定し、読み込み完了したら~というコードをだいぶ端折ってますが簡単に書いてみました。

    iObj = new Image();

    iObj.onload = function() {
    console.log( "読み込まれた" );
    };

    iObj.src = FileReaderで読み込んだ画像情報;


    これ、PCのブラウザとAndroidのChromeではすべて正常に動くんですけど、
    少し大きい画像(3MBくらい)の画像で試すと、
    AndroidのFirefoxだけ、Imageオブジェクト関連が正常に動作しません。
    setIntervalなどで、completeを監視しても false しか返してくれません。
    小さい画像だと問題なく動くのですが…

    他の手持ちのブラウザは全部試して動作確認出来たのですが、AndroidのFirefoxだけダメでした。
    調べても同じ症状の人がおらず、原因がつかめないので困ってます。
    なにか画像サイズの制限でもあるのでしょうか?

    よろしくお願い致します。
    262 : 261 - 2021/01/10(日) 15:53:13.19 ID:???.net (-28,-26,-74)
    自己解決しました。
    海外の掲示板に同じ人がいました…

    AndroidのFirefoxはバージョンが古い上に、URLの文字数の制限が極端に短いらしく
    blob形式に変換する事でうまく行きました。
    263 : Name_Not - 2021/01/10(日) 16:31:33.39 ID:???.net (-18,-30,-91)
    fetch(url).then(response=>response.json()); // 実際はasync/awaitを付けています
    こんな感じのコードなんですがpendingがコンソールに出力されています
    でも特にエラー等なくデータを取得できており動作も兼々期待通りなのですが
    これはどういうことなのでしょう?
    264 : Name_Not - 2021/01/10(日) 16:37:04.26 ID:???.net (-25,-16,-6)
    >>263
    コンソール出力してるコードはどこ?
    266 : Name_Not - 2021/01/10(日) 17:33:15.73 ID:???.net (-27,-30,-133)
    あー、コンソールに直接打ち込んでるのかな?
    関数定義にはasync/await付けてるけど実行時にawaitつけてないからじゃない?

    async function foo() {
    return await fetch(url).then(response=>response.json)
    }

    foo()
    //=> Promise {<pending>}

    await foo()
    //=> json
    269 : Name_Not - 2021/01/11(月) 02:53:45.73 ID:???.net (+15,+27,-1)
    >>267
    大正解

    >>268
    アスペ
    二度と書き込むな
    270 : Name_Not - 2021/01/11(月) 18:38:54.98 ID:???.net (-22,-30,-76)
    iframeでonmouseoverは動作したけど
    document.createElement("iframe");で作ったiframeではonmouseoverが動作しませんでした
    どうすれば動作しますか?
    271 : 263 - 2021/01/11(月) 18:49:26.05 ID:???.net (+15,+14,-3)
    ブラウザが同期的に出力してるだけなんですね
    勉強になりましたありがとうございました
    272 : Name_Not - 2021/01/11(月) 18:54:21.82 ID:???.net (+24,+29,-16)
    >>270
    まず最初に問題が再現できるコードを提出しましょう
    273 : Name_Not - 2021/01/11(月) 18:56:26.50 ID:???.net (-28,-29,-44)
    >>271
    自分で出力しなければコンソールには何も出力されないよ
    少なくともChrome, Firefox, Safariなどの一般的なブラウザでは

    >>267
    awaitしてる(らしい)のに??
    274 : Name_Not - 2021/01/11(月) 20:12:37.75 ID:???.net (+29,+29,-6)
    >>273
    もう終わったことにしつこい
    二度と書き込むな
    276 : Name_Not - 2021/01/11(月) 21:39:49.64 ID:???.net (+31,+29,-1)
    >>274
    恥ずかしいこと書いちゃったねw
    277 : Name_Not - 2021/01/12(火) 20:23:41.81 ID:???.net (+35,+29,-13)
    うっわ、これ自演なのか
    ここまでヒドイのは久しぶりに見たな
    >>271の意味不明なレスも納得
    278 : Name_Not - 2021/01/12(火) 21:42:28.95 ID:???.net (+32,+29,-48)
    イベントリスナーって設置しっぱなしでよいものでしょうか?
    イベントを設置している間はそれに伴う変数などが保持されたままになってたりしますか?

    解除できるタイミングがあれば解除しておく方が良いのですかね・・・・・・?
    279 : Name_Not - 2021/01/13(水) 06:13:39.84 ID:???.net (+34,+29,-9)
    >>277
    自演じゃなくて君が皆から非難されてるだけ
    現実を見ようね
    281 : Name_Not - 2021/01/13(水) 11:56:40.54 ID:???.net (+5,+8,-1)
    >>279
    という自演でしょw
    282 : Name_Not - 2021/01/14(木) 17:40:59.23 ID:???.net (-29,-30,-110)
    XHRでwgetみたいにクロスドメインで公開しているjsonファイルをGETしようとすると、エラーになります
    開発者ツールでネットワークを見ると応答は200で内容も戻ってはいます(読める)
    しかし、受信結果としてはCORS違反としてエラーにされてしまいます
    xhr.open("GET", url);
    xhr.onreadystatechangeにハンドラ設定
    xhr.send(null);
    ブラウザのJavaScriptでは別のドメインのファイルは取れないのでしょうか?
    単純リクエストにしたいのですが……
    285 : Name_Not - 2021/01/14(木) 19:06:57.44 ID:???.net (-26,-29,-84)
    >>283
    GETでヘッダを返すようにしたらCORS違反は消えました
    ありがとうございました
    S3とGCPは設定したけど……apacheの静的ファイルにも設定しなきゃ……調べるの面倒

    いや、XHRでのGETのCORSを誤解していました
    XHRでは単純リクエストでGETできないとは思いませんでした
    普通に静的ファイルとして公開しているファイルならば、クロスドメインで取得不可にするほうが稀のはず
    だから、GET応答にCORS関連のヘッダが無い場合には*扱いに倒すだろう、という思い込みです
    286 : Name_Not - 2021/01/14(木) 23:26:48.13 ID:???.net (+27,+29,-33)
    最近は指定無しだと制限が厳しいほうに倒されるよ。chromeに限らず。
    290 : Name_Not - 2021/01/20(水) 07:37:06.76 ID:zsIGEcOR.net (+29,+29,-103)
    >>288
    他で使ってもらう場合にはポップアップ禁止を解除しなきゃダメなのね。
    私のブラウザは以前他の用事で解除してたのを忘れてました、注意しないと駄目ですね。

    あと、ブラウザというかアプリのリサイズフリーソフトはPCを変えるたびに消失してるのと、
    Windowsのアプデで使えなくなるソフトが多すぎて、
    ソフトはなるべく増やさない方向で考えてます。
    291 : Name_Not - 2021/01/20(水) 13:14:19.51 ID:???.net (+24,+29,-42)
    >>285
    >クロスドメインで取得不可にするほうが稀のはず

    それを認めれば、自分のコンテンツが、
    訳の分からない・犯罪的なサイトに使われるので、危険!
    292 : Name_Not - 2021/01/20(水) 13:40:29.19 ID:???.net (-27,-30,-66)
    >>287
    Ruby みたいに、HTML エスケープ出来ないの?

    html = <<'HTML'
    <!DOCTYPE html>
    <html lang='ja'>
    </html>
    HTML

    require "cgi/escape"

    puts CGI.escapeHTML( html )

    出力
    <!DOCTYPE html>
    <html lang='ja'>
    </html>
    293 : 292 - 2021/01/20(水) 16:50:52.92 ID:???.net (-27,-30,-113)
    これで動くかね?

    let aHeadInrHTML = document.getElementsByTagName('head');
    let aBodyInrHTML = document.getElementsByTagName('body');

    let sCloneHTML = `
    <!DOCTYPE html>
    <html lang='ja'>
    <head>
    ${ aHeadInrHTML[0].innerHTML }
    </head>
    <body>
    ${ aBodyInrHTML[0].innerHTML }
    </body>
    </html>
    `;
    294 : Name_Not - 2021/01/23(土) 15:27:42.88 ID:???.net (-13,-29,-156)
    vueスレが死んでたのでお願いします
    ちょっと興味があるのでどんな風に使われてるのか調べてみたんですが
    使ってるらしいサイトのソースを見てもそれっぽい痕跡がありません
    痕跡というのはvue.js読み込んだりvueインスタンス作成したり
    html中に{{var}}みたいなテンプレート変数のようなものやv-forみたいな属性がありません
    チュートリアルの最初のほうに書かれてるやつしかまだ見てないのですが
    本当にvue.jsを採用してるサイトのソースを見てるとしたら
    なんか思ってるのと違うのかな?という感じなんですが
    確実にここはゴリゴリにvue.js使ってるよ!ソース見ればわかるだろ?
    というようなサイトあったら教えていただけませんか?
    295 : Name_Not - 2021/01/23(土) 15:52:03.60 ID:???.net (+27,+29,-5)
    可読性は悪いしオーバーヘッド大きすぎて遅いからねぇ
    296 : Name_Not - 2021/01/23(土) 16:42:43.67 ID:???.net (-28,-29,-34)
    ソシャゲのサイトで申し訳ないけど
    http://kirafan5ch.info (ビルドされてない)

    http://wiki.kirafan.moe/#/ (ビルドされてるけどソースマップファイルあるしそもそもオープンソース)
    がある
    297 : Name_Not - 2021/01/24(日) 12:55:43.13 ID:???.net (+27,+29,-19)
    申し訳ないと思うのであれば、別のサイトを用意していただけませんか?
    298 : Name_Not - 2021/01/24(日) 19:18:06.27 ID:???.net (-27,-30,-104)
    イベントハンドルをグローバル変数にしてイベントを追加した場合は
    イベントの重複登録が起こっても、重複にならないようです。
    逆にローカル変数だと重複が起こるのですが何故でしょうか?

    var handle = {
    obj: hoge;
    handleEvent: hage
    };
    window.addEventListener('resize', handleObj);
    299 : Name_Not - 2021/01/24(日) 21:36:48.97 ID:???.net (+27,+29,-116)
    それはグローバルかどうかじゃなく
    同じインスタンスを登録してるのか
    異なるインスタンスを登録してるかの違いでしょ

    中途半端なコードじゃなく
    問題が再現できる最小限のコードを出してね
    300 : 294 - 2021/01/25(月) 14:11:34.79 ID:???.net (+29,+29,-56)
    >>296
    レスありがとうございます
    ビルドされているということは>>294であげたようなコードから
    一般的なhtmlに変換されるような感じなのでしょうか?
    ビルドされていないという状態は一般的ではなさそうなので
    もう少しチュートリアル読み進めてみようと思います
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について