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

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

    JavaScript覧 / PC版 /
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter

    801 = :

    >>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 = :

    あ、コード間違ってんな

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

    804 = :

    それがスマートだと感じるのはすごいな

    てかXMLじゃなくてJSON使えと言うべきなんじゃないか

    806 = :

    try-cathcは最後の手段だと思ってる
    原因をはっきりさせて対処しないと後に響くかもしれんし
    あとtry-catchよりifの方が速い。数回程度じゃ誤差だろうが

    807 = :

    >806
    うちの環境じゃあ引っ掛からなかった場合はむしろ速いんだが

    809 = :

    >>807
    お前の環境じゃあそうなんだろうな。

    メソッドチェーンしてエラーはtry-catch
    は、処理として美しいかも知れんけど
    問題発生時の切り分けが困難すぎて
    うんこだよな。

    810 = :

    独自に何かしらの変数を定義せずに
    使うスクリプトにおいてファイル名とか
    uniqIDみたいなのって取得できないでしょうか・・・

    用途としてはuserscriptとかで
    localStorageに保存する時のprefixにしたいんです・・・

    811 = :

    try catchなら getElementByTagName とか書いてても動くんだぜ!
    すごいよな!!

    XPathは…まあ、ブラウザ限定って話ならないこともないけどさ
    オレオレXMLでXPathって、無駄が多すぎるだろ

    812 = :

    >>801
    できました!ありがとうございます!

    813 = :

    >>810
    location.pathnameだと長いか

    814 = :

    >>810
    prefixつけるのは何が目的なの?
    サイト側から見えるのを気にしてる?
    ランダムに付けたとしてもfor inで調べられるから無駄だと思うけど

    815 = :

    >>813
    localStorage自体がorigin毎に保存されます

    で、この時問題なのが同じoriginに対して
    複数のuserscriptを適用した時に
    localStorageのkeyが被ると
    別のuserscriptの値を上書き/取得できちゃうんです・・・

    816 = :

    適当な名前付ける他ないんじゃないかなあ
    com.yourdomain.scriptNameなり

    817 = :

    >809
    いやいやなんでもかんでも使おうって言ってるんじゃないよ
    このケースではこれが一番得策だろう
    いろんなプログラミングばっかりして大雑把なものへの抵抗が強くなり過ぎてない?

    818 = :

    >>817
    それは否定しない。
    デバッグの必要が無いワンライナーなら楽しい書き方だと思う。
    でもデバッガを起動するならメソッドチェーンは敵だよね。

    819 = :

    特にJavaScriptでは例外の型を選んでcatchすることができないんだから、
    try-catch使うのであればどのようなエラーが発生する可能性があるのか
    自分できっちりと把握して使うのが当たり前だと思う
    (それはJavaやC#でも同じだけど)。
    それをせずに「とりあえず」でnullや空文字を返すコードは時限爆弾みたいなもん。
    逆に何が起こるか自分で全部知っているなら例外を全部握りつぶしても問題ない。

    個人的には>>803はずいぶん荒っぽいやり方に見えるけど、
    十分確認した上でなら「あり」だとも思う。
    自分で書くならせめてconsoleにログ吐いたりするかな。
    エディタであちこち触ってるうちにうっかり余計な文字が紛れ込んだりして
    「なぜか動かない」で延々悩んだりするのは嫌なんで。

    820 = :

    >>816
    やはりそうですか・・・・

    821 = :

    自分の勝手なイメージだけど
    JAVAはエラーが起きて止まったり落ちたりしたら大事だから
    例外処理は基本というかその例外処理自体が結構メインよりの動作だったりするけど
    JavaScriptはエラーが起きたらその時は動かないで問題ない、または決まった動作をさせればすむ処理をさせることも多いし
    簡潔でどうなるか予想できる処理をさせることが多いからそもそも例外処理はオマケレベルの気がする

    822 = :

    >>821
    コードの6割はエラー処理だからな。仕方ない。

    823 = :

    500KB程の大きめのページをIEで読み込むと最初の数秒間固まってしまうのですが、javascriptでなんとかなったりしないでしょうか?
    ちなみに他のFirefox,Chrome,Operaなどはスムーズに読み込めます

    825 = :

    >>824
    サンクス
    やっぱ分割するしかないですか

    IE滅びればいいのに^^

    826 = :

    >>825
    テーブルとかだったらIEを滅ぼす前に出来ることはある

    828 = :

    >>826
    大部分が唯のテキストなんだ…

    >>827
    おお、それはなんか手軽そう
    ちょっと試してみまする

    829 = :

    と思ったけど残りの分の読み込みのトリガーはどうやればいいのかな
    javascriptだけじゃ、残りの分は10秒後に読み込み、とかできないし
    スクロール監視がいいだろうか

    833 = :

    >>828
    唯!唯!唯!唯ぅぅうううわぁああああああああん!!! あぁクンカクンカ!クンカクンカ!
    って500kbくらい書き連ねているのかと思った

    835 = :

    >>832
    レタリング?
    レンダリングとは違うの?

    837 = :

    唯の誤字にいちいち構うなよ

    839 = :

    >>775
    var a = function(){alert("a")};
    var obj = function(){};
    obj.prototype.hoge = new a;
    obj.hoge();

    841 = :

    こうだろw
    var a = function(){alert("a")};
    var Obj = function(){};
    Obj.prototype.hoge = a;
    obj = new Obj();
    obj.hoge();
    しかも、動的生成じゃないしw

    842 = :

    >>839
    やりたいのはこういうことかな。

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

    いずれにしてもJavaScriptの基礎を勉強したほうがいいと思うよ。

    844 = :

    >>839
    こうだね
    var obj
    obj[hoge]=function(){alert("a")}
    obj.hoge();

    845 = :

    >>844
    ケアレスミスだと思うけど、それじゃhogeの中がhoge固定で意味ないよ
    var obj={}, hoge = 'aaaaaaaa';
    obj[hoge]=function(){alert("a")};
    obj[hoge]();
    ってしたかったのかな

    850 :

    >790です
    あれから誰にも回答を貰えませんでした…
    どうかどうかヒントをください…


    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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