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

    私的良スレ書庫

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

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

    JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - window.open + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    452 : Name_Not - 2009/11/01(日) 09:37:07 ID:??? (-2,-30,-63)
    <iframe>のinnerHTMLを表示したから。
    nakami=document.getElementById("readFrame").ownerDocument.body.innerHTML;
    453 : Name_Not - 2009/11/01(日) 11:27:01 ID:??? (+27,+0,-23)
    iframeの中身であっても、ドメイン超えだとアクセスできなかったりはしない?
    確認せず適当に言うが。
    454 : Name_Not - 2009/11/01(日) 12:14:57 ID:??? (+3,-30,-133)
    そんな事が出来たら
    <iframe src="http://www.amazon.co.jp/" id="readFrame"></iframe>
    alert(document.evaluate("//div/span[@class='navGreeting']",document.getElementById("readFrame").ownerDocument,null,0,null)).iterateNext().textContent);

    こうするだけでAmazonで使ってる自分の名前が表示出来ちゃうね
    455 : Name_Not - 2009/11/01(日) 13:51:29 ID:??? (+15,-12,+1)
    XPathがどうしようもなく分からない
    456 : Name_Not - 2009/11/01(日) 15:21:27 ID:??? (+57,+29,-1)
    異ドメイン操作不可というのはよいですよね。
    457 : Name_Not - 2009/11/01(日) 15:50:32 ID:??? (-1,-29,-25)
    XPathは軸とノードテストと述語を省略せずに覚えろ
    //divとか書いてあるのは、とりあえず参考にするな
    458 : Name_Not - 2009/11/01(日) 16:21:07 ID:??? (+3,-30,-53)
    //divは/descendant-or-self::node()/child::divの省略形だからな
    /descendant::divとは効率も結果も全然違う
    特にJavaScript-XPathを使って//divと書いてる奴は悔い改めた方がいい
    459 : Name_Not - 2009/11/01(日) 17:05:24 ID:??? (+57,+29,-2)
    省略しないと長すぎるって言われるんだもん
    460 : Name_Not - 2009/11/01(日) 17:37:19 ID:??? (-1,-29,-21)
    ownerDocumentとcontentDocumentを混同してる奴がいるな
    461 : Name_Not - 2009/11/01(日) 21:30:40 ID:??? (+57,+29,-19)
    あはは誰だownerとか書いてるヤツ。
    ownの意味もわかんないのかwwwww俺
    462 : Name_Not - 2009/11/02(月) 03:29:53 ID:??? (+22,-29,-92)
    表示させたくない要素は、positionでleftとtop
    のどちらに大きな負の値を入れるのがよいでしょうか。
    要素を飛ばすとき、bottomとrightに指定すると
    ブラウザによってはスクロールがでてしまいました。
    今はleftでしているのですが、ほぼ差し支えないでしょうか?
    よろしくお願いします。
    463 : Name_Not - 2009/11/02(月) 04:21:10 ID:??? (+12,-29,-13)
    display: none
    464 : Name_Not - 2009/11/02(月) 04:22:32 ID:??? (+46,+18,-19)
    あれ、つうかcssでいいのか?
    ここjavascriptのスレだけど?
    465 : Name_Not - 2009/11/02(月) 05:00:32 ID:??? (+63,+30,-33)
    cssスレだと、js知らないやつからしたら
    使い道よりも一つの方法としての意識の方が強いが
    js、css両方知ってるやつからしたら
    明確に、使い道として理解してる
    まぁどっちでもいいんじゃないだろうか
    強いて言うならjsスレの方で聞くほうが賢いと思う
    466 : Name_Not - 2009/11/02(月) 09:26:21 ID:??? (+13,-30,-88)
    正方形200×200のエリアがあって、その上をマウスが動くときに
    その正方形の中心から100×100の範囲だけ有効にしたくて
    マウスのx座標、y座標それぞれxとyにして
    if(x>50 && y>50 && x<150 && y<150){}
    みたいにしたんだけどもっとカッコいい書き方があるような気がしてそわそわするから教えて
    467 : Name_Not - 2009/11/02(月) 09:48:41 ID:??? (+57,+29,-29)
    何かが間違っているような気がしてそわそわする
    468 : Name_Not - 2009/11/02(月) 11:00:17 ID:??? (+3,-30,-41)
    似たようなことを繰り返すなら俺はRectオブジェクトでも用意するけど、最終的にやってることは変わらんから一回だけならそれでもいい
    var r = new Rect(50, 50, 100, 100);
    if (r.contains(x, y))

    ちなみにそれ99x99だぞ、不等号使うときはよく考えろ
    469 : Name_Not - 2009/11/02(月) 13:16:10 ID:lWYkjuDV (+30,+29,-23)
    >>462
    ほぼ差し支えないんじゃないかと。

    >>463
    作った要素の大きさをこっそり測っておきたい時とか、あるじゃん。
    470 : Name_Not - 2009/11/02(月) 15:37:44 ID:??? (+76,+29,-29)
    測りたいときだけそうすればいい
    多少なりとも描画に時間を費やしているから測れるってことを忘れんな
    471 : Name_Not - 2009/11/02(月) 15:49:28 ID:??? (+57,+29,-7)
    計りたいときだけそうできればどんなに楽だったろうな
    472 : Name_Not - 2009/11/02(月) 16:16:12 ID:lWYkjuDV (+38,+29,-5)
    >>470
    >測りたいときだけそうすればいい

    あ、それはそうだと思います。
    473 : Name_Not - 2009/11/02(月) 18:03:50 ID:??? (+4,-29,-31)
    parseIntって非推奨とかある?
    なんかどっかで見た気がするんだけど勘違いなきがするのでお願いします
    474 : Name_Not - 2009/11/02(月) 18:21:56 ID:??? (+3,-30,-60)
    >>473
    parseInt()はECMA-262で規定されているので使うことは無問題。
    ただ、1引数で使うと'012'みたいに0で始まる文字列は8進として
    解釈されるため、常に2引数で使った方がいい。

    それを忘れるくらいならむしろparseFloat()を使えばと前に
    ここで書いたがそれには異論もあったかと。まあそれだけ。
    475 : Name_Not - 2009/11/02(月) 18:55:01 ID:??? (+49,+21,-3)
    あとはきちんと戻値をisNaN()にかけてNaNチェックするとかね
    まあ使いどころによるけど
    476 : Name_Not - 2009/11/02(月) 19:43:46 ID:lWYkjuDV (+27,+29,-9)
    みんなNaNってなんて読んでる?
    自分は奈良ナンバーと読んでいるんだけど…
    477 : Name_Not - 2009/11/02(月) 23:22:47 ID:??? (+29,+11,+0)
    ナン
    478 : Name_Not - 2009/11/03(火) 10:17:21 ID:??? (+38,+20,+0)
    ナソ
    479 : Name_Not - 2009/11/03(火) 10:55:49 ID:??? (+64,+29,-49)
    文末のセミコロンはつけるべきですか?
    それとも省略すべきですか?
    480 : Name_Not - 2009/11/03(火) 11:24:10 ID:??? (+62,+26,+0)
    つけるべき
    481 : Name_Not - 2009/11/03(火) 11:34:29 ID:??? (+49,+26,-16)
    寧ろ改行とかいらん
    482 : Name_Not - 2009/11/03(火) 11:34:38 ID:??? (+35,+8,+1)
    >>480
    483 : Name_Not - 2009/11/03(火) 12:04:50 ID:??? (+45,-29,-136)
    >479
    つけないとセミコロンは自動補完されるわけだけど、稀にセミコロンがつくと思ってた場所につかなくい、って事がある。
    (まあ、逆に「つかないと思ってた場所にセミコロンがつく」場合の方が多いが。例えば
    return
    {
    aaa : bbb
    }; // nullが返る

    いずれにせよ原因を非常に特定しづらいバグを生むので、なるべくつけるようにした方がいい。
    484 : Name_Not - 2009/11/03(火) 12:06:35 ID:??? (+52,+29,+0)
    つかなくい→つかない
    485 : Name_Not - 2009/11/03(火) 12:09:48 ID:??? (+64,+29,+0)
    >>483
    そうなんですか
    つけるようにします。
    486 : Name_Not - 2009/11/03(火) 14:28:00 ID:??? (+41,+23,+0)
    なんちゃって
    487 : Name_Not - 2009/11/03(火) 21:57:15 ID:??? (-2,-30,-33)
    for(){}
    とか
    if(){}
    とかもセミコロンつけた方がいいですか?
    488 : Name_Not - 2009/11/03(火) 22:05:04 ID:??? (-2,-30,-100)
    arr=['test'];
    oj={'a':'test'};
    上の配列と下のJSONって
    arr[0]とoj.aだと、配列の方が
    testの引き出しが速いんですよね?(大差なしという話ではなくて)
    489 : Name_Not - 2009/11/03(火) 22:07:27 ID:??? (+23,-14,-18)
    evalするコストが無い分配列のほうが断然早いな、
    490 : Name_Not - 2009/11/03(火) 22:48:53 ID:??? (+7,-30,-45)
    >>489
    なるほど参考になります。

    あと、oj={'a':'test'};場合
    oj.aでもoj['a']でもどちらでもtestを取れるみたいなんですが
    これって何か違いがあるんでしょうか
    491 : Name_Not - 2009/11/03(火) 23:06:40 ID:??? (+0,-29,-14)
    JSON=文字列
    492 : Name_Not - 2009/11/03(火) 23:15:44 ID:??? (+5,-30,-172)
    >>489
    ハッシュするコストじゃないか?評価はどっちもするし

    って質問内容に忠実すぎるのかw
    それはオブジェクトリテラルだ、JSONならこう
    var json = "{'a':'test'}";
    var oj = eval(json);

    >>490
    使用可能な文字の違い(文字列リテラルならほぼ全て)
    静的or動的
    Stringオブジェクトの要不要

    二番目の差が一番でかいと思う
    var v = "a";
    alert(oj[v]);
    もちろん便利な分、若干でも処理にコストがかかる
    493 : Name_Not - 2009/11/04(水) 01:05:10 ID:??? (+2,-30,-45)
    >>491,492
    勘違いしておりましたありがとうございました。
    たしかにoj.aだとa=なんたらとかにして代入できずでした
    あとoj['a']のときよりもシビアなリテラル選びになりそうでした
    ただやはり処理を速くくしようとすれば
    配列>オブジェクトリテラルのoj.a>oj['a']
    な感じでしょうか
    ありがとうございました。
    494 : Name_Not - 2009/11/04(水) 01:32:59 ID:??? (+62,+29,-65)
    ちゃんとベンチとったほうがいいぞ
    Arrayでもデータ構造はObjectの使い回しをしてる可能性もあるし
    最適化とか関わるとドット演算子使うのが一番速い場合だって考えられる

    つーか変数使うのが一番速い
    495 : Name_Not - 2009/11/04(水) 02:03:07 ID:??? (+3,-30,-279)
    Firefox 3.0以上向けにJavaScriptのプログラムを組んでいます。
    Canvasを利用した描画を行いたいと思っているのですが、点線の描画方法が分かりません。
    点線でなく、実線の描画方法ならば、下記の通りに出来ました。
    --ソースの描画部分--
    //キャンバスの取得
    var canvas = document.getElementById("canvas");
    if (!canvas.getContext)
    return; // Unsupported
     //線描画
    cv = canvas.getContext("2d");
    cv.beginPath();
    cv.lineTo(25,255);
    --  ここまで  --
    点線の描画を行いたいので、そちらをお願いいたします。
    496 : Name_Not - 2009/11/04(水) 06:01:10 ID:??? (+3,-30,+0)
    便乗でcanvasの質問します。
    以下のコードでf=[16,16,20,20]のときより明らかにf=[16,16,32,32]のときの方が
    四角の描写までの反応が速いのですが、何が原因でしょうか。
    一応自分でいろいろと考えてみたのですが、f=[16,16,20,20]のとき、
    1.座標取得の時点で反応が遅れている(pageXやoffsetLeft、offsetTopが原因?)
    2.helpのinnerHTMLのコメントアウトの行を有効にしたとき、
      ・help要素がhoge1要素とかぶると遅い、
      ・hoge1要素と十分にかぶらないくらい(16×20より上)の値をhelp要素のleftに入れると速い(例left:400px;)
    くらいしかわかりませんでした。いずれもFireFox3.0で実験した結果です。
    <html><body><div id="hoge1" style="border:2px dashed blue;position:absolute;left:0px;"><canvas id="hoge2" style="position:absolute;"></canvas></div>
    <div id="help" style="width:100px;height:50;position:absolute;left:0px;">a</div>
    <script type="text/javascript"><!--
    elem1=document.getElementById('hoge1');
    elem2=document.getElementById('hoge2');
    // f=[16,16,32,32];
    f=[16,16,20,20];
    elem1.style.width=f[0]*f[2];
    elem1.style.height=f[1]*f[3];
    elem2.width=f[0]*f[2];
    elem2.height=f[1]*f[3];
    ctx=elem2.getContext('2d');
    elem1.onmousemove=function(e){
    var px=Math.floor(e.pageX-this.offsetLeft);
    var py=Math.floor(e.pageY-this.offsetTop);
    var sa=[f[0]*Math.floor(px/f[0]),f[1]*Math.floor(py/f[1])];
    //document.getElementById('help').innerHTML=sa.join();
    var rgb=function(){return Math.floor(Math.random()*255+1)};
    ctx.fillStyle='rgb('+rgb()+','+rgb()+','+rgb()+')';
    ctx.fillRect(sa[0],sa[1],f[0],f[1]);
    }
    //--></script></body></html>
    497 : Name_Not - 2009/11/04(水) 07:40:32 ID:??? (+21,-6,-2)
    Firebugでたどっていくといいよ
    498 : Name_Not - 2009/11/04(水) 08:16:56 ID:??? (+71,+8,-33)
    JSONは二重引用符しか受け付けないし
    配列もJSONなんだぞ
    大丈夫かお前ら
    499 : Name_Not - 2009/11/04(水) 12:20:50 ID:??? (+32,-29,-42)
    >上の配列と下のJSONって
    という元質問に対して、JSONで配列が定義できることがどう関係するんだ?
    500 : Name_Not - 2009/11/04(水) 16:57:41 ID:??? (+66,+29,-2)
    >>499
    君は>>498の言ってることを全く理解してないと思う
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - window.open + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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