私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ+ JavaScript の質問用スレッド vol.80 +
JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
>>699
var a = 'aaa';
var r = RegExp(a, 'ig');
$('.class0').each(function(){
var target = $(this);
target.html(target.html().replace(r, "bbb"));
});
var a = 'aaa';
var r = RegExp(a, 'ig');
$('.class0').each(function(){
var target = $(this);
target.html(target.html().replace(r, "bbb"));
});
java scriptの動作がいまいち分からないんですが。
ブラウザがhtmlの中に書かれたjava scriptを
解釈して表示するまでの流れ(?)みたいなのを教えてくれませんか?
document.write("hoge");
とかしてるときに、なにがどう動いてるんでしょうか?
ブラウザがhtmlの中に書かれたjava scriptを
解釈して表示するまでの流れ(?)みたいなのを教えてくれませんか?
document.write("hoge");
とかしてるときに、なにがどう動いてるんでしょうか?
ブラウザに積まれてるJavaScriptエンジンが構文解析を行いスクリプトを実行している
>>707
ブラウザは受け取ったHTMLのタグやテキストをDOMっつー構造に再解釈する。
それを元にウィンドウ上に見えるように再構築する(レンダリング)。
それと別にブラウザはJavaScriptも解釈して実行する。
JavaScriptはレンダリング前のDOMに介入できる。
DOMが変更されるとブラウザはそのDOMを元に再レンダリングする。
大雑把に言うとこんな感じかと。
ブラウザは受け取ったHTMLのタグやテキストをDOMっつー構造に再解釈する。
それを元にウィンドウ上に見えるように再構築する(レンダリング)。
それと別にブラウザはJavaScriptも解釈して実行する。
JavaScriptはレンダリング前のDOMに介入できる。
DOMが変更されるとブラウザはそのDOMを元に再レンダリングする。
大雑把に言うとこんな感じかと。
そのレンダリングするエンジンが複数あるおかげで、俺らは困らされるんだがなw
Trident? あーあー聞こえねー。
Trident? あーあー聞こえねー。
>>709
わかりました。ありがとうございます。
わかりました。ありがとうございます。
手がかりになるようなヘッダが全くないのであれば
bodyのハッシュでも取っておいて比較するしかないんじゃない
JSだけでやるのは非現実的ですな
bodyのハッシュでも取っておいて比較するしかないんじゃない
JSだけでやるのは非現実的ですな
どうもありがとうございますm(_ _)m
ちょい補足
まず目的のサーバからどんなヘッダが返されているか確認するのが先
Content-LengthだけではなくAgeやEtagが利用できる可能性もある
それがまるでないようであればbody部のハッシュ
(短いならbody部そのもの)を取っておいて比較するしかない
MD5やSHA-1ハッシュをJSだけで計算するライブラリは
ちょっと検索すれば見つかるので
どうしてもJSでやりたければそういうのを使うのも手
まず目的のサーバからどんなヘッダが返されているか確認するのが先
Content-LengthだけではなくAgeやEtagが利用できる可能性もある
それがまるでないようであればbody部のハッシュ
(短いならbody部そのもの)を取っておいて比較するしかない
MD5やSHA-1ハッシュをJSだけで計算するライブラリは
ちょっと検索すれば見つかるので
どうしてもJSでやりたければそういうのを使うのも手
どのヘッダを使うにしても「前回の値」をどこに保存しておくかという問題はあるよね
サーバサイドの処理を挟まないのであればCookieかlocalstorageぐらいしかなさそうだけど
サーバサイドの処理を挟まないのであればCookieかlocalstorageぐらいしかなさそうだけど
つかそれ以前に基本的にJavaScriptじゃ目的のサーバーが
クロスドメインなだけでアクセスすらできないでしょ?
クロスドメインなだけでアクセスすらできないでしょ?
自分もその用途にはよく使うけどいかんの?
A要素とかSPAN要素をcreateElementしてinnerHTMLってのはよくやる
(Aの中がIMG要素ならやらないけど)
A要素とかSPAN要素をcreateElementしてinnerHTMLってのはよくやる
(Aの中がIMG要素ならやらないけど)
マウスでの mousedown や click、mouseover などでマウスが文字列の上にあるか
どうかというのを知る方法はないでしょうか?
文字列の上でクリックされた場合などはそれを選択しようとしている時だと思うの
で余計なことをしないようにとかいった風に使いなと思っています。
ある要素の上というのではなく、そこのマウス位置に文字列が実在するのかどうか
というのをどう判断して良いのかどうかどうしても思いつかなくて。
どうかというのを知る方法はないでしょうか?
文字列の上でクリックされた場合などはそれを選択しようとしている時だと思うの
で余計なことをしないようにとかいった風に使いなと思っています。
ある要素の上というのではなく、そこのマウス位置に文字列が実在するのかどうか
というのをどう判断して良いのかどうかどうしても思いつかなくて。
今時jqueryとかprototypeなんかがあるからinnerTextとかinnerHTMLで自前で実装しちゃダメって聞いてるんだろう
innerHTML を使うべきでない理由
・遅い
・テキストノード挿入時、HTMLエスケープしなければならない (予期せぬバグが混入する可能性がある)
・インラインJavaScriptとして埋め込むとき <> をUnicodeエスケープする必要がある
ちなみに innerHTML はHTML5で標準化されているので、>>3 は修正した方がいいと思う。
・遅い
・テキストノード挿入時、HTMLエスケープしなければならない (予期せぬバグが混入する可能性がある)
・インラインJavaScriptとして埋め込むとき <> をUnicodeエスケープする必要がある
ちなみに innerHTML はHTML5で標準化されているので、>>3 は修正した方がいいと思う。
>>733
HTML5はまだ勧告されてないよ
HTML5はまだ勧告されてないよ
<a href="#" onmousedown="~~~">
↑これを実行しないようにしたいです
どうすれば良いですか?
↑これを実行しないようにしたいです
どうすれば良いですか?
<!-- <a href="#" onmousedown="~~~">~</a> -->
そうじゃなくて、元々HTMLに書かれているマウスイベントをJavaScriptで無効化したいんです。
>>738
element.onmousedown = null;
element.onmousedown = null;
>>735
innerHTML を使いたくなる気持ちはわからなくもないんだけど、innerHTML は文字列処理だからあまり JavaScript に合わない気がしてる。
多量のDOMノードといっても何らかの整形フォーマットがあるわけだし、厳密にフォーマットを定義したい場合はDOMで生成する方が適切だと思える。
(思想の違いだから、他人に押しつけることは出来ないけど)
ただ、もっと簡単にノードを生成できるメソッドは用意されてもいいと思う。
createElement, cloneNode, insertRow ... といろいろあるけど、querySelectorAll のような革新的なメソッドはないんだよね。
出来れば、こんなコードを書いてみたい。
var p = document.createNodeByQuery('p>span.hoge');
innerHTML を使いたくなる気持ちはわからなくもないんだけど、innerHTML は文字列処理だからあまり JavaScript に合わない気がしてる。
多量のDOMノードといっても何らかの整形フォーマットがあるわけだし、厳密にフォーマットを定義したい場合はDOMで生成する方が適切だと思える。
(思想の違いだから、他人に押しつけることは出来ないけど)
ただ、もっと簡単にノードを生成できるメソッドは用意されてもいいと思う。
createElement, cloneNode, insertRow ... といろいろあるけど、querySelectorAll のような革新的なメソッドはないんだよね。
出来れば、こんなコードを書いてみたい。
var p = document.createNodeByQuery('p>span.hoge');
それぐらいならすぐできるけど、他の属性やtextがめんどくさいな。
ってかそういえば前にelement作成用の関数作ったことあったわ。
MakeElement('test', ['table', ['border', '1'],
['tbody', ['id', 'tst_1', 'style.color', 'black'],
~
みたいな感じ。
ってかそういえば前にelement作成用の関数作ったことあったわ。
MakeElement('test', ['table', ['border', '1'],
['tbody', ['id', 'tst_1', 'style.color', 'black'],
~
みたいな感じ。
>>744
属性に関しては属性セレクタがあるし、http://www.w3.org/TR/css3-syntax/ に Syntax があるから作れないことはないと思うけど、「すぐできる」ってすごいな。
師匠と呼ばせてもらってもいいですか?w
テキストノードはCSSセレクタの泣き所だよね。
XPath式 にすれば一気に解決しそうだけど…。
属性に関しては属性セレクタがあるし、http://www.w3.org/TR/css3-syntax/ に Syntax があるから作れないことはないと思うけど、「すぐできる」ってすごいな。
師匠と呼ばせてもらってもいいですか?w
テキストノードはCSSセレクタの泣き所だよね。
XPath式 にすれば一気に解決しそうだけど…。
>>743
ZenCodingでそんなセレクタ指定のコーディング方法あったな
ul.tes>li*4ってタイプすると<ul class="tes"><li></li><li></li>・・・</ul>と展開される
おっといいアイディアが思い浮かんだぞ
ZenCodingでそんなセレクタ指定のコーディング方法あったな
ul.tes>li*4ってタイプすると<ul class="tes"><li></li><li></li>・・・</ul>と展開される
おっといいアイディアが思い浮かんだぞ
>>744
jsでzencodingチックにDOM作成するプラグイン作った人はすでにいたよ
http://sakuratan.biz/jquery/zencoding/
ところでFireFoxもしくはChromeで、JSで作成したファイルを名前つけて保存させるには
location.href = 'data:application/octet-stream,'+encodeURIComponent(text);
みたいにするしかないっすか?
デフォルトのファイル名も付けられると便利なんだけど…
jsでzencodingチックにDOM作成するプラグイン作った人はすでにいたよ
http://sakuratan.biz/jquery/zencoding/
ところでFireFoxもしくはChromeで、JSで作成したファイルを名前つけて保存させるには
location.href = 'data:application/octet-stream,'+encodeURIComponent(text);
みたいにするしかないっすか?
デフォルトのファイル名も付けられると便利なんだけど…
javascriptの関数実行タイミングが意図したタイミングで動作しません。
<head>
<script language=javascript>
<!--
function send(){
(DBに書き込む処理@asp)
}
-->
</script>
<body>
<form>
<input type=button name=btn onClick="send()" value="次へ" >
</form>
</body>
</html>
「DBに書き込む処理」が、ページを開いたときに実行されていました。
(Page開いた時点でmdb開いてみると既に書き込まれている)
「次へ」ボタンを押したときに初めて実行されて欲しいのですが、
どのように直せばよいのでしょうか。ご教示下さい。
<head>
<script language=javascript>
<!--
function send(){
(DBに書き込む処理@asp)
}
-->
</script>
<body>
<form>
<input type=button name=btn onClick="send()" value="次へ" >
</form>
</body>
</html>
「DBに書き込む処理」が、ページを開いたときに実行されていました。
(Page開いた時点でmdb開いてみると既に書き込まれている)
「次へ」ボタンを押したときに初めて実行されて欲しいのですが、
どのように直せばよいのでしょうか。ご教示下さい。
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.85 + (1001) - [97%] - 2011/4/25 21:32
- + JavaScript の質問用スレッド vol.81 + (1001) - [97%] - 2010/12/10 20:01
- + JavaScript の質問用スレッド vol.87 + (1001) - [97%] - 2011/6/21 6:33
- + JavaScript の質問用スレッド vol.86 + (1001) - [97%] - 2011/5/27 21:50
- + JavaScript の質問用スレッド vol.90 + (1001) - [97%] - 2011/10/26 4:18
- + JavaScript の質問用スレッド vol.84 + (1001) - [97%] - 2011/3/30 7:32
- + JavaScript の質問用スレッド vol.83 + (1001) - [97%] - 2011/2/24 8:02
- + JavaScript の質問用スレッド vol.82 + (1001) - [97%] - 2011/1/19 7:54
- + JavaScript の質問用スレッド vol.90 + (1001) - [97%] - 2011/11/15 20:32
- + JavaScript の質問用スレッド vol.89 + (1001) - [97%] - 2011/9/4 4:17
- + JavaScript の質問用スレッド vol.88 + (1001) - [97%] - 2011/7/20 7:03
- + JavaScript の質問用スレッド vol.130 + (1001) - [95%] - 2017/11/25 20:45
- + JavaScript の質問用スレッド vol.104 + (1001) - [95%] - 2013/1/28 4:00
- + JavaScript の質問用スレッド vol.103 + (1001) - [95%] - 2012/11/9 15:30
- + JavaScript の質問用スレッド vol.102 + (1001) - [95%] - 2012/9/11 17:30
- + JavaScript の質問用スレッド vol.120 + (1002) - [95%] - 2014/11/8 1:15
- + JavaScript の質問用スレッド vol.101 + (1001) - [95%] - 2012/7/16 14:15
トップメニューへ / →のくす牧場書庫について