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

    私的良スレ書庫

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

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

    JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    801 : Name_Not - 2010/08/26(木) 22:07:48 ID:??? (+30,-30,-118)
    >>793
    そのコードでエラーが発生するのは、
    ・url1要素が存在しないとき
    ・url1要素の内容がないとき
    が考えられるわけだが、

    前者なら
    var nl_url1 = itemTag[i].getElementsByTagName('url1');
    if (nl_url1) { url = nl_url1[0].nodeValue; }

    後者なら(この可能性が高いと思う)
    var tn_url1 = itemTag[i].getElementsByTagName('url1')[0].firstChild;
    if (tn_url1) { url = tn_url1.nodeValue; }

    両方の可能性があるなら>>798

    XMLファイル晒してもらわんことには推測でしか答えられんよ
    802 : 801 - 2010/08/26(木) 22:22:53 ID:??? (+3,-30,-37)
    あ、コード間違ってんな

    前者なら
    var el_url1 = itemTag[i].getElementsByTagName('url1')[0];
    if (el_url1) { url = el_url1.firstChild.nodeValue; }
    804 : Name_Not - 2010/08/27(金) 10:15:01 ID:??? (+57,+29,-16)
    それがスマートだと感じるのはすごいな

    てかXMLじゃなくてJSON使えと言うべきなんじゃないか
    805 : Name_Not - 2010/08/27(金) 10:26:03 ID:??? (-1,-29,-36)
    JavaScriptでデータをやり取りするのはXMLよりやっぱりJSONが扱いやすいな、JavaScript Object Notationっていうぐらいだし
    806 : Name_Not - 2010/08/27(金) 10:29:58 ID:??? (+31,-29,-43)
    try-cathcは最後の手段だと思ってる
    原因をはっきりさせて対処しないと後に響くかもしれんし
    あとtry-catchよりifの方が速い。数回程度じゃ誤差だろうが
    807 : Name_Not - 2010/08/27(金) 10:47:47 ID:??? (+67,+29,-18)
    >806
    うちの環境じゃあ引っ掛からなかった場合はむしろ速いんだが
    808 : Name_Not - 2010/08/27(金) 10:50:43 ID:??? (-6,-29,-1)
    xpathじゃだめなのか

    809 : Name_Not - 2010/08/27(金) 11:10:12 ID:??? (+44,-26,-31)
    >>807
    お前の環境じゃあそうなんだろうな。

    メソッドチェーンしてエラーはtry-catch
    は、処理として美しいかも知れんけど
    問題発生時の切り分けが困難すぎて
    うんこだよな。
    810 : Name_Not - 2010/08/27(金) 11:39:33 ID:??? (+40,-29,-40)
    独自に何かしらの変数を定義せずに
    使うスクリプトにおいてファイル名とか
    uniqIDみたいなのって取得できないでしょうか・・・

    用途としてはuserscriptとかで
    localStorageに保存する時のprefixにしたいんです・・・
    811 : Name_Not - 2010/08/27(金) 11:40:39 ID:??? (+3,-29,-55)
    try catchなら getElementByTagName とか書いてても動くんだぜ!
    すごいよな!!

    XPathは…まあ、ブラウザ限定って話ならないこともないけどさ
    オレオレXMLでXPathって、無駄が多すぎるだろ
    812 : Name_Not - 2010/08/27(金) 11:42:38 ID:??? (+33,+1,+0)
    >>801
    できました!ありがとうございます!
    813 : Name_Not - 2010/08/27(金) 12:01:57 ID:??? (+5,-29,-15)
    >>810
    location.pathnameだと長いか
    814 : Name_Not - 2010/08/27(金) 12:08:55 ID:??? (+63,+29,-33)
    >>810
    prefixつけるのは何が目的なの?
    サイト側から見えるのを気にしてる?
    ランダムに付けたとしてもfor inで調べられるから無駄だと思うけど
    815 : Name_Not - 2010/08/27(金) 12:10:34 ID:??? (+3,-30,-62)
    >>813
    localStorage自体がorigin毎に保存されます

    で、この時問題なのが同じoriginに対して
    複数のuserscriptを適用した時に
    localStorageのkeyが被ると
    別のuserscriptの値を上書き/取得できちゃうんです・・・
    816 : Name_Not - 2010/08/27(金) 12:24:05 ID:??? (+29,-29,-16)
    適当な名前付ける他ないんじゃないかなあ
    com.yourdomain.scriptNameなり
    817 : Name_Not - 2010/08/27(金) 12:41:13 ID:??? (+97,+29,-41)
    >809
    いやいやなんでもかんでも使おうって言ってるんじゃないよ
    このケースではこれが一番得策だろう
    いろんなプログラミングばっかりして大雑把なものへの抵抗が強くなり過ぎてない?
    818 : Name_Not - 2010/08/27(金) 14:05:48 ID:??? (+71,+29,-49)
    >>817
    それは否定しない。
    デバッグの必要が無いワンライナーなら楽しい書き方だと思う。
    でもデバッガを起動するならメソッドチェーンは敵だよね。
    819 : Name_Not - 2010/08/27(金) 14:13:32 ID:??? (+57,+30,-156)
    特にJavaScriptでは例外の型を選んでcatchすることができないんだから、
    try-catch使うのであればどのようなエラーが発生する可能性があるのか
    自分できっちりと把握して使うのが当たり前だと思う
    (それはJavaやC#でも同じだけど)。
    それをせずに「とりあえず」でnullや空文字を返すコードは時限爆弾みたいなもん。
    逆に何が起こるか自分で全部知っているなら例外を全部握りつぶしても問題ない。

    個人的には>>803はずいぶん荒っぽいやり方に見えるけど、
    十分確認した上でなら「あり」だとも思う。
    自分で書くならせめてconsoleにログ吐いたりするかな。
    エディタであちこち触ってるうちにうっかり余計な文字が紛れ込んだりして
    「なぜか動かない」で延々悩んだりするのは嫌なんで。
    820 : Name_Not - 2010/08/27(金) 15:26:44 ID:??? (+56,+29,+0)
    >>816
    やはりそうですか・・・・
    821 : Name_Not - 2010/08/27(金) 15:30:57 ID:??? (+84,+30,-58)
    自分の勝手なイメージだけど
    JAVAはエラーが起きて止まったり落ちたりしたら大事だから
    例外処理は基本というかその例外処理自体が結構メインよりの動作だったりするけど
    JavaScriptはエラーが起きたらその時は動かないで問題ない、または決まった動作をさせればすむ処理をさせることも多いし
    簡潔でどうなるか予想できる処理をさせることが多いからそもそも例外処理はオマケレベルの気がする
    822 : Name_Not - 2010/08/27(金) 16:59:44 ID:??? (+45,+5,-15)
    >>821
    コードの6割はエラー処理だからな。仕方ない。
    823 : Name_Not - 2010/08/27(金) 17:02:27 ID:??? (+3,-29,-51)
    500KB程の大きめのページをIEで読み込むと最初の数秒間固まってしまうのですが、javascriptでなんとかなったりしないでしょうか?
    ちなみに他のFirefox,Chrome,Operaなどはスムーズに読み込めます
    824 : Name_Not - 2010/08/27(金) 17:07:24 ID:??? (-8,-29,-92)
    HTML自体が500kbだったらパースとレンダリングで固まってるわけだから
    HTMLの内容を分割してonloadなりでsetTimeoutを駆使して追記していくぐらいしか無いかな
    825 : Name_Not - 2010/08/27(金) 17:32:49 ID:??? (+83,+18,-1)
    >>824
    サンクス
    やっぱ分割するしかないですか

    IE滅びればいいのに^^
    826 : Name_Not - 2010/08/27(金) 18:18:17 ID:??? (+103,+29,-8)
    >>825
    テーブルとかだったらIEを滅ぼす前に出来ることはある
    828 : Name_Not - 2010/08/27(金) 19:03:22 ID:??? (+96,+29,-24)
    >>826
    大部分が唯のテキストなんだ…

    >>827
    おお、それはなんか手軽そう
    ちょっと試してみまする
    829 : Name_Not - 2010/08/27(金) 19:13:35 ID:??? (+25,+29,-26)
    と思ったけど残りの分の読み込みのトリガーはどうやればいいのかな
    javascriptだけじゃ、残りの分は10秒後に読み込み、とかできないし
    スクロール監視がいいだろうか
    830 : Name_Not - 2010/08/27(金) 19:34:55 ID:??? (-7,-29,-30)
    display:none;にしても初回読み込み量は変わらなかったでござる
    831 : Name_Not - 2010/08/27(金) 19:39:21 ID:??? (-1,-29,-18)
    display:none;にしても見えなくなるだけで読み込まれる量は変わらないし・・・
    832 : Name_Not - 2010/08/27(金) 20:08:22 ID:woiBJ7zF (-13,+29,-29)
    >>830-831
    解析じゃなくてレタリングが一番重いんだぞ?
    そもそも読み込み量の問題なら、原文を修正するしかないだろ。
    833 : Name_Not - 2010/08/27(金) 21:16:04 ID:??? (+70,+30,-39)
    >>828
    唯!唯!唯!唯ぅぅうううわぁああああああああん!!! あぁクンカクンカ!クンカクンカ!
    って500kbくらい書き連ねているのかと思った
    834 : Name_Not - 2010/08/27(金) 21:20:32 ID:??? (-1,-29,-3)
    ( ´д)ヒソ(´д`)ヒソ(д` )
    835 : Name_Not - 2010/08/27(金) 21:24:02 ID:??? (+2,-24,-21)
    >>832
    レタリング?
    レンダリングとは違うの?
    836 : Name_Not - 2010/08/27(金) 21:36:13 ID:woiBJ7zF (-20,+29,-3)
    揚げ足しかとれねーのか。このスレも終わったな。
    837 : Name_Not - 2010/08/27(金) 21:37:14 ID:??? (+52,+29,-1)
    唯の誤字にいちいち構うなよ
    839 : Name_Not - 2010/08/27(金) 22:02:45 ID:??? (+9,-30,-40)
    >>775
    var a = function(){alert("a")};
    var obj = function(){};
    obj.prototype.hoge = new a;
    obj.hoge();
    840 : Name_Not - 2010/08/27(金) 22:05:17 ID:woiBJ7zF (-21,+28,-16)
    >>839
    おいおいw
    それは、new aの段階でアラートが出てるんだぞ。
    841 : Name_Not - 2010/08/27(金) 22:15:27 ID:??? (+3,-30,-72)
    こうだろw
    var a = function(){alert("a")};
    var Obj = function(){};
    Obj.prototype.hoge = a;
    obj = new Obj();
    obj.hoge();
    しかも、動的生成じゃないしw
    842 : Name_Not - 2010/08/27(金) 22:20:54 ID:??? (+3,-30,-39)
    >>839
    やりたいのはこういうことかな。

    var a = 'hello';
    var b = function() { alert(a); };
    var obj = {};
    obj[a] = b;
    obj.hello();

    いずれにしてもJavaScriptの基礎を勉強したほうがいいと思うよ。
    843 : Name_Not - 2010/08/27(金) 22:25:55 ID:??? (-11,-29,-19)
    >>838
    試しに文章を全部display:none;してみたところ、やはり数秒固まってしまいました

    というわけで諦めて分割しようかと思います
    844 : Name_Not - 2010/08/27(金) 22:44:22 ID:??? (+5,-30,-35)
    >>839
    こうだね
    var obj
    obj[hoge]=function(){alert("a")}
    obj.hoge();
    845 : Name_Not - 2010/08/28(土) 01:15:36 ID:??? (+3,-30,-65)
    >>844
    ケアレスミスだと思うけど、それじゃhogeの中がhoge固定で意味ないよ
    var obj={}, hoge = 'aaaaaaaa';
    obj[hoge]=function(){alert("a")};
    obj[hoge]();
    ってしたかったのかな
    849 : Name_Not - 2010/08/29(日) 17:18:30 ID:??? (-1,-30,-77)
    >>846
    文字数減らしたいだけなら、

    var x = document.getElementById(id);
    var h = "innerHTML";

    x[h] += str;
    ... ...

    パフォーマンスも考慮するなら、

    var html = [];
    html.push(str);
    ... ...
    x.innerHTML = html.join("");
    850 : Name_Not - 2010/08/29(日) 17:50:45 ID:YiBNjmdi (+35,+29,-15)
    >790です
    あれから誰にも回答を貰えませんでした…
    どうかどうかヒントをください…
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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