元スレJavaScript ライブラリ総合質問所 vol.4
JavaScript覧 / PC版 /みんなの評価 :
501 = :
速さが問題になってない時に速さを聞くのは、
速さしか良い悪いの比較方法を知らないからなんだろうな。
速さが問題になってないのなら、比較するときに茎べき言葉は
どちらがメンテナンス性高い? やどちらが短くかける? だ
メンテナンス性が高くて短い方が、バグも減るし。
503 = :
>>501
それは当事者が考えるべきことであなたが心配することじゃない
504 = :
>>503
当事者に考えさせるために言ってる。
いわば教育。
いちいちあんたが反論することじゃない。
505 = :
>>504
ケースバイケースなのに速度に問題がないと決めつける必要はない
あなたの視野が狭いだけ
507 = :
>>496だけどすまんかった。
速度に問題があってパフォチューしてた。
.eq(i)にしてたんだけど、もっと速くなるならと思って聞いてみた。
$(selector)[index]にしてみたけどouterWidth()が
jqueryみたいで残念ながらダメだった。
508 = :
パフォーマンスチューニングとは
どこが遅いか?って聞くことではなく、
どこにどれだけの時間がかかっているかを
調べることだ。
509 = :
>>507
jQueryをなくしてみたら?
あるいはアルゴリズムに問題があるのかもしれない
510 = :
jQueryを隠すと、開発効率が大幅に下がるからなぁ。
それじゃ本末転倒だし。
511 = :
>>507
outerWidth()でふと思ったんだけど、ひょっとしてブラウザに何度もレンダリングさせて
描画サイズを取得してどうこうって処理でもしてる?
512 :
JavaScriptでバナーを貼ると空間ができるのですが
バナー同士くっつけるんには、どうしたらいいのでしょうか?
514 = :
ありがとうございます。
515 = :
<div id="wrapper">
<div id="slider">
<p class="left">←</p>
<div class="box">あ</div>
<div class="box">い</div>
<div class="box">う</div>
<div class="box">え</div>
:
:
<p class="right">←</p>
</div>
516 = :
すみません;間違えて途中送信してしまいました
519 = :
クリックしたときの処理の最初に追加
if($("#slider").is(":animated")) return;
520 = :
お早い返答ありがとうございます!解決しました!
521 = :
>>515-518
何も反応しないけど、何をやりたいの?
サンプルを出すなら動く事を確認してから出して
>>1にサンプルコードを載せるサイトが載ってるでしょ
http://jsfiddle.net/j8fdg81b/
522 = :
解決したのね
523 = :
jQuery.ajax でhtmlを取得するときimgタグがあれば画像もロードされますが、これを抑止するオプションはありますか?
Ajax options で、
dataFilter: function (data) {
data = data.replace('img', 'noimg');
return data;
}
のようにすると抑止されるのは確認できましたが、
根本的にimgタグがそのままでもロードさせないオプションがないかと調べていますが見つけられません
よろしくお願いします
524 = :
>>523
そういったオプションはないと思う
HTMLがそのままでも読み込まないようにしたいならDOMParserしかないだろう
http://developer.mozilla.org/ja/docs/Web/API/DOMParser
525 = :
>>524
ありがとうございます。調べてみます。
526 = :
DOMParserは大半のブラウザに対応してないみたいだから使えないだろうね。
imgタグがあってもdocumentに追加していなければ
画像はロードされないはずだから、
var $elements = $(data);
// ここでimgタグを探してsrcからdata-srcに移動
$elements.find('img').each(function() {
$(this).data('src') = $(this).attr('src');
$(this).removeAttr('src');
});
$(document.body).append(elements);
とかでもいいかも。まあやってることは>>523とはそう変わらないけど
DOMとして解釈している所が違うかな。
527 = :
>>526
> DOMParserは大半のブラウザに対応してないみたいだから
そんなことはない
> imgタグがあってもdocumentに追加していなければ画像はロードされないはずだから、
new Image でもロードされる
528 = :
>>527
デスクトップ モバイル
機能 Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
XML のサポート (有) (有) (有) (有) (有)
SVG のサポート ? 10.0 (10.0) ? ? ?
HTML のサポート ? 12.0 (12.0) ? ? ?
529 = :
>>528
出典ぐらい示せ
古いMDNを見てるんじゃあないのか?
実際に使ったことがある人なら情報が古い事にすぐ気がつくはずだが
http://developer.mozilla.org/en-US/docs/Web/API/DOMParser
530 = :
>>523 ですが、画像がロードされるタイミングを理解していなかったことに気がつきました
自分のコードでは$.parsHTML(data)や$(data)を実行したときにロードされていました
一方、DOMPaserを使うとロードされないのですね
531 = :
そうそう。普通にimg要素を作っちゃうと、documentに追加しなくても勝手にロードしちゃう
逆にこれを利用すると画像のプリロードをすることができる
532 = :
>>529
Safariはnot supportじゃねーかw
533 = :
>>532
それのどこが「大半のブラウザに対応してない」なんだ?
>>528のような古い情報を持ち出しておいて今更体裁を取り繕っても無駄
534 = :
じゃあ、言い換えるよ?
DOMParserはSafariに対応していないからだめだろう。
536 = :
>>534
Safari には createHTMLDocument ガあるから問題ない
クロスブラウザを指摘するなら駄目出しだけせずに代替機能を把握しておけ
http://developer.mozilla.org/en-US/docs/Web/API/DOMImplementation.createHTMLDocument
537 = :
一番いいのは、各ブラウザごとの仕様の差を吸収する
ライブラリを使うことなんだよな。
http://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills
> DOM Parsing and Serialization
>
> insertAdjacentHTML.js by Eli Grey, implements insertAdjacentHTML
> outerHTML.js by Eli Grey, implements outerHTML
> DOMParser HTML extension by Eli Grey, implements DOMParser text/html support
ここに書いてある、DOMParser HTML extension
http://gist.github.com/eligrey/1129031
ってのを使えばいいのでは?
クロスブラウザ対応のためにはブラウザの機能を直接使うのではなく、
こういうライブラリを使うのが一般的だよ。
538 = :
この程度の Polyfill なら自前で書けるし、ライブラリを使うまでもないと思うがな
自分のコードに自信を持てない人はライブラリを使う
それだけの話
539 = :
>>537
>http://gist.github.com/eligrey/1129031
これは酷いな
- DOMParser を使えない実装で ReferenceError
- text/html の決め打ち
- DOCTYPE宣言、head要素を無視
とてもじゃないが、DOMParser の Polyfill とは思えない
まともにコードを読めない人が質の悪いライブラリを使うのなら迷惑この上ない
http://dvcs.w3.org/hg/innerhtml/raw-file/tip/index.html#the-domparser-interface
542 = :
Mozillaが紹介しているからだけど?
http://developer.mozilla.org/en-US/docs/Web/API/DOMParser
> DOMParser HTML extension for other browsers
> /* inspired byhttp://gist.github.com/1129031 */
545 = :
「MDNにあったら無条件に信じる」は技術者として駄目だろ
DOMParser と createHTMLDocument はそれなりに仕様が異なるのでライブラリで吸収するならもっとコードが長くなる
実際にはその時々で分岐コードを書いてもたいして手間にならないし、間違いがない
546 = :
いや、手間になるからコード長くなってるんだろw
547 = :
この程度で長いと感じる人もいるんだな
548 = :
いつも関数一つで数百行を相手にしている人にはそう感じるんですね。
俺なら一行が二行になったら、倍。と感じるわw
549 = :
>>548
> いつも関数一つで数百行を相手にしている人にはそう感じるんですね。
それはおまえの思い込みによる決め付けだ
> 俺なら一行が二行になったら、倍。と感じるわw
必要以上のコード量があるのは無駄だが、「必要な処理が抜けている」との指摘にその反論は的外れだろう
反論したいならMDNのコードが必要十分だという具体的な根拠を出せ
おまえの勝手な思い込みや抽象論はどうでもいい
550 = :
MDNのコードは足りない。
実際にはもっと多くのコードが必要。
それを自分で作るのが面倒だから
既存のライブラリを使うって話になる。
類似してるかもしれないスレッド
- JavaScript ライブラリ総合質問所 vol.5 (344) - [97%] - 2022/3/14 17:45
- jQuery ライブラリ 総合質問所 vol.4 (986) - [78%] - 2016/1/12 15:15
- 【jQuery】JavaScript ライブラリ総合質問所 vol.3 (1001) - [75%] - 2014/6/18 20:58 △
- 【jQuery】JavaScript ライブラリ総合質問所 vol.2 (986) - [75%] - 2013/5/20 7:00
- 【jQuery】JavaScript ライブラリ総合質問所 vol.1 (983) - [75%] - 2012/10/8 22:30
- [JavaScript]プログラム作成します (981) - [37%] - 2010/12/8 21:02
トップメニューへ / →のくす牧場書庫について