私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ+ JavaScript の質問用スレッド vol.94 +
JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
Feedはどこのでもいいのですがここでは↓を使って質問させていただきます
http://blog.livedoor.jp/dqnplus/atom.xml
Feedを提供するサイトのタイトルを取得したいのですが
var title = document.querySelector("title"); // ほとんどのサイトで1番目にヒットしたtitleがサイトのタイトルだったのでqueryselectorを利用した
console.log(title); // <title>そのサイトのタイトル</title>が表示される
console.log(title.innerText.replace('/</?title>/g','')); // ここで文字列のみ取得したいので置換してタグを消したい
とやると3行目の部分で
TypeError: Cannot call method 'replace' of undefined
というエラーが出ます
どうやってタイトルを取得したらよいでしょうか?
http://blog.livedoor.jp/dqnplus/atom.xml
Feedを提供するサイトのタイトルを取得したいのですが
var title = document.querySelector("title"); // ほとんどのサイトで1番目にヒットしたtitleがサイトのタイトルだったのでqueryselectorを利用した
console.log(title); // <title>そのサイトのタイトル</title>が表示される
console.log(title.innerText.replace('/</?title>/g','')); // ここで文字列のみ取得したいので置換してタグを消したい
とやると3行目の部分で
TypeError: Cannot call method 'replace' of undefined
というエラーが出ます
どうやってタイトルを取得したらよいでしょうか?
dojoについての質問なのですが、こちらのスレで大丈夫でしょうか?汗
dijit.layout.TabContainerにContentPaneをaddChildしたときに、ページ読込後の処理を行いたく、
dojo.connect(tempContentPane, "onDownloadEnd", function(e){
// ここで関数呼び出し
});
としたら、Error: This deferred has already been resolvedというエラーが出てきました。
ただ、エラーが出ても正常に動いているようにしか見えないのです。
ブラウザは、Firefox9.1です。
よろしくお願いします。
dijit.layout.TabContainerにContentPaneをaddChildしたときに、ページ読込後の処理を行いたく、
dojo.connect(tempContentPane, "onDownloadEnd", function(e){
// ここで関数呼び出し
});
としたら、Error: This deferred has already been resolvedというエラーが出てきました。
ただ、エラーが出ても正常に動いているようにしか見えないのです。
ブラウザは、Firefox9.1です。
よろしくお願いします。
すいません自己解決しました
var title = document.querySelector("title");
console.log(title.textContent);
で文字列だけ取れました
chromeで確認取れたんですがchromeってtextContentに対応してましたっけ?
firefoxだけがtextContentを使えるものだと思ってたんですがchromeのバージョンが上がってtextContentも使えるようになったんでしょうかね?
var title = document.querySelector("title");
console.log(title.textContent);
で文字列だけ取れました
chromeで確認取れたんですがchromeってtextContentに対応してましたっけ?
firefoxだけがtextContentを使えるものだと思ってたんですがchromeのバージョンが上がってtextContentも使えるようになったんでしょうかね?
>>97
レスありがとうございます。
フラグ立ててやってみたんですが、
動作するように書けませんでした…。
それに「消すのは即時、表示はほんの少し遅延」が
何故良いのかさえもわかりません…。
http://jsbin.com/alohak/
どう書けば良いかアドバイス頂けないでしょうか。
レスありがとうございます。
フラグ立ててやってみたんですが、
動作するように書けませんでした…。
それに「消すのは即時、表示はほんの少し遅延」が
何故良いのかさえもわかりません…。
http://jsbin.com/alohak/
どう書けば良いかアドバイス頂けないでしょうか。
やろうとしていることがいまいち分からんのだけど、
ドロップダウンメニューのロジックとどう違うんだ。
ドロップダウンメニューのロジックとどう違うんだ。
>108
hrefも書き換えたくないくらいだからそれはダメなんじゃないかな
hrefも書き換えたくないくらいだからそれはダメなんじゃないかな
特定の条件発生時に音でブザーを発生させたいのですが
方法としては色々とあるのですが
音楽を流すのではなく、何回も呼び出すときはHTML5を使って呼び出すのが一番良いのでしょうか?
方法としては色々とあるのですが
音楽を流すのではなく、何回も呼び出すときはHTML5を使って呼び出すのが一番良いのでしょうか?
画面を左クリックするたびにブッブー!とブザーが鳴るような感じです
連打したらブブッブブブブッブーという感じに
連打したらブブッブブブブッブーという感じに
普通のAudioAPIはそういう場合レスポンス良くないからそれ以外のAPI使いなさい
あとモバイルは常に無音を流してないとスピーカーが切れてレスポンス悪くなるから注意
あとモバイルは常に無音を流してないとスピーカーが切れてレスポンス悪くなるから注意
64bit osだとtime()やDate()で2038年以降の時間を扱えるのですか?
この理由で次買うPCで32bitか64bitで迷ってます
この理由で次買うPCで32bitか64bitで迷ってます
>>119
そもそも普通の環境では全然速くもないしな
そもそも普通の環境では全然速くもないしな
+=だとappend
メンドイから超めちゃくちゃなコード書くけど
for(i++ iを100まで){
ほにゃらら.innerHTML += i
}
ってやると
1回目は1、2回目は12、3回目は123って描写「しなおす」
appendだと1回目は1を追加、2回目は2を追加って追加するだけ
メンドイから超めちゃくちゃなコード書くけど
for(i++ iを100まで){
ほにゃらら.innerHTML += i
}
ってやると
1回目は1、2回目は12、3回目は123って描写「しなおす」
appendだと1回目は1を追加、2回目は2を追加って追加するだけ
描写と言ってもDOMを保持してる内部的な文字列が更新されるだけだから
実際コストはかなり少ないよ
実際コストはかなり少ないよ
>>124
ここまで酷く、解り易いコードはじめて見た
ここまで酷く、解り易いコードはじめて見た
inputの中身を送るときはnameがいいが
Javascriptで取得する時はidにしとけ。マジで
Javascriptで取得する時はidにしとけ。マジで
>122,124
これだとinnerHTMLの方が10倍速い
var t=+new Date;
var df=document.createDocumentFragment();
var bi=document.body.innerHTML;
for(var i=0;i<10000;i++){
bi+=i;
//df.appendChild(document.createTextNode(i));
}
t=+new Date-t;
alert(t/1000+"[s]");
これだとinnerHTMLの方が10倍速い
var t=+new Date;
var df=document.createDocumentFragment();
var bi=document.body.innerHTML;
for(var i=0;i<10000;i++){
bi+=i;
//df.appendChild(document.createTextNode(i));
}
t=+new Date-t;
alert(t/1000+"[s]");
>>131
えっ
えっ
>>131
何かコードがスッキリしてなくてキンタマがムズムズする
何かコードがスッキリしてなくてキンタマがムズムズする
こうやればスッキリするんじゃね?
var t=+new Date,df=document.createDocumentFragment(),bi=document.body.innerHTML;
for(var i=0;i<10000;i++){bi+=i;/*df.appendChild(document.createTextNode(i));*/}
t=+new Date-t;alert(t/1000+"[s]");
var t=+new Date,df=document.createDocumentFragment(),bi=document.body.innerHTML;
for(var i=0;i<10000;i++){bi+=i;/*df.appendChild(document.createTextNode(i));*/}
t=+new Date-t;alert(t/1000+"[s]");
>>131
結果はあまり変わらないけど、biをinnerHTMLに反映するのを忘れてるぞ。
結果はあまり変わらないけど、biをinnerHTMLに反映するのを忘れてるぞ。
// 時間計測
console.time("test");
console.timeEnd("test");
// プロファイラ使用
console.profile("test");
console.profileEnd("test");
"test"はラベル
console.time("test");
console.timeEnd("test");
// プロファイラ使用
console.profile("test");
console.profileEnd("test");
"test"はラベル
createElement
createDocumentFragment
innerHTML
の3つで検証したほうがいい系?
データ数が少ない場合と多い場合の平均を計測したほうがいい系?
createDocumentFragment
innerHTML
の3つで検証したほうがいい系?
データ数が少ない場合と多い場合の平均を計測したほうがいい系?
>140なんのテストだよ
作る方は時間かかるしこのくらいの差や比があるって調べるのには意義があるけど
タグたくさん使ったりしてる時でもないこの場合APPENDのそれを調べても全く意義ないだろ
そこまで細かな調査結果が欲しいんなら自分で調べてブログの記事にでもしろよ
作る方は時間かかるしこのくらいの差や比があるって調べるのには意義があるけど
タグたくさん使ったりしてる時でもないこの場合APPENDのそれを調べても全く意義ないだろ
そこまで細かな調査結果が欲しいんなら自分で調べてブログの記事にでもしろよ
appendChildと純粋な文字列連結を比べて、10倍速い!と言われてもな
このテストではDOMへの反映まで含めないとダメだろう
結果は同じだろうけどもう一度書き直しだな┐(´-`)┌
このテストではDOMへの反映まで含めないとダメだろう
結果は同じだろうけどもう一度書き直しだな┐(´-`)┌
ループ中にdocumentにアクセスするようなコードを書く時点で
ドシロウトだとわかる
ドシロウトだとわかる
>>131が何と何を比較してるのかよくわからない
シリアライズした文字列をalertするならappendChild出てこないよ
シリアライズした文字列をalertするならappendChild出てこないよ
>>131は連結した文字列に対して createTextNode するのが自然な発想だと思うが
テキストノードを分割するメリットって何かある?
テキストノードを分割するメリットって何かある?
>>144
じゃあどうすればいい?その点に関してはあのコードで問題ないと思うよ。
じゃあどうすればいい?その点に関してはあのコードで問題ないと思うよ。
あーわかったわかった
ほら書き直したぞ、まだ不満か?
結果は10000回でinnerHTMLの方が16倍速い圧勝でした
var d=document;
var t=+new Date;
//var bi=d.body.innerHTML;
var df=d.createDocumentFragment();
for(var i=0;i<10000;i++){
//bi+=i;
df.appendChild(d.createTextNode(i));
}
//d.body.innerHTML=bi;
d.body.appendChild(df);
t=+new Date-t;
alert(t/1000+"[s]");
ほら書き直したぞ、まだ不満か?
結果は10000回でinnerHTMLの方が16倍速い圧勝でした
var d=document;
var t=+new Date;
//var bi=d.body.innerHTML;
var df=d.createDocumentFragment();
for(var i=0;i<10000;i++){
//bi+=i;
df.appendChild(d.createTextNode(i));
}
//d.body.innerHTML=bi;
d.body.appendChild(df);
t=+new Date-t;
alert(t/1000+"[s]");
>>148
スコープチェーンが全然違うコードを比較して問題ないと申すか
スコープチェーンが全然違うコードを比較して問題ないと申すか
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.90 + (1001) - [97%] - 2011/11/15 20:32
- + JavaScript の質問用スレッド vol.84 + (1001) - [97%] - 2011/3/30 7:32
- + JavaScript の質問用スレッド vol.74 + (1001) - [97%] - 2009/12/1 6:08 ○
- + JavaScript の質問用スレッド vol.99 + (1001) - [97%] - 2012/5/7 4:32
- + JavaScript の質問用スレッド vol.98 + (1001) - [97%] - 2012/4/9 14:46
- + JavaScript の質問用スレッド vol.97 + (1001) - [97%] - 2012/3/1 3:31
- + JavaScript の質問用スレッド vol.96 + (1001) - [97%] - 2012/1/28 23:01
- + JavaScript の質問用スレッド vol.95 + (1001) - [97%] - 2012/1/17 4:16
- + JavaScript の質問用スレッド vol.93 + (1001) - [97%] - 2012/1/1 4:46
- + JavaScript の質問用スレッド vol.93 + (1001) - [97%] - 2011/12/10 18:31
- + JavaScript の質問用スレッド vol.90 + (1001) - [97%] - 2011/10/26 4:18
- + JavaScript の質問用スレッド vol.114 + (1001) - [95%] - 2014/5/3 10:45
- + JavaScript の質問用スレッド vol.142 + (984) - [95%] - 2020/8/27 19:15
- + JavaScript の質問用スレッド vol.124 + (1001) - [95%] - 2015/7/16 1:30
- + JavaScript の質問用スレッド vol.104 + (1001) - [95%] - 2013/1/28 4:00
- + JavaScript の質問用スレッド vol.141 + (881) - [95%] - 2021/4/19 9:00
- + JavaScript の質問用スレッド vol.142 + (926) - [95%] - 2019/12/23 13:15
トップメニューへ / →のくす牧場書庫について