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

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

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

451 = :

>>450
なるほど、
㌧です

452 = :

>>439,442

ということは、documentオブジェクトにgetElementByIdがないか、
document.getElementById()の結果のオブジェクトにvalueがないんだろ
う。

id="hoge"の要素が複数あって、意図したものとは違う要素でも取れてい
るんじゃないの?

453 = :

>> 452

いや、解決は至って単純で、

hogehoge = document.getElementById("hoge").value;
<input id="hoge" type="text" />

とすればエラーが出なくなるんだわ。
「hoge =」→「hogehoge =」…つまり、id名と変数名を重複しなければ良いってだけ。

実際にいろいろなブラウザで動かしてみるとわかるよ。エラーになるのIEだけだから。
IE6はもちろん、最新のIE8でもエラーになるから認識してないっぽい。

あ、ちなみに、

var hoge = document.getElementById("hoge").value;
<input id="hoge" type="text" />

と、varを付けてローカル変数にすればエラーにならない。w

ほんと、IEだけは消えてなくなってほしいわ…。

454 = :

IEがdocument.hogeでdocument.getElementById('hoge')なのは結構有名だと思ったけど。
でもまあIEに限らずHTML内の名前はグローバルと思って設計したほうが安全だよ。

456 = :

んなこたあ法律相談板で訊け

457 = :

バカ自慢はいいからIEより先にお前が消えた方がいいよ

462 = :

切れる、切れないの問題じゃない。
切っていくべきなんだ。

463 = :

IE の id と名前空間絡みの話だけど、変数名との衝突だけでなく、メソッド名ともぶつかった気がする。
確か id に "submit" を持つ要素が存在すると、submit() を呼び出せなかった様な。

もう、おねむだから確認はしないけど。

464 :

記録と読み出し以外は すべて js で処理する掲示板を作ってます.
(js に こだわる理由は改造のしやすさと負担の分散)

現在は form に tsv データをぶち込んで js に読み取らせる方式.
これには欠点があって cgi によるタグ無効化処理を無効化する作用が...
(<, > などが勝手に復元されてしまう)
(今は cgi 側では無視して js 側で無効化)

他に考えられる読み込み方式は Ajax.
こちらで問題となるのが IE.
セキュリティーホールとして有名な ActiveX を ON にする必要があるとか.
IE も ver. 8 がでてるらしいですが, この辺の事情は変わってないのかしらん ?
(7,8 となってもワケワカメナ IE, いっそ, バッサリ...)

465 = :

>>462
あとあれだな
イベント関連とかIEでは使えて他で使えないとか

もうコンピューター上で無いと困るくらいの存在になってるブラウザなのに
そういう差違があるのはいただけないわ

466 = :

連装配列…
なんか強そうだ

467 = :

>> 462

MS自ら、こんなキャンペーンを始めたしな。

http://japan.cnet.com/news/media/story/0,2000056023,20404512,00.htm

まさに自作自演。w

468 = :

>>464
そんなことをするやつは大概javascriptも切ってるんだから
気にするならjavascriptなしでもある程度読めるようにしとけ
そうしたらDOMからデータ読めるようになって一石二鳥だ

469 :

>>467
IE6のサポートを終了します、ってひとこと言ってくれれば済むのに。
んで、こっそりとIE6を攻撃するものをゴニョゴニョすれば。

470 = :

>>464
お前のエスケープのやり方が間違っている

471 = :

未だにIE6をリプレースできないシステムも多いから
迂闊にサポート切れんだろう、韓国とか
MSもここまで開発者が馬鹿だと大変だな

472 = :

>>469
XP のサポート期間がまだ残ってるので
標準ブラウザの IE6 もまだサポートしなきゃいけない
MS 自身も早く 7 か 8 に移ってほしいと思ってるが
ビジネス上の約束を違えるわけにはいかない

476 = :

><, > などが勝手に復元されてしまう
まずこれを説明してみろ
JSでデータをいじるのにCGI側でエスケープするのがまずありえないんだが(今はやめたらしいが)
お前が馬鹿なことをしてない限りこんなことになることもない

479 = :

&lt;

481 = :

>>473
2chのdatのように直で読まれることを前提に、xmlの要領で単純なhtmlを吐く
そのhtmlのヘッダにjs本体を読むようにしておく

やってることはtsv埋め込みと同レベルだ、負荷がかかるとかばかげたことは言うなよ?

482 = :

そのtsvをhtmlにしてページに埋め込むだけという説明で十分だったか

483 = :

>2ch めんどくさいな・・・

486 = :

>>477
innerHTMLでテキストの書き出しをやってるの?
HTMLを出力するならそれで良いけどテキストで表示させたかったらnodeValue使おうよ

490 = :

お前がHTMLも書けないことはよく分かった。

textareaの中はPCDATAなんだから<、&は&<、&になっていなければならない
まずこれを怠っている時点でXHTMLを書く資格がない

それらは当然、textarea.valueを通せば復元されて<、&になっている
それは正しいデータを得られたということで、何の問題もない
この段階で全ての実体参照は展開されているはずだ
&<となっていてほしいのは、HTMLの実体参照の解説をしているときくらいだろう

データを出力するときはcreateTextNodeすれば<、&は勝手に&<、&になる
何も考えることはない

もしinnerHTMLでの出力を考えるなら
・defer属性付きのscript要素
・イベント属性
・data:スキーム
最低限、これらは除去しなければならない
IE8ならtoStaticHTML()とかあるが、はっきり言って今のお前にできるとは思えない
HTMLタグは許すな、全部エスケープしてしまえ

492 = :

くそw すまん &lt;

496 = :

エスケープの基本中の基本だろ
これを予想外と言ってる段階で・・・なあ

497 = :

エスケープの基本中の基本というかエスケープすらやってないだけでは


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

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


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