私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ+ JavaScript の質問用スレッド vol.89 +
JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
DOMエレメントに変数を記録しておく事って出来ませんか
例えば
addObj= document.createElement('div');
addObj.innerHTML="ほげほげ";
document.body.appendChild(addObj);
で、どんどんオブジェクトを作っていく時、addObjに外部から見えない変数、オブジェクト、配列を記録させたいです
serializeしてsetAttributeは思いついたのですが、serializeせずに直接データを入れる方法があればそっちを使いたいです
例えば
addObj= document.createElement('div');
addObj.innerHTML="ほげほげ";
document.body.appendChild(addObj);
で、どんどんオブジェクトを作っていく時、addObjに外部から見えない変数、オブジェクト、配列を記録させたいです
serializeしてsetAttributeは思いついたのですが、serializeせずに直接データを入れる方法があればそっちを使いたいです
>>654
jQueryの実装を例にすると、ノードオブジェクトにプロパティを1つ追加して、そのプロパティ値にデータ保存用オブジェクトのプロパティ名を保存しておくという方法がある
↓のページにある「jQuery.data 関数」の項目がパッと見わかりやすいかも
http://d.hatena.ne.jp/mollifier/20101006/p1
ただし、行儀が悪いというか、将来的な仕様変更で使えなくなる可能性がある
Nodeオブジェクトへのプロパティ追加が禁止されたらアウト
でも、とりあえず「今のところは」大丈夫な方法
一番確実なのはsetUserData()を使う方法
http://developer.mozilla.org/En/DOM/Node.setUserData
ただし、これ実装している処理系はGecko(Firefox)だけっぽいので、実用を考えると無理ゲー
というわけで、やっぱりjQueryみたいな方法を使うのが無難だと思う
jQueryの実装を例にすると、ノードオブジェクトにプロパティを1つ追加して、そのプロパティ値にデータ保存用オブジェクトのプロパティ名を保存しておくという方法がある
↓のページにある「jQuery.data 関数」の項目がパッと見わかりやすいかも
http://d.hatena.ne.jp/mollifier/20101006/p1
ただし、行儀が悪いというか、将来的な仕様変更で使えなくなる可能性がある
Nodeオブジェクトへのプロパティ追加が禁止されたらアウト
でも、とりあえず「今のところは」大丈夫な方法
一番確実なのはsetUserData()を使う方法
http://developer.mozilla.org/En/DOM/Node.setUserData
ただし、これ実装している処理系はGecko(Firefox)だけっぽいので、実用を考えると無理ゲー
というわけで、やっぱりjQueryみたいな方法を使うのが無難だと思う
>>654
クロージャに閉じ込めるかsetUserData
クロージャに閉じ込めるかsetUserData
>>656
表面の描画は基本的にスクリプトと非同期
要素の位置を変更しても基本的に直ちに描画はされない
スクリプトで非常に重い処理をし続ければそれが終わるまで描画が実行できない
そのためのsetInterval
表面の描画は基本的にスクリプトと非同期
要素の位置を変更しても基本的に直ちに描画はされない
スクリプトで非常に重い処理をし続ければそれが終わるまで描画が実行できない
そのためのsetInterval
var fuga = {};
fuga['日本語'] = 'ほげほげ';
fuga['英語'] = 'hogehoge';]
シンプルでいいとは思うのですが、ハッシュキーにマルチバイト文字をいれたくないのですが、いい改善方法ないでしょうか?
fuga['日本語'] = 'ほげほげ';
fuga['英語'] = 'hogehoge';]
シンプルでいいとは思うのですが、ハッシュキーにマルチバイト文字をいれたくないのですが、いい改善方法ないでしょうか?
fuga['ja'] = 'ほげほげ';
fuga['en'] = 'hogehoge';
何がしたいのかがいまいちわからない。
多言語対応の定義をどうすればいいのかという事?
fuga['en'] = 'hogehoge';
何がしたいのかがいまいちわからない。
多言語対応の定義をどうすればいいのかという事?
>>640
FileReaderの存在を知ったらすぐ作れた。thx
FileReaderの存在を知ったらすぐ作れた。thx
>>661
他にうまくデータ型を持てるように出来ればいいのですが、
もっともシンプルなのでできればハッシュがいいのですが、マルチバイトは避けたいので、
例えば多重配列にして、
var fuga = [
['日本語', 'ほげほげ'],
['英語', 'hogehoge']
];
なんかでもいいのですが、何かいい方法がないかと思って聞きました。
すみません。色々説明が下手で日本語も多分おかしいです。
他にうまくデータ型を持てるように出来ればいいのですが、
もっともシンプルなのでできればハッシュがいいのですが、マルチバイトは避けたいので、
例えば多重配列にして、
var fuga = [
['日本語', 'ほげほげ'],
['英語', 'hogehoge']
];
なんかでもいいのですが、何かいい方法がないかと思って聞きました。
すみません。色々説明が下手で日本語も多分おかしいです。
fuga['ja'] = ["日本語", 'ほげほげ'];
fuga['en'] =["英語", 'hogehoge'];
やりたいことがわからんな。
全言語のリスト(selectとか)作るなら>>663の配列でいいと思う。
fuga['en'] =["英語", 'hogehoge'];
やりたいことがわからんな。
全言語のリスト(selectとか)作るなら>>663の配列でいいと思う。
外部htmlファイルを読み込んでその中身を$htmlという変数に格納するところまではできたのですが
この$html内の<body>から</body>の中身のみ取得して$textへ格納する正規表現はどう書けばいいのでしょうか?
この$html内の<body>から</body>の中身のみ取得して$textへ格納する正規表現はどう書けばいいのでしょうか?
var iframe, doc, $text;
iframe = document.body.appendChild(document.createElement('iframe'));
iframe.style.cssText = 'position: absolute; top: -1000px';
doc = iframe.contentWindow.document;
doc.open();
doc.write($html);
doc.close();
document.body.removeChild(iframe);
$text = doc.body.innerHTML;
iframe = document.body.appendChild(document.createElement('iframe'));
iframe.style.cssText = 'position: absolute; top: -1000px';
doc = iframe.contentWindow.document;
doc.open();
doc.write($html);
doc.close();
document.body.removeChild(iframe);
$text = doc.body.innerHTML;
<html><body>hello</body></html>
<html><body>hello
<body>hello</body>
<body id="test">hello</body>
<body id='test'>hello</body>
<body id=test>hello</body>
<body id class><body>hello</body></body>
正規表現でやるならこれくらいは網羅してほしいな
<html><body>hello
<body>hello</body>
<body id="test">hello</body>
<body id='test'>hello</body>
<body id=test>hello</body>
<body id class><body>hello</body></body>
正規表現でやるならこれくらいは網羅してほしいな
>>668
無理矢理って感じだな。
なんか前時代的な書き方だ。
実際問題、iframeを使わずに外部ページを表示するのに
AJAXなどで外部のhtml取得。
でもその外部ファイルの<body>以外の<html>タグ、<head>内などいらない物を削除して埋め込むテキストを生成してページに埋め込むって
需要ありそうだけど情報無いよね。
無理矢理って感じだな。
なんか前時代的な書き方だ。
実際問題、iframeを使わずに外部ページを表示するのに
AJAXなどで外部のhtml取得。
でもその外部ファイルの<body>以外の<html>タグ、<head>内などいらない物を削除して埋め込むテキストを生成してページに埋め込むって
需要ありそうだけど情報無いよね。
あるにはあるけどやりたい事によって処理違うし
>>668の書き方は一番無難だと思うけどな
>>668の書き方は一番無難だと思うけどな
>>673
>正規表現はぐぐればいくらでも出てくる。
その調べながらやっているのですがうまく動かないんです。
/<body(.*?)>(.*?)<\/body>/
こんな感じでやったのですがうまく動きませんでした。
>正規表現はぐぐればいくらでも出てくる。
その調べながらやっているのですがうまく動かないんです。
/<body(.*?)>(.*?)<\/body>/
こんな感じでやったのですがうまく動きませんでした。
>>669
ねーよ
ねーよ
>>674
再現出来るソース
再現出来るソース
正規表現を削ってどこが問題なのか特定すればいいじゃん。
多分改行が問題。
多分改行が問題。
正規表現なんて使うもんじゃないと思うが…
<body>
<script>'</body>';</script>
<!-- </body> -->
<! </body> >
<![CDATA[ </body> ]]>
<p title="</body>">p</p>
</body>
<body>
<script>'</body>';</script>
<!-- </body> -->
<! </body> >
<![CDATA[ </body> ]]>
<p title="</body>">p</p>
</body>
(?:<\/body>\s*(?:<\/html>\s*)?)?$
こんなもんでどうよ、
というか、今回のは書き換えるとかじゃないならiframeで直接表示でいいと思う。
こんなもんでどうよ、
というか、今回のは書き換えるとかじゃないならiframeで直接表示でいいと思う。
必要ないかもしれないけど一応改行対策した物です。
/<body(.*?)>([\s\S]*)<\/body>/
/<body(.*?)>([\s\S]*)<\/body>/
素直にDOM使うべきだと思うけど、正規表現で>>678にどう対処する?
>>690みたいな粘着キモいな
PHPの話はスレ違いですぜ
http://hibari.2ch.net/test/read.cgi/php/1311803617/
http://hibari.2ch.net/test/read.cgi/php/1311803617/
>>689
レン鯖でのシステム構築の経験は無いからわからんわ
レン鯖でのシステム構築の経験は無いからわからんわ
>>692
少なくとも今回のパターンだと無駄なdomをオブジェクトとして追加するより変数内ですべての処理ができた方が少なからず消費メモリに良いのでは?
実際にphpも話題に出ているから書くとphpだと変数内の文字列に対してdomをいじれる。
javascriptもdocumentオブジェクトではなくて変数内の文字列に対してdom操作ができるようになっていたらいいのにね。
少なくとも今回のパターンだと無駄なdomをオブジェクトとして追加するより変数内ですべての処理ができた方が少なからず消費メモリに良いのでは?
実際にphpも話題に出ているから書くとphpだと変数内の文字列に対してdomをいじれる。
javascriptもdocumentオブジェクトではなくて変数内の文字列に対してdom操作ができるようになっていたらいいのにね。
>>686の[\s\S]*$は俺もわけわからん
何か意味ある?
何か意味ある?
>>696
ありとなしでトレースしてみれば良いんじゃない?
ありとなしでトレースしてみれば良いんじゃない?
>>695
誤爆の危険性よりもシンプルなコードを重視してるのか
HTMLパーサを正規表現で書くことがどれだけ面倒かを理解している人は採用しないと思ってた
> javascriptもdocumentオブジェクトではなくて変数内の文字列に対してdom操作ができるようになっていたらいいのにね。
createHTMLDocument では要件満たせない?これを知らないから正規表現を採用するのかな
誤爆の危険性よりもシンプルなコードを重視してるのか
HTMLパーサを正規表現で書くことがどれだけ面倒かを理解している人は採用しないと思ってた
> javascriptもdocumentオブジェクトではなくて変数内の文字列に対してdom操作ができるようになっていたらいいのにね。
createHTMLDocument では要件満たせない?これを知らないから正規表現を採用するのかな
>>698
>> javascriptもdocumentオブジェクトではなくて変数内の文字列に対してdom操作ができるようになっていたらいいのにね。
>createHTMLDocument では要件満たせない?これを知らないから正規表現を採用するのかな
createHTMLDocumentはDocumentオブジェクトを生成するメソッドであって変数ではないぞ。
おまえこそ
>これを知らないから
な状態。恥ずかしいから知ったかぶりするなよ。
>> javascriptもdocumentオブジェクトではなくて変数内の文字列に対してdom操作ができるようになっていたらいいのにね。
>createHTMLDocument では要件満たせない?これを知らないから正規表現を採用するのかな
createHTMLDocumentはDocumentオブジェクトを生成するメソッドであって変数ではないぞ。
おまえこそ
>これを知らないから
な状態。恥ずかしいから知ったかぶりするなよ。
>>698
>誤爆の危険性よりもシンプルなコードを重視してるのか
シンプルと言うより処理的な効率性(メモリ消費やアルゴリズム的)だろ?
あの文書どう読んだらシンプルという結論になるんだ?
>これを知らないから正規表現を採用するのかな
なんて書く前におまえの中の日本語理解力をどうにかしろよ。
>誤爆の危険性よりもシンプルなコードを重視してるのか
シンプルと言うより処理的な効率性(メモリ消費やアルゴリズム的)だろ?
あの文書どう読んだらシンプルという結論になるんだ?
>これを知らないから正規表現を採用するのかな
なんて書く前におまえの中の日本語理解力をどうにかしろよ。
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.81 + (1001) - [97%] - 2010/12/10 20:01
- + JavaScript の質問用スレッド vol.82 + (1001) - [97%] - 2011/1/19 7:54
- + JavaScript の質問用スレッド vol.88 + (1001) - [97%] - 2011/7/20 7:03
- + JavaScript の質問用スレッド vol.87 + (1001) - [97%] - 2011/6/21 6:33
- + JavaScript の質問用スレッド vol.86 + (1001) - [97%] - 2011/5/27 21:50
- + JavaScript の質問用スレッド vol.99 + (1001) - [97%] - 2012/5/7 4:32
- + JavaScript の質問用スレッド vol.85 + (1001) - [97%] - 2011/4/25 21:32
- + JavaScript の質問用スレッド vol.79 + (1001) - [97%] - 2010/9/11 6:50
- + JavaScript の質問用スレッド vol.84 + (1001) - [97%] - 2011/3/30 7:32
- + JavaScript の質問用スレッド vol.80 + (1001) - [97%] - 2010/11/9 2:17
- + JavaScript の質問用スレッド vol.83 + (1001) - [97%] - 2011/2/24 8:02
- + JavaScript の質問用スレッド vol.119 + (1002) - [95%] - 2014/10/3 15:30
- + JavaScript の質問用スレッド vol.139 + (1001) - [95%] - 2019/5/27 15:15
- + JavaScript の質問用スレッド vol.129 + (981) - [95%] - 2016/5/5 8:16
- + JavaScript の質問用スレッド vol.129 + (926) - [95%] - 2017/7/27 13:45
- + JavaScript の質問用スレッド vol.109 + (1001) - [95%] - 2013/10/7 13:16
- + JavaScript の質問用スレッド vol.94 + (1001) - [95%] - 2012/1/8 15:46
トップメニューへ / →のくす牧場書庫について