08/04/14 11:40:31
【質問を書く上で】
1)ユーザ(閲覧者)に迷惑がかかる性悪スクリプトは回答されない。
例: 別窓開きまくり、閉じる/戻るのを妨害、全画面占有、etcは最悪。
答えさせようと「分からねえんだろ」と煽っても無駄(過去スレが証明)。
2)言葉でぐだぐだ書かずにソースを貼る、ただし要点を整理して。
そのまま貼って動かせると試してもらいやすい(ただし回答者に連結さすな!)
長い(1レスに入らない)場合はアップロードしてURIを貼る。
3)初心者という言葉は危険なので使わない方がよい。
初心者を言い訳に自力で調べない/考えない奴が最悪に嫌われる。
4)自分で調べたこと/試したこときちんと書く(調べもしない奴は最低)。
ただ「動きません」「エラーです」は何も情報がないため嫌われる。
エラーは「どの行で何のエラー」を書く(ブラウザをそのように設定すれ)。
ブラウザの設定すらできんヤシはFFxのJavaScriptコンソールを使え!!!
OS、ブラウザ、バージョン、うまく行かない条件を明記しエラー再現可能に。
5)特に古いバージョン限定の時は必ず明記! 回答もチグハグになり回答者に2度
手間を食わせる可能性大(現行Ver.:IE5.5-6、N6-7、Opera7-8)
6)どういう時にどういう動作をさせたいのかを脳内にとどめずきちんと書く。
例:「自動ポップアップしたい」←どういう場合(マウスオーバー、クリック、
ボタン押し、select選択)に何(別窓、レイヤー、その他)が出るのか書け!
7)質問はまっとうな(他人に理解できる)日本語で。
前項の例に限らず、他人に理解できない質問文は煽られるだけで時間の無駄
3:まず >>2-5 読め! 続いて過去スレ全集を検索!
08/04/14 11:41:31
【FAQその1】
Q1. 開いた別窓/フレームの内容にアクセスできないのですが…
A1. ページ内容が別サーバの場合セキュリティ制約により絶対無理です。
Q2. JavaScriptでローカルファイルを読み/書きたいのですが…
A2. Webではセキュリティ制約により絶対無理です。できたら恐ろしいことに…
Q3. 同じタグの中でonclick="foo()"とonclick="bar()"を同時に使いたいのですが…
A3. セミコロンで複数の文を区切れます。onclick="foo();bar();"としましょう。
Q4. document.write(...)でページ内容を追加したいのですが…
A4. 一度ページ表示完了後にwrite()すると内容はクリアされちゃいます。
部分的に内容変更するには(1)他フレーム/iframe/別窓への表示、
(2)textarea等への表示、(3)DOMでノード挿入、(4)innerHTMLのどれかで。
innerHTMLは非標準ですがIE、Opera、Safari、Gecko(N6/N7/Firefox等)で対応済。
Q5. table/tbody/tr要素のinnerHTMLを書き換えるのがうまく行かないのですが…
A5. IEはそれらの要素のinnerHTMLは変更不能。DOMを使って書き換えるか
<div><table>...</table></div>とでもしてdivのinnerHTMLを書き換えましょう。
Q6. DOMでtable要素にtr要素を追加しても表示されないのですが…
A6. DOMでは(XHTML 1.x除く)tbody要素にtr要素を追加する必要があります。
tbody要素はtbodyタグを書いていなくても自動的に作成されます。
またはtable.insertRow()/tbody.insertRow()を使いましょう。
Q7. 変数w1、w2…を順にループで(番号をiに入れて)設定/参照したいのですが…
A7. グローバル変数はwindowのプロパティだからwindow['w'+i]を読み書きすれ。
Q8. フォーム部品名を変数にした「...myform.変数名.value」が動きません…
A8. 「document.forms.myform.elements[変数名].value」でどぞ。
JavaScriptでは一般に「obj.x」と「obj['x']」は同じ意味です。
4:まず >>2-5 読め! 続いて過去スレ全集を検索!
08/04/14 11:42:20
【FAQその2】
Q9. Aタグのonclickで動作指定してるのですが時々動きません…
A9. 「onclick="...;return false"」としないとページ移動しちゃうから。
Q10. CSSで設定した背景色がe.style.backgroundColorで取得できないのですが…
A10. 取得には document.defaultView.getComputedStyle() を使う必要あり。
Q11. 100*1.15の結果が114.999…998となってしまうのですが…
A11. コンピュータの実数計算は全て近似値だと思え。誤差が嫌なら整数で計算。
Q12. 任意のデータをサーバ(別鯖ではない)から取り寄せたいのですが…
A12. IE7/Gecko/Opera/Safariのnew XMLHttpRequest()、IEの
new ActiveXObject("Msxml2.XMLHTTP.6.0") (または"Msxml2.XMLHTTP.3.0")
を使えばできます。古いブラウザだと隠しフレームに読むなどのワザが必要。
Q13. setAttribute("class","foo")、setAttribute("onclick","bar()")が動きません…
A13. IEではそれは不可。「obj.className="foo"」「obj.onclick=bar」でどぞ。
複数の関数を呼びたいときは obj.onclick=function(){foo();bar();};
という風に無名関数を作りましょう。中に書かれたコードが実行されます。
Q14. タイマーやイベントハンドラに設定するコードにthisを含めたいのですが
「"...this..."」とか「function(){...this...}」ではうまく行きません。
A14. それらが実行されるときはthisは別のもの(window等)を指してしまってる。
「function(x){return function(){...x...};}(this)」のようにthisを別の変数に
束縛しその変数を使って。循環参照によるメモリリーク問題あり(この項記述検討中)
Q15. 文字列の置き換えをするときにコードを使いたい(Perlのs///e)のですが…
A15. string.replace(/.../,function(str,p1,p2,...,offset,s){...})としましょう。
正規表現にマッチした文字列がreturnで返された文字列に置き換えられます。
各引数はstrがマッチした部分文字列、p1,p2,...が1番目、2番目、…の()の中身、
offsetがマッチした位置、sが置き換え前の文字列全体になります。
5:まず >>2-5 読め! 続いて過去スレ全集を検索!
08/04/14 11:42:49
【主張の対立:他人の嗜好は尊重。損得の議論は歓迎】
・仕様を読む:回答者なら仕様の該当部分は読んでいるべき。質問者でも
仕様を読まずうだうだ書く奴は注意されて当然。読み間違いは生温く指摘。
・英文文書:翻訳の努力を惜しむべからず。 読めないなら和訳を探し、
なければあきらめよう。翻訳サイトを知っている人はうまく誘導してあげて。
・IE専用/アンチIE/クロスブラウザ:「○○は不要」「○○だけであと
は無視」は不毛。質問者が分かって選択していれば尊重する。無知か
らIE専なのは指摘してあげると親切。
・標準準拠 vs 使えればよい:標準はブラウザが変わっても維持される
可能性大。非標準機能も損得を分かった上で使うならよい。
・MS vs アンチMS:MS固有の情報はMSのサイトで見ないと分からないが、
そこだけ見ているとIE専になる。あとは上2件と同様。
・別窓、イベント抑止など:一般には迷惑スクリプトだが質問者に正当
な理由があることも。尋ねて分かってないようなら煽っても可(w
・innerHTML vs DOM:それぞれに長所/弱点があるので理解した上で選
択するべき。一概にどちらは駄目、とは言えない。
・on属性 vs addXXX():ハンドラが1つだけと分かっていればon属性
で簡単にハンドラを設定もあり。上書きが心配ならaddXXX()。
6:まず >>2-5 読め! 続いて過去スレ全集を検索!
08/04/14 11:43:51
【標準規格・リファレンス】
規格を読まずにどうなってるか分からんとか質問しないこと!
まとめサイト
→ URLリンク(web2ch.s31.xrea.com) (消失中)
ECMA-262 ed.3
→ URLリンク(www.ecma-international.org)
→ URLリンク(www2u.biglobe.ne.jp) (和訳)
W3C Document Object Model Technical Reports
→ URLリンク(www.w3.org)
JavaScript 1.5 ガイド / リファレンス (Netscape/Mozilla)
→ URLリンク(developer.mozilla.org) (和訳)
→ URLリンク(developer.mozilla.org)
→ URLリンク(developer.mozilla.org) (和訳)
E4X (ECMAScript for XML)
→ URLリンク(www.ecma-international.org)
→ URLリンク(www.ne.jp) (和訳)
Mozilla Gecko DOM Reference, Netscape devedge
→ URLリンク(developer.mozilla.org)
→ URLリンク(developer.mozilla.org) (和訳)
→ URLリンク(devedge-temp.mozilla.org)
MSDN Library JScript / DHTML (現在日本語版は古杉)
→ URLリンク(www.microsoft.com)
→ URLリンク(msdn2.microsoft.com)
7:まず >>2-5 読め! 続いて過去スレ全集を検索!
08/04/14 11:44:28
【チュートリアルサイト・サンプルサイト】
規格が読めないならまずはチュートリアル。サンプルサイトも沢山ある。
(とほほは間違いが多いためこのスレでは批判的意見が多い)
(以下は精選すべきとの議論あるが進んでいないので玉石混淆)
MetaGraphic Cell
→ URLリンク(www2u.biglobe.ne.jp)
どら猫本舗のリファレンスカウンター
→ URLリンク(www.doraneko.org)
はぎさんちのページ Mozilla's DOM Sample Project
→ URLリンク(cgi.din.or.jp)
オブジェクトなJSの基礎講座
→ URLリンク(chaichan.web.infoseek.co.jp)
【検索】
キーワード『…』で検索しろ」「ぐぐれ」と言われた場合はこちらへ
→ URLリンク(www.google.co.jp)
【関連スレ】
板違い、スレ違いに注意!サーバ側での処理はWebProg板へどぞ!
Webサイト制作初心者用質問スレ Part 194
→ スレリンク(hp板)l50
CSS /* CSS・スタイルシート質問スレ 上級者用【70th】 */
→ スレリンク(hp板)l50
CSS/DHTMLバグ辞典スレッド 【第5版】
→ スレリンク(hp板)l50
役に立つ書籍は? 4冊目
→ スレリンク(hp板)l50
8:Name_Not_Found
08/04/14 11:49:51
>>1-7 乙カレー様でした。FAQの追加が入り損なったけど
私ことスレ立て人に立てられなかったのでしょうがないよね。
とりあえず、前スレで出たFAQの追加提案を挙げておきます。
Q16. input type="file"の値を設定(参照)できないのですが…
A16. セキュリティ制約のため設定は絶対に不可。参照はブラウザにより不可。
あとこれは提案だけあったのだけどよく出るのは確かだから。
Q17. getElementById('ID名')や$('ID名')で要素が取れないのですが…
A17. コード実行時点でHTMLがそこまで読まれてない。onload中でやるとか。
9:Name_Not_Found
08/04/14 11:53:33
そして最大の課題は >>1 をどう改訂するか。道場訓をやめる?
やめたとして、何をどう書く? >>1 の代替案一式、求む…
10:Name_Not_Found
08/04/14 11:55:49
あと、関連スレ>>7に次のものを入れた方が親切かと思いました。
○手取り足取りスレ
○WSHスレ
○bookmarklet (1行javascript)スレ
一方、「ぐぐれ」の解説なんか要らないよねー。参考サイトは
結局いいものがないんだよねー。
11:Name_Not_Found
08/04/14 12:06:33
>>1乙
>>9
シンプルに、
Webブラウザ上で動作するJavaScriptの質問スレです。
このスレは、ある程度JavaScriptでのプログラミングが出来るような、
JavaScriptコードによる回答でも理解出来る方が対象となります。
既にあるサンプルを変更するなど、ただJavaScriptを使ってみたいというだけの方や、
JavaScript初心者の方は下記スレにお願いします。
・JavaScript 手取り足取りスレッド
スレリンク(hp板)
前スレ
・+ JavaScript の質問用スレッド vol.63 +
スレリンク(hp板)
12:Name_Not_Found
08/04/14 12:07:54
ついでに、
各種JavaScriptフレームワークはテクニックの宝庫ですので、
一度目を通してみる事をお勧めします。
またこれらのサイトにあるサンプルを見れば、
JavaScriptでは何が出来るかという事の一端も判ります。
Prototype.js
URLリンク(prototypejs.org)
script.aculo.us
URLリンク(script.aculo.us)
JQuery
URLリンク(jquery.com)
Yahoo! UI Library (YUI)
URLリンク(developer.yahoo.com)
Mootools
URLリンク(mootools.net)
13:Name_Not_Found
08/04/14 12:21:44
>>11 過去スレ全集とかそのあたりを落とすのは反対。見た目で
すぐこのスレだと分かるように「道場訓」の形は残した方がよい。
━━本スレに書く事を許されるの者は以下の通り━━
一、JavaScriptはJavaとは別物であると知っている事
-、自ら学んでJavaScriptコードを書く意思を持つ事
-、ユーザに迷惑となるスクリプトを書かない事
-、質問をきちんと分かる日本語で説明できる事
-、トラブルを再現する最小限のサンプルを貼れる事
-、テンプレ+FAQ>>2-10/過去ログ/関連資料を読める事
━━━━━━━━━━━━━━
自力で書く気がない人は他のスレへ(テンプレ末尾参照)。
[必読]過去スレ全集 URLリンク(wing2.jp)
(ずべて同一) URLリンク(www2.atpages.jp)
URLリンク(usamimi.info)
[必読]ガイド URLリンク(developer.mozilla.org)
(GuideをReferenceに→Netscape版言語仕様。多くの実装が準拠:ECMA-262.ed3)
FAQ・注意・過去ログ・仕様書・関連資料・関連スレ>>1-10
14:Name_Not_Found
08/04/14 12:27:38
>>12
いいね。あと、常連(自称を含む)に釘を挿したいことがあれば今
提案してくれるといいと思うよ。スレの流れの中で喧嘩するより
今議論して合意しておく方が建設的でしょ。
15:Name_Not_Found
08/04/14 12:50:22
発言が気に入らないとかいってネチこくそいつのIP晒してた「常連」(?)が
いたな。スレどころか2chの存在理由に逆行してるだろ。そういうことがま
かり通るスレにはなって欲しくない。
16:Name_Not_Found
08/04/14 13:10:16
>>15
もちろんそれは当然だな。というか、常連の問題じゃなくそいつ
個人の問題でしょ。2ちゃんにキチガイはつきものだから。
で、テンプレにわざわざ書くようなもんでもないよね。普通の人は
分かっているしキチガイはテンプレに書いてあったってやめないから。
17:15
08/04/14 14:18:13
>>16
当然とは思わないな。それは一体誰の裁きなんだ?何事においても常に正
しい「常連」様が判定なさったものだから悲しくもIP晒された方はやられ
て当然という論理か。プログラミングでの発言の程度なんかタカが知れて
るだろ。深刻な問題に発展したらアク禁すりゃいいんだよ。
18:Name_Not_Found
08/04/14 14:25:22
当然ってのは最後の文にかかってるんじゃないのか
19:Name_Not_Found
08/04/14 14:56:42
15は読解力がないなぁ。
「プログラミングでの発言の程度なんか」とか言っちゃってるし。
こういう奴にテンプレ議論とか向かないよな。
20:Name_Not_Found
08/04/14 15:03:38
まあ向く向かないとか解釈とかはさておき、ズバリこういう文章を
テンプレに入れてはという具体的提案でどぞ。洩れはキチガイ対応な
記述は入れる必要なしと思っているけど、文案がよければ賛同者が増える
かも知れないよ。
21:Name_Not_Found
08/04/14 15:05:23
この雰囲気がJS終了を象徴している。クラや上司がFlexに示す反応は良好だからな。隙間でじっとしていないでASをやれ。おまえらには素養が十分すぎるほどあるのだから。
22:Name_Not_Found
08/04/14 15:19:49
>>21
今後50年間(アンタが死ぬまで)言い続けてるといいよ。せいぜいがんばって。
しかしこのスレが始まったとき、64スレも続くと思った奴はいなかったろうなあ。
23:Name_Not_Found
08/04/14 15:28:13
>>14
質問と回答、それにその質問から派生する話題や議論が行われるスレであって、
質問に対する煽りというか厨の小言は邪魔なだけなので、
煽るくらいならスルーするか適当なスレに誘導するなどをすべきだと思うね。
>>13のゴタクは質問者に関する物だけで、回答者(実際は回答していないようだけど)側の姿勢が欠落しているのが痛い。
24:Name_Not_Found
08/04/14 15:33:06
>>23
過去に何回も出た議論だが、初心者を甘やかすのは反対だし、
それにはスルーではなく何か言うというのがこのスレのスタンス
だと思うね。回答者に対するゴタクがないのは、現状のテンプレの
>>1がそうだから。で、どういうことを入れる?
洩れとしては、「質問者の態度がなってない場合煽ってもいいが、
その場合でも書き込みには必ず回答、ヒント、誘導などが含まれること」
とかがいいんじゃないかと思うが。
25:Name_Not_Found
08/04/14 15:34:48
そもそも回答者は >>1 以外のテンプレも見てるわけだから、
>>5 などにちゃんと書けばいいんでないの。
26:Name_Not_Found
08/04/14 19:15:17
ブラウザのテキストエリアにjacvascriptのソース貼ってそのまま動作確認できるページあったと思うんですけど
何処にあるか忘れてしまったので教えてください
27:Name_Not_Found
08/04/14 19:20:37
それくらい自分で書けばいいだろ
28:Name_Not_Found
08/04/14 19:28:59 XcAflklm
openWYSIWYGの質問です。
URLリンク(www.openwebware.com)
リッチテキスト内をクリックした時、アラートを出したいのですが、
うまくいきません。
wysiwyg.jsの375行目付近の
// Write the textarea's content into the iframe
doc.open();
doc.write(content);
doc.close();
辺りをいじればうまくいくのかと思いましたがうまくいきません。
doc.onclick=alert();
とかやってもダメみたいです。
iframe自体にはonclickが効かないので、iframe内のdocumentを取得して
それにonclickをセットするみたいなイメージなのですが・・・。
お時間のある方、教えてください。
29:Name_Not_Found
08/04/14 19:29:18
Q14. タイマーやイベントハンドラに設定するコードにthisを含めたいのですが
「"...this..."」とか「function(){...this...}」ではうまく行きません。
A14. それらが実行されるときはthisは別のもの(window等)を指してしまってる。
「function(x){return function(){...x...};}(this)」のようにthisを別の変数に
束縛しその変数を使って。循環参照によるメモリリーク問題あり(この項記述検討中)
今まさにこれで詰まってるんで
是非解説お願いします
引数にthis入れて解決はしてるんですが
メモリリークの問題ありっていうのが気になるんで
30:Name_Not_Found
08/04/14 19:41:09
>>29
どうも最近のIEはスワップに記憶することで一応の解決を図っているんじゃないか?
ろくに確かめもせずに言っているので自分で確かめて逆に知らせてくれ。
俺個人はその問題に該当するようなコードを一切書かないからもう興味がない。
31:Name_Not_Found
08/04/14 19:45:10
>>29
丁寧にリーク解消していくか、prototype.js のよう(ry
32:Name_Not_Found
08/04/14 20:33:26 cliXB7ty
★「Web世界標準」について周知徹底するスレ
スレリンク(hp板)
33:960
08/04/14 21:58:45
遅くなったけどスレ立て乙です。
まさか1日でPHP卒業しろと言われるとは思わなかったよ…
34:Name_Not_Found
08/04/14 22:13:10
しょぼい質問で恐縮ですが
こんな感じで表示している画像の位置を取得したいのですが
どういう風にすれば取得できるでせうか?
<DIV style=cursor:crosshair;>
<IMG src="test.jpg" id="img1" >
</div>
今現状の取得の仕方
var tmp = document.getElementById("img1");
document.getElementById("text_area09").innerHTML="pos:"+tmp.style.top+","+tmp.style.left;
imgタグに
<IMG src="test.jpg" id="img1" style="position: absolute; top:100px; left:100px;" >
と書いてあれば取得できるのですが・・
またできれば画像の幅なども取得できる方法があればご教授願います
35:Name_Not_Found
08/04/14 22:17:20
>>34
offseTop offsetLeft offsetWidth
36:Name_Not_Found
08/04/14 22:29:21
おお!
ありがとうございます!
37:960
08/04/14 22:48:54
今まで他の人に頼りすぎていたようだ・・・
これからはPHPとJavaScriptを駆使して自分のサイトのコンテンツは自分で作ろうと思う。
一言掲示板はちょっと更新するだけで書き込まれるというカスだったけど、
やっと「ページにアクセスすると数字が1増えて表示される」という世にいうカウンター的なものができたっぽい。
38:Name_Not_Found
08/04/14 23:02:18 XcAflklm
age
39:Name_Not_Found
08/04/14 23:21:06
37 - 960 < 0
40:Name_Not_Found
08/04/14 23:43:56
>>29
やっぱりbindは使いたいよな。
prototype.jsはunloadのタイミングでイベントを削除してるよね。
というか、自分としては、IE6とかはリロードとかページ遷移しても
リロード前のdocumentツリー自体を保持しているせいで解放されないと思ってる。
>>30という意見もあるけどメモリーリークを自分で確かめるのは時間くうからやめた方がいいよ。
リーク検知ツールがすべてのリークを検知してくれるわけじゃないし、
実際やってみるとわかるけどIEのメモリ使用量も結構ランダム(増加分含めて)なせいで
修正分がどれだけ効果があったか分からない。
IE8のホワイトペーパーで修正される事象について書いてあるので、これを土台に語ろうよ。
URLリンク(code.msdn.microsoft.com)
過去分は
URLリンク(msdn2.microsoft.com)(VS.85).aspx
41:960
08/04/14 23:48:54
>>39
前スレでの960を表わしてるからね。
Perlもやってみようかと思ったけど、ごちゃごちゃしてきそうでやめた。
でもifとかwhileとか結構似てるもんだね
42:Name_Not_Found
08/04/14 23:55:43
>>41
普通の言語はほとんど一緒だぞ>ifとかwhile
Haskellとか純粋関数型言語でもifはあるな。whileはしらんけど。
43:Name_Not_Found
08/04/15 00:40:04
>>27
じゃあ>>27さん書いてください
44:Name_Not_Found
08/04/15 00:52:49
>>40
日本語版もあるぞ
URLリンク(www.microsoft.com)
循環参照のところ、循環参照解消のためにnullを突っ込めと書いてあるけど、
プロパティのdeleteでOKな感じ。おれはいつもそうしてる。
45:Name_Not_Found
08/04/15 00:59:03
>>26
好きなの選べ
URLリンク(developer.mozilla.org)
46:28
08/04/15 01:03:56 IrMnQWXR
私もかまって頂けると嬉しいです
47:Name_Not_Found
08/04/15 01:41:31
>>44
日本語なのに非常に読み辛いという、かなり日本語でおkな酷い文章(というか翻訳)だね。
こっちの方がよっぽど判り易いよ。
URLリンク(www-128.ibm.com)
48:Name_Not_Found
08/04/15 01:42:20
>>28
344のdesignMode=onをコメントアウト
49:Name_Not_Found
08/04/15 02:05:12
>>47
いいね。
まずListing 5のリークだけど、window.onloadを抜けてobjがなくなるくせに、リークするってのが分からんな。
IEでよくあるのは、リロードボタン押していくとメモリがどんどん増えるってやつだけど、
これはそうではなく、onloadが終わってもメモリが解放されてないって意味だよな。
50:Name_Not_Found
08/04/15 02:09:51
>>49
ああ、ごめん。3行目訂正。この例は要素のプロパティにぶっこんでるからか。
documentツリー自体はずっと存在してるもんな。
51:Name_Not_Found
08/04/15 18:25:44
>>46
身長いくつ?
52:Name_Not_Found
08/04/16 00:59:36
>>29
し~ん。誰も説明できんがなww
タイマーはbind(「function(x){return function(){...x...};}(this)」)しても問題ない。
イベントはunloadとかremoveChild、innerHTMLのタイミングの直前で消せば、メモリーリークは起きないよ。
(つまり相互参照状態にしておいて、そのあと、イベントを切ることで相互参照を解除させる)
とりあえず、一般にメモリリークというと2つ問題があって、
ページ間リーク: リロードするたびにメモリが増える。(ブラウザを終了しない限り解放されない)
ページ内リーク: 操作しているとどんどんメモリが増える。
>>40のIE8のホワイトペーパーとか>>47で出ているようなものは、後者の問題解決が書かれてある。
>>47の後半の方とかは前者のことが書かれてある。
あと>>47のListing 5とか6はDripなどの検査ツールで結果が変わらないためサンプルが悪い。
本当は、innerFunction内でobjへの参照を持っていることが言いたいだけ。
(たとえinnerFunction内でobjを使っていなくても参照持っちゃって)
53:Name_Not_Found
08/04/16 01:00:48
すまん。
× >>47の後半の方とかは前者のことが書かれてある。
○ >>40の後半の方とかは前者のことが書かれてある。
54:Name_Not_Found
08/04/16 02:13:36
誰も説明できんがなww
誰も説明できんがなww
55:Name_Not_Found
08/04/16 12:31:59
メモリリークが気になるなんて、一体どんなものを作ろうってんだ!?
56:Name_Not_Found
08/04/16 22:04:17
>>52
再度やりなおせこの初心者が。過去ログとかを無にするような出鱈目で上書きすんじゃねえよ馬鹿が。
57:Name_Not_Found
08/04/16 22:05:36
再度やりなおせこの初心者が。過去ログとかを無にするような出鱈目で上書きすんじゃねえよ馬鹿が。
58:Name_Not_Found
08/04/16 22:06:10
google作ってって言われるけどな。
googleを利用したサイトを作ってレベルなら問題ないんだけどな。
59:Name_Not_Found
08/04/16 22:06:26
再度やりなおせこの初心者が。過去ログとかを無にするような出鱈目で上書きすんじゃねえよ馬鹿が。
60:Name_Not_Found
08/04/16 22:07:21
じゃぁ、問題点を指摘すれば>>57
>>52が問題ありありなのは分かるでしょ。
61:Name_Not_Found
08/04/16 22:15:27
>>56-57 >>59-60
とりあえず根拠の提示から始めようか
62:Name_Not_Found
08/04/16 23:07:47
JavaScriptのこれだっていうまとめサイト欲しいよね
まだまだ発展途上だなあと感じる
63:Name_Not_Found
08/04/17 00:26:55
初心者こと>>52です。以下のをDripで見てみて。
setTimeoutの行のうちどれかを有効にする。prototype.jsの関数は別途あるとして。
>>52のうちの前半3行がまずいことの根拠が示せると思う。
これでFAQ14を書き直せるんじゃない。
(Dripのrefsの初期値はこちらは6だったけど、ブラウザのバージョンとかで違うかも)
<html><head><script>
window.onload = function(){
CLASS.M1();
};
function test1(){ alert("5秒経過"); };
CLASS = {
M1: function(){
var node = $("a");
// setTimeout(test1, 5000); //id=aのノードのrefsがずーと6のまま
// setTimeout(function(){ test1(); }, 5000);//ref2が5秒間だけ7になってその後6に戻る
// setTimeout(test1.bind(this), 5000);//id=aのノードのrefsがずーと6のまま
}
};
</script></head><body>
<div id="a">JS</div>
</body></html>
64:Name_Not_Found
08/04/17 08:22:11
>>63
そりゃいいんだけど、どう書き直すのがいいってことかな?
65:Name_Not_Found
08/04/17 08:43:17
ここにIEのリークのやつは、原因は書いてある(例によって日本語でおkだけど)
URLリンク(support.microsoft.com)
ここには、
「ブラウザで新しい Web ページまたはいつブラウザ ウィンドウが閉じられるを開くと、このメモリ リークが終了します。」
「This memory leak will end when the browser opens a new Web page or when the browser window is closed. 」(英語)
とありますが、そのうち「the browser opens a new Web page」の部分が気になっています。
新しいWebページを開く(画面遷移のことだと思っています)動作をしたとしても、
メモリーリークは終了しないと考えていますが正しいでしょうか?
それとも、IE6とIE7で新しいWebページを開いたときにメモリーリークする・しないが変ったのでしょうか?
66:Name_Not_Found
08/04/17 08:53:48
>>65
前に出てた議論では、(1)循環参照によるリークは画面遷移しても
終了しない(ブラウザを終わらせるしかな)、(2)新しいブラウザでは
循環参照があってもガベージコレクションできるようになる、
だったかな。具体的にどのブラウザなら直ってるのかとかは
出てなかった気がする。
67:Name_Not_Found
08/04/17 10:45:59
MSのサポートページいつの間にこんなデザインに・・・
68:Name_Not_Found
08/04/17 11:05:47
>>65
APPLIES TO
• Microsoft Internet Explorer (Programming) 6.0
• Microsoft Internet Explorer 5.5
• Microsoft Internet Explorer 5.01
とあるがXPIE6でそのページのサンプル実行しても再現しないな。
98のIE6で試してみたら確かにリークした。
もしかしてもう治療済みなの?教えてエロイ人!
69:Name_Not_Found
08/04/17 11:13:28
var body = document.getElementsByName("body")[0];
var bodybefore = body.value.substring(0,body.start);
var bodyafter = body.value.substring(body.start,body.value.length);
body.value = bodybefore + emoji + bodyafter;
body.focus();
.start ってこれであってますか?うまく動かないんですけど><
70:Name_Not_Found
08/04/17 11:20:47
>>69
body!=name
71:Name_Not_Found
08/04/17 11:22:53
>>69
「うまく動かない」ではなく、まずこのコードが「どのように動作する
つもりであるか」「それに対してどのような(期待と異る)動作をするか」
を書く。あとJavaScriptエラーが出ていたらそれを報告する。
72:Name_Not_Found
08/04/17 12:01:01
手足スレへ。
73:Name_Not_Found
08/04/17 13:08:13
Ajaxian » IE Memory Leaks Be-gone
URLリンク(ajaxian.com)
とっくの昔にパッチ当たってたのか・・・
74:73
08/04/17 15:47:59
いや、やっぱり修正は不完全だったのかwスマン
Ajaxian » IE’s Memory Leak Fix Greatly Exaggerated
URLリンク(ajaxian.com)
75:Name_Not_Found
08/04/17 17:01:17
>>70
name="body" にしてたのですが変数名よくないですね^^;
>>71
すみませんありがとうございます><
.selectionStartというのが見つかりました。
76:Name_Not_Found
08/04/18 00:04:27
>>74
その文章のうち、一番重要な文はこれかな。
all elements not still attached on unload are still leaked, along with the transitive closure over all references Javascript objects
unload時にイベント削除しないと未だにリークしてたって書いてあるの?
「transitive closure」ってのが何か分からないけど、普通のクロージャーのことだったら、
不完全どころか、何も変わっていないんじゃないの?
それともリロードしたときに増えているメモリの量が以前より少なくなったってことでしょうかね。
77:Name_Not_Found
08/04/18 00:07:14
input type=fileについて質問です。
ファイルをアップロードする前にファイルサイズを知る方法はありますでしょうか?
よろしくお願いします。
78:Name_Not_Found
08/04/18 00:09:34
>>76
transitive closure = 「推移閉包」つまりあるものから直接/間接に
辿れる範囲のものすべて、という意味。関数クロージャとは別物。
一番重要な文の意味は「unload時にdocumentのどこにもくっついて
いないDOMオブジェクトとそこからたどれるもの全てはリークする」
だから対策としては、全部documentにくっつけて切り離さない
ようにするか、切り離すとしてもunload時にはどっかにくつつけ直す。
けれどしかし、この対策の入ったIE6と入ってないIE6が混在する
ことになるわけで、結局循環参照を避ける必要はあるんだろうな…
79:Name_Not_Found
08/04/18 00:11:27
>>77
ない。だいたいがファイルの名前だけしか分からないとか
名前すら分からないブラウザが大多数だし。
80:Name_Not_Found
08/04/18 01:14:46
>>78
なるほど。すごす。
prototype.jsがやってるようなやり方以外にも、
パッチがあたってることを前提にした場合、その方法が取れるわけですね。
81:Name_Not_Found
08/04/18 05:02:42
spew!
URLリンク(grimpoteuthis.org)
これが依然メモリリークするサンプルコード。
4つどのケースでも
エレメントをbodyに貼り付けるように変えるとリークしなくなるね。
82:Name_Not_Found
08/04/18 09:04:45
Dripでrefsを見ていると、
画面をクリックするだけでHTMLやBODYの値が増えていきます。
これは、Dripが何かしているせいなのか、
何もしなくてもブラウザが増やしているのかをご存じでしょうか?
__drip_hookedというプロパティが追加されているぐらいだから、何かしてると思われますが、
refsが増える原因がそのせいかどうかが分かりません。
83:77
08/04/18 09:09:10 ukCxpmDy
>>79
ありがとうございました。
84:Name_Not_Found
08/04/18 22:49:46
HTMLタグってイベント張ってもよいんですかね?
MSDNのonclickなどのイベントのページを見てみると、
そのタグだけないので。
ちゃんとイベントは発動しているけども。
85:Name_Not_Found
08/04/18 23:00:42
日本語でおk
86:Name_Not_Found
08/04/18 23:37:32
function test1(){..}
function test2(){..}
のように定義した関数の一覧を取得したいと考えています。
(この場合、test1とtest2が欲しい)
firefoxではfor/inでwindowオブジェクトを列挙すれば取得できましたが、
IEでは列挙されませんでした。IEで取得する方法を教えてください。
87:Name_Not_Found
08/04/19 00:00:03
HTMLノードに対してattachEventを行っても問題ないでしょうか?
例えばMSDNのonclickの解説ページを見てみると、
そのイベントを設定することが出来るタグの一覧がありますが、
そこにHTMLノードは載っていませんでした。
しかし、実際に以下のようにonclickを設定してみると、発動はしました。
document.documentElement.onclick = function(){ alert("僕、アルバイト"); };
88:Name_Not_Found
08/04/19 03:08:46
数値をブラウザ上に表示されないタグに埋め込んでDOM操作で参照したいんですが
そういうふうに使えるタグはありませんか
89:Name_Not_Found
08/04/19 03:34:20
>>88
ブラウザ上に表示されないタグ?
逆に表示されるタグって何?
90:Name_Not_Found
08/04/19 04:14:08
>>88
input type=hidden もしくはCSSで不可視化
91:Name_Not_Found
08/04/19 06:13:23 enNAGfgH
print("はろーわーるど");
↑をCSSで飾ってhtmlで実行すると普通に表示されるんですがjsで保存して実行するとエラーになってしまいます。
jsだとだめなんですか?
92:Name_Not_Found
08/04/19 07:46:51
JScript なんじゃないかとエスパー
93:Name_Not_Found
08/04/19 08:56:35
>>91
JavaScriptでそれを表示するんだったら
alert('print("はろーわーるど");');
とかを実行するんじゃないの。画面に出力する機能の
呼び出し方とか種類とかは言語によって全部違うから。
自分のヤマカンで書いても動かないよ。入門書でも買って
ひととおり勉強するべきだと思うがね。
>>87
なんでbodyではだめでhtmlがいいの?
94:Name_Not_Found
08/04/19 09:56:21
トップレヴェルのスーパータグだからでしょう。
確かそこは言語特性以外の記述は不可なのでは?
95:Name_Not_Found
08/04/19 10:12:15
<canvas>タグに線やらを引いて
その後に(あるいは前に)文字を
document.write()とかdocument.body.innerHTML+=""
で、追加するとcanvas内の線等が消えます。
IEではexcanvas.jsを使ってるんですが、何の問題もないのですが、
Firefoxだと、消えてしまいます。
96:Name_Not_Found
08/04/19 10:16:14
事故解決しました。
スレ汚しすいまsねn
97:Name_Not_Found
08/04/19 10:18:39
>>81
おお、まじだな。IE8 beta1でも4つともリークしていて、
document.bodyにくっつけるとリークしなくなった。
98:Name_Not_Found
08/04/19 10:28:09
>>93 >>94
画面端の方をクリックするとbodyでは拾えないからです。
HTMLに張るのが問題なければ、そこで取りたいと思ったためです。
onclickの場合はバブルするので問題ありませんが、
バブル不可能なイベントをそれで取りたいなと。(キャプチャフェーズは使用しない前提)
99:Name_Not_Found
08/04/19 11:02:18
>>97
つか、この問題8でも解決してないのかよw
ひどすぐるw
100:Name_Not_Found
08/04/19 11:09:27
至る所で「8は神」みたいな風潮にあるが、所詮はIE。
101:Name_Not_Found
08/04/19 11:33:40
>>98
お答えします。DOM level 2 Eventによれば、addEventListener等は
「すべてのNodeにおいて」使用可能。htmlもノードなので使用可能。よかったね。
URLリンク(www.w3.org)
102:Name_Not_Found
08/04/19 11:35:35
>>88
参考にならない揚げ足取りはどうでもいい
>>90
どうもありがとうございます
103:Name_Not_Found
08/04/19 11:43:36
はやくIEでaddEventListener使いてえ~
104:Name_Not_Found
08/04/19 17:29:05 NMIAkG+P
こんにちは。fromタグにnameが使えなくなるって聞いたんですがホントですか?
これまでたくさん作ったのはどうなってしまうのでしょうか。
105:Name_Not_Found
08/04/19 17:48:13
クラス継承図はどこを見ればorどういう処理をしたら分かりますか?
たとえば、
HTMLDivElement→HTMLElement→Node→Object
といったものです。
106:Name_Not_Found
08/04/19 17:53:38
AddEventListenerの第一引数に指定可能なものの一覧はどこを見れば分かりますか?
URLリンク(developer.mozilla.org)
URLリンク(developer.mozilla.org)
URLリンク(developer.mozilla.org)
上記の3種類と考えてよろしいでしょうか?
また、IEのAttachEventに設定可能な一覧がありましたら、教えてください。
MSDNを探しましたが、よく分かりませんでした。
107:Name_Not_Found
08/04/19 17:56:53
>>101
ありがとうございます。DOM2では、使用可能ということですね。
ちなみに、なぜIEが設定可能タグ一覧にHTMLをのせてないかの理由は分かりますか?
108:Name_Not_Found
08/04/19 18:26:59
>>107
あのね、W3Cだってhtmlタグにonclickは書けない。
「HTMLとして書ける」というのと「DOMで何かできる」
というのは全く別の話。もっとも、「HTMLで書ける」ものは
「DOMでも操作でき」ないと不便だから、「含まれる」という
関係はあるのか。
>>104
それは「新しいHTMLで書いたら」という話で、「これは
HTML 4.01(とかHTML 3.2)だよ」と宣言すれば大丈夫と思われ。
>>105
それはDOM2 HTML/CoreのIDLとかを見るのが便利なんじゃないかな。
interface HTMLDivElement: HTMLElement { ... とかの行ね。
>>106
標準の話なのか特定実装の話なのかどっちさ。IEの方はここ
URLリンク(msdn2.microsoft.com)(VS.85).aspx
URLリンク(msdn2.microsoft.com)(VS.85).aspx
げげ、こんなにあるんだ…欝だ氏のう(カビがはえてるな…)
109:107
08/04/19 22:20:51
>>108
そういう違いがあるのですね。
そのような状況において、マニュアルに載せる載せないの選択肢があると思いますが、
MSは載せないという選択肢を選んだということでしょうかね。
古いIEでは、「DOMで操作不可能」なのでは?というのが気になっています。
110:Name_Not_Found
08/04/19 22:28:08
>>109
おそらく、IE4とそれ以前は怪しいだろうけど、IE5
は大丈夫なんじゃないかな? IE4ユーザを想定するサイト
なんて今どき無いでしょ?
111:105
08/04/19 23:18:07
>>108
IDLですか。。。
JavaScript側で継承元のinterfaceを辿りたいのですが、その方法はないということですね。
112:Name_Not_Found
08/04/20 19:32:15 N3uxyx7k
JavaScript→Ajax
いえーい(^O^)/
113:Name_Not_Found
08/04/20 20:54:30
>>112
KYな俺はどう反応すればいいか分からないからやめてくれorz
114:Name_Not_Found
08/04/20 21:15:19
最近、JavaScriptというより日本語が不自由な質問多いな
115:Name_Not_Found
08/04/21 00:30:13
結局、
addEventListener("DOMFocusIn", function(){}, false);
はいつ使えるの?
前スレではfirefox3で使えないというのが出てるし、
URLリンク(developer.mozilla.org)
にはfirefox3のアイコンはないし。
でもネットで検索したら、3から使えるというのが引っ掛かるし。
ちなみに、手元のfirefox2だと動かなかった。指定が悪いんかいな。いえーい(^O^)/
116:Name_Not_Found
08/04/21 01:28:37
firefox3 では使えないし、いつ使えるかもわからん。
URLリンク(annevankesteren.nl)
とかで試せばすぐわかる。
以前 xforms 拡張入れて xforms 内であれば使えたんで
ネット検索で出てくるのはそれと間違えてる
117:Name_Not_Found
08/04/21 13:13:24
下のボタンでテキストエリアに出力するにはどうしたらいいんですか?
<script language="javascript">
<!--
function hiduke(d){
document.form.texta.value=hiduke(d);
}
//-->
</script>
<form name="form">
<input type="button" name="date1" value=" 日付を下に書き込み " onclick="hiduke('new Date()')"><br>
<textarea cols="50" rows="10" name="texta"></textarea>
</form>
118:Name_Not_Found
08/04/21 13:28:23
>>117
その関数hidukeの中身(1行しかないけど)をどういう意図で書いているか
説明してみ。
119:Name_Not_Found
08/04/21 13:52:52
<form action="">
<p><input type="button" value=" 日付を下に書き込み " onclick="this.form.elements['texta'}.value=new Date()"></p>
<p><textarea cols="50" rows="10" name="texta"></textarea></p>
</form>
120:117
08/04/21 15:37:23
このスレはこの程度か
121:Name_Not_Found
08/04/21 16:16:24
>>120
このスレのレベルなら過去スレ全集を見れば分かるから。
ぼうや、再帰呼び出しって知ってるかい。皆あきれて
スルーしてるだけでしょ。>>118なんて親切なもんだぜ。
122:質問させて下さい
08/04/21 18:44:12 XeqBLXIH
やりたいことなんですがランダムで画像を表示して画像をクリックすると指定したURLにとばしてあげる。
画像リンクの上にサイトのタイトルをテキスト+center表示させてあげたいです。
画像をクリックして指定したURLにとばすことは出来ましたが、どうすればサイトタイトルと画像(リンク先)を合わせることが
できるのでしょうか?
<script language="JavaScript" type="text/JavaScript">
<!--
var icnt = 2;
var myDate = new Date();
var d = myDate.getSeconds();
var idx = d % icnt;
var bnr=new Array();
var lnk =new Array();
bnr[0]="1.jpg";
lnk[0]="URL";
bnr[1]="2.jpg";
lnk[1]="URL";
document.write('<a href="' + lnk[idx] + '" target="_brank">');
document.write('<img src="' + bnr[idx] + '" border="0" alt="">');
document.write('</a>');
-->
</script>
アドバイスをお願いします。
123:質問させて下さい
08/04/21 18:51:26 XeqBLXIH
次のようにしたんですが最後の記述がわかりませんでした;;
abc=テキスト表示です。
<script language="JavaScript" type="text/JavaScript">
<!--
var icnt = 2;
var myDate = new Date();
var d = myDate.getSeconds();
var idx = d % icnt;
var abc=new Array();
var bnr=new Array();
var lnk =new Array();
abc[0]="あいうえお";
bnr[0]="1.jpg";
lnk[0]="URL";
abc[1]="かきくこけ";
bnr[1]="2.jpg";
lnk[1]="URL";
document.write(ここをどのように記述すればいいのでしょうか?);
document.write('<a href="' + lnk[idx] + '" target="_brank">');
document.write('<img src="' + bnr[idx] + '" border="0" alt="">');
document.write('</a>');
-->
</script>
何度も申し訳ありません。
124:Name_Not_Found
08/04/21 19:04:26
117のフリしたらなんかおっさんが吠えてきたw
125:質問させて下さい
08/04/21 19:11:10 XeqBLXIH
できました。
URLリンク(q.hatena.ne.jp)
126:Name_Not_Found
08/04/21 19:54:24
>>118
練習用にと思ってやってたんで引数は簡単に付けました↓
>>119
ありがとうございます、丁寧に教えてくれて。前に書いた117としばらく
睨めっこしてたらformの後に全角スペースが入ってるのに気がつきました;
こんなアホな間違いを(´Д`;)
ちなみに>>120は自分の書き込みじゃないです。
ご迷惑おかけしました。
127:Name_Not_Found
08/04/22 00:47:24
>>116
まじっすか。
じゃぁ、>>106にあるのは、
「使えるかもしれない」リストなんですね。
「使える」リストがどこかにまとまってりしないかなぁ。
128:Name_Not_Found
08/04/22 01:04:41
var a = new A();
と等価なコードが知りたくて、
var tmp = function(){};
tmp.prototype = A.prototype;
A.call(tmp);
var a = tmp;
としてみたけど、全然ダメだわ。
もしかして、等価なコードって書けない?
129:Name_Not_Found
08/04/22 02:25:49
ECMA262-3rdの15.4.5.1を参考に[[Put]]を実装しろ
130:Name_Not_Found
08/04/22 03:11:47
>>128
new A == new A; // false
131:Name_Not_Found
08/04/22 07:25:55
どうなったら全然ダメじゃないんだよ
132:Name_Not_Found
08/04/22 08:21:15
言語のプリミティブと同等の動作が他の手段で実現できる
場合なんてむしろ少ないだろ。何がやりたいんだろう。
133:Name_Not_Found
08/04/22 08:21:35
>>129 できればソースでお願いします。
>>130 new禁止
>>131 prototype.js内にあるnewという単語がなくなって、それでも今までどおり動けばおk
134:Name_Not_Found
08/04/22 08:46:23
newがなくなるとどういう利点があるの
135:Name_Not_Found
08/04/22 08:47:21
>>133
自分で考える気がないのならとっととよそへ行け。
しかしnewの替わりということだと、オブジェクトは
オブジェクトイニシャライザ {...} で作るとして、
prototypeをどうやって設定するかが問題だよねー。
洩れはnew以外の方法は無いと思っているのだけど、
何かアイデアある?
136:Name_Not_Found
08/04/22 09:53:09
__proto__ & watch()
137:Name_Not_Found
08/04/22 10:56:14
動くか知らんが
function New(/* constructor [, arg1[, arg2[, ...]]] */) {
var con = Array.prototype.shift.call(arguments);
var tmp = con.prototype;
con.apply(tmp, arguments);
return tmp;
}
var a = New(A);
138:Name_Not_Found
08/04/22 10:58:54
あ、やっぱりだめだ。prototype がぶっ壊れる
かといってコピーすると継承できないしねぇ
139:Name_Not_Found
08/04/22 19:27:08 CHLI8z4C
かなり初歩的な質問ですけど、
onChangeで関数を動かした結果を、特定の場所に出力する。
ということをしたいのですけど、
出力するところの処理が分かりません。
どのようにソースを書けばよろしいのでしょうか?
140:Name_Not_Found
08/04/22 20:40:29
>>139
出したい場所のHTML要素にid振って
document.getElementById('ID名').innerHTML = '文字列';
141:Name_Not_Found
08/04/22 21:40:51
>>140
そのようになるのですね。
ありがとうございました。
142:Name_Not_Found
08/04/22 23:40:29
s
143:Name_Not_Found
08/04/23 01:08:18
IEのメモリーリークで2つ質問。IE6以下はパッチあて済み前提。
1.documentツリーから切り離されているDOMオブジェクト同志が
相互参照している状態でリロードしてもメモリ増え続けない?
2.JSのオブジェクト同士が相互参照している状態でリロードしても
メモリ増え続けない?
144:Name_Not_Found
08/04/23 01:27:10
<link>タグのhrefのURLを動的に決定したいと思っています。
それを実現する処理を、JavaScriptで書けば簡単なのですが、
外部ファイルが非同期な読み込みになってしまいます。
(HTMLならファイルの読み込み完了まで待って、
次の行を読み込み始める動きをしてくれる(defer付与なしの場合))
JavaScriptでlinkノードを動的に追加するさいに、
同期で動かすためのオプションなどご存じではないでしょうか?
145:Name_Not_Found
08/04/23 01:30:52
>>144
そんなものはない。linkの内容は何さ。スタイルシート?
もしそうなら、そのファイルの末尾にあるCSS記述がDOMから
取れるようになるまで20msec間隔でチェックするとか。
146:Name_Not_Found
08/04/23 01:38:39
>>136の
Array.prototype.shift.call(arguments);
やURLリンク(developer.mozilla.org)
にあるように、Array.prototypeのメソッドを他のオブジェクトに
適用しているコードって見かけますが、
これはどのブラウザでも動作するの?ECMA的にはどうなの?
147:Name_Not_Found
08/04/23 01:41:58
>>146
ECMAにはまさに「このメソッドは意図的に汎用にしてあるから
別のオブジェクトに対して呼んでもいいよ」みたいなことが
メソッド毎に書いてあったりする。というかこんなとこで
聞くより自分でECMAチェックした方が早いでしょ。和訳版もある。
(テンプレ参照)
148:Name_Not_Found
08/04/23 01:58:11
>>145
CSSだね。
う~ん。IEならonloadだかonreadystatechangeだかで読み込み完了の
イベントの検知は出来るからそれはやってる。
でも、その処理を入れること自体がいやで、ためしにnodeferとか
利かないかなと思ったんだけどダメでした。
FireFoxとかはCSS読み込み完了のイベント検知出来ないんだっけ?
149:Name_Not_Found
08/04/23 09:41:58 wdo/MqPt
URLリンク(javascript.maxux.com)
上記ページのように、javascriptでデータベース検索を行い、
同ウィンドウ内に検索結果を表示させたいのですが、
他にサンプルがあったらぜひ教えて下さい。宜しくお願いします。
150:Name_Not_Found
08/04/23 10:12:58
ぐぐれ化す
151:Name_Not_Found
08/04/23 11:50:31
「○○なサイト知りませんか」とか「○○なサンプルありませんか」とか激しくスレ違い
脳みそがあるんだから考えてからレスしろよ
152:Name_Not_Found
08/04/23 11:53:40
>>151
可愛い彼女を手軽に見つけられるサイトありませんか?
153:Name_Not_Found
08/04/23 11:57:04
>>152
Yahoo!メールアドレスを取得
154:Name_Not_Found
08/04/23 12:08:30
>>151
レスしろよ
はぁ?
155:Name_Not_Found
08/04/23 12:20:11
>>153
教えてくれんの?
156:Name_Not_Found
08/04/23 12:32:14
世の中には、教えてくれないことがいっぱいあるのです。
なんでも教えてくれるというふうに思い込んでいる頭を、
まず改めないといけません。
社会では、誰も何も教えてくれません。
教えてくれるようなことは、たいてい役に立たないものです。
本当に役立つことは、教えてくれないことの中にあるのです。
―中谷 彰宏「自分で考える人が成功する 」―
157:Name_Not_Found
08/04/23 13:04:24
>>155
毎日ごみ箱に届けます
158:Name_Not_Found
08/04/23 17:01:21
楽天はやめとけ。自分のメールを探すのが大変だ。楽天の宣伝メールだらけ。
159:Name_Not_Found
08/04/23 19:38:28 fLE4gTmP
No = selOBJ;
if( No.match(/[^0-9]/g) ){
alert("数字以外が含まれてます");
}
取得したデータが数字かどうかを調べたいのですけど、
このようなソースを書いたらエラーになりました。
どこが間違ってるのでしょうか?
160:Name_Not_Found
08/04/23 19:48:01
No = selOBJ;
if( No.match(/[^0-9]/g) ){
あたり
161:Name_Not_Found
08/04/23 19:53:16 fLE4gTmP
>>160
間違っては無いはずですよね?
だけど、実際にはエラーで止まるし、
Firebugでも
「No.match is not a function」
と出てきてしまうのですけど、
162:Name_Not_Found
08/04/23 20:08:10
matchは文字列用のメソッドだから、
Noが文字列じゃない場合はエラーになるお
163:Name_Not_Found
08/04/23 20:22:04 BE:19786043-2BP(2)
Dojoを使っているんですけど、Dijit.Textareaで問題が。
MML@L4b>b&b8cc.L4d<dみたいなテキストを入れると自動的にメールアドレスに変換されてしまい困っています。
扱っているデーターが特殊で、みたいに不等号や&などがあるため、
この結果、&&&&みたいな命令が消えてしまい、データーが化けてしまいます。
この自動変換機能を無効化する方法が知りたいのですけど、わかりませんか?
ソースコード見てもどこで変換しているのかよくわからないし。
URLリンク(trac.dojotoolkit.org)
って、JavaScriptのフレームワークの質問もここでいいのだろうか?
164:Name_Not_Found
08/04/23 20:26:37 fLE4gTmP
>>162
なるほど。PHPやってたせいでごっちゃになってたみたいです。
ありがとうございました
165:Name_Not_Found
08/04/23 21:20:45
<script language="JavaScript">
<!--
var hairetu=new Array('日曜日','月曜日','火曜日','水曜日','木曜日','金曜日','土曜日');
var myD =new Date();
var myDay=myD.getDay();
var hyouji='今日は'+hairetu[myDay]+'です。';
document.form.text.value=hyouji;
}
//-->
</script>
<form name="form">
<input type="text" name="text" size="60">
</form>
これでonloadは使わないで曜日を表示するやり方ってありますか?
166:Name_Not_Found
08/04/23 21:42:39
>>165
script要素を当該input要素より後に置く。
167:Name_Not_Found
08/04/23 21:56:36
>>165
いつも思うんだが、//-->
168:Name_Not_Found
08/04/23 22:50:26
もういらないよな
169:Name_Not_Found
08/04/23 23:08:24
なんで?
170:Name_Not_Found
08/04/23 23:11:47
時の流れかな
171:Name_Not_Found
08/04/23 23:19:17
>>170
時代錯誤甚だしいな。ケータイ厨がカモネギ状態で美味しい時代なのに、コメントアウトしなかったら、最悪だ。
172:Name_Not_Found
08/04/23 23:34:03
ケータイはどうでもいいがそんなものを書いておくと豚でもない
ことになる時代がすぐそこに来ているよね。
173:Name_Not_Found
08/04/24 00:08:20
>>163
Dijit.Textareaはブラウザ組み込みのcontenteEditable使っていて、IEで見ると、勝手にリンクになる。
見た目だけなら対象の要素にのCSSに以下を設定すればごまかせるかもよ。
text-decoration: none;
color: black;
174:Name_Not_Found
08/04/24 00:24:30
split(/\r?\n/)とすると、改行ごとに配列にしてくれますが、
連続した改行がまとまってしまいます。
splitにはあくまで正規表現を渡しつつ、
連続の改行がまとまらないようにする方法ってありますか?
175:Name_Not_Found
08/04/24 00:43:11
>>64
A14. それらが実行されるときはthisは別のもの(window等)を指してしまってる。
「function bind(x){return function(){...x...};}」という別関数を用意して、
「bind(this)」のようにthisを別の変数に束縛しその変数を使って。
メモリリークは書くとしても別項目でよいかなぁと。
176:Name_Not_Found
08/04/24 00:53:21
>>171
すまんが、ケータイってソース見えるの?
177:Name_Not_Found
08/04/24 01:34:34
>>171
ケータイ相手に無駄スクリプトまで送ってパケ浪費させるとか
それこそ時代錯誤だろ。外部に置けよ。
178:Name_Not_Found
08/04/24 01:42:21
ケータイ中継サーバーが削除してくれるんじゃないの?
179:Name_Not_Found
08/04/24 01:45:41
>>167
あとこれもな。language="JavaScript"
180:Name_Not_Found
08/04/24 03:01:28
divに設定されているスクロールバーをスクリプトで移動させる方法はありませんか
scrollToやscrollByはwindowのメソッドでつかえないみたいなんですが
181:小5
08/04/24 03:14:41 yfY3kTgw
js をテキストでコピーしたりして、自分で一部追加機能をつくってみたりした時は
キャラセットとかいろいろ、えと、どういう保存のしかたすればいいんでしか?
ふつうに.jsて拡張子つければいいの?エロイ人教えてください
182:180
08/04/24 03:51:37
事故解決しました
scrollTop若しくはscrollLeftプロパティーに値を入れる事でスクロールできました
183:Name_Not_Found
08/04/24 04:51:15
>>166
どもです!
ジャバスクって何気に奥が深くって難しいっすねorz
184:Name_Not_Found
08/04/24 05:55:23 odH156OE
youtube見ようと思ったら見られなくなりました。
フラッシュプレイヤーを入れるかジャバスクリプトをオンにしてくださいと出ました
フラッシュは確実に入ってるので、ジャバをなんかやらかしたみたいです。
どこを見ればオンに出来るのでしょうか?
185:Name_Not_Found
08/04/24 08:08:59
>>184
ここはJavaScriptプログラムを開発する人の質問スレ。
というかそもそもここはWeb制作板なんだから板違い。氏ね。
>>181
文字コードはメインページの文字コードに合わせておくのが
いいんだと思うけどな。そういう話じゃないの?さすが消防で
質問の趣旨が非常に分かりづらいのであしからず。
186:Name_Not_Found
08/04/24 08:17:37 BE:69250076-2BP(2)
>>173
情報THX
IE側の仕様でそういうのがあったんですね。
てっきりDojo側で力ずくでこういう処理をしているのかと思っていました。
URLリンク(msdn2.microsoft.com)
しかし、そうなると特殊なフォーマットを使う場合不便だなぁ・・・。
187:Name_Not_Found
08/04/24 17:39:18
ソース内にある「?」
って何なんですか?
188:Name_Not_Found
08/04/24 17:59:59
ハア??? もしかして「3項演算子」のこと?
z = (x > y) ? 0 : 1; // x>yなら0、そうでなければ1をzに入れる
189:Name_Not_Found
08/04/24 18:18:39
手取り足取りスレが、長いソースを貼ってこれを理解しろ的な流れで、
こっちのスレが初心者用スレとなっているという不思議。
190:Name_Not_Found
08/04/24 18:49:02
>>188
ありがとうございました
191:Name_Not_Found
08/04/24 19:32:13
もういいよ教えなくて
192:Name_Not_Found
08/04/24 19:38:11
スタイルシート
span{font-weight:bold;}
div{margin-left:20px;display:block;}
スクリプト
var expires = new Date();
expires.setDate(expires.getDate() + 30);
function setCookie(name,value,expires){
var cookieStr = name + "=" + encodeURIComponent(value);cookieStr += expires ? " ;expires=" + expires.toGMTString() : "";
return cookieStr;
}function getCookie(name){
var value;
var cookies = document.cookie.split(" ;");
for(i=0;i<cookies.length;i++){
value = cookies[i].split("=");if(value[0] == name){return decodeURIComponent(value[1]);}}return null;
}function menuFold(id,cookie){
var type,node = document.getElementById(id);
if(node.style.display == "block"){node.style.display = "none";type = "false";}
else{node.style.display = "block";type = "true";}
setCookie(cookie,type,expires);
}function loadFold(id,cookie){
var c = getCookie(cookie),node = document.getElementById(id);
if(c == "false"){node.style.display = "none";}
}
HTML
<body onload="loadFold('menu1','Mc1');loadFold('menu2','Mc2')">
<span onclick="menuFold('menu1','Mc1')" onselectstart="return false">メニュー1</span>
<div id="menu1">メニュー1-1<br>メニュー1-2</div><br>
<span onclick="menuFold('menu2','Mc2')" onselectstart="return false">メニュー2</span>
<div id="menu2">メニュー2-1<br>メニュー2-2</div>
こんな感じで記憶機能のあるメニュー折りたたみを作ってるのですが記憶できません。
どうすればいいでしょうか?
193:Name_Not_Found
08/04/24 19:44:14
すいません、自己解決しました。
Cookieに書き込むのを忘れてました…(document.cookieをreturnにしてしまっていた)
194:Name_Not_Found
08/04/24 19:48:47
document.cookie.split(" ;"); でいいのか?
195:Name_Not_Found
08/04/24 20:04:28
("; ")ですね…
196:Name_Not_Found
08/04/24 20:22:04
コメントアウトをきちんと整理できてるのって、俺以外だと国内に10人もいないからな、たぶん。
だから、馬鹿どもがすぐに否定し始める。
>>172
ケータイがどうでもいいとか、もう究極のアホだな。むしろJSの方がどうでもいい、大差でな。
>>177
外部に置け?置けない時の対処法だろ。置けるならすぐ置くわな。そもそもこの板でrootやsudoで何でもやってる奴はほとんどいない。
197:Name_Not_Found
08/04/24 20:32:51
>>196
気は済んだか
198:Name_Not_Found
08/04/24 20:52:06
>>196
>>21
199:Name_Not_Found
08/04/24 22:14:12
>>196
アンタがエラソーに言えば正しくなるわけじゃないだろ。
まあ2ちゃんだから煽るなとは言わないけどね。おつかれ。
200:Name_Not_Found
08/04/25 01:39:02
>>174をよろしく。
"a\r\n\nb".split(何か).lengthが3になってほしい。\rを削りつつ。
201:Name_Not_Found
08/04/25 02:38:37
IEのバグだから無理
202:Name_Not_Found
08/04/25 02:49:39
>>196
文盲乙
203:Name_Not_Found
08/04/25 06:13:24
>>196
X|HTMLの仕様すら読んでないことだけはよく分かった。
204:Name_Not_Found
08/04/25 08:30:08
とても初歩的な質問なのですが
現在当方のJavaScriptがOFF状態になっているのですが
これをONにするには、どう操作すればよいのでしょうか?
205:Name_Not_Found
08/04/25 08:35:19
>>204
スレ違いどころか板違い。よそへ行け。
206:Name_Not_Found
08/04/25 08:49:25
>>200
まずreplaceで\rを削除し、その後で\nでsplitしたらどうかな。
207:Name_Not_Found
08/04/25 09:46:31
>>204
ワロタ。自分と世界が完全に一体化しているな。
208:Name_Not_Found
08/04/25 13:16:44
IE にそんなバグがあったのか
1文字ずつ検索しなきゃならんな
209:Name_Not_Found
08/04/25 22:55:00
スレリンク(hp板:504番)
210:Name_Not_Found
08/04/26 01:09:06
>>203
211:Name_Not_Found
08/04/26 07:21:02 5Z58ufLR
フォームに最初に「文字を入れる」と入力されていて、
フォームにクリックするとその文字が消える仕組みにしたいんですけど、知識ないですけど、そのやり方を教えてください。
確か
<INPUT TYPE="text" name="?" value="文字を入れる">
の後ろに何か加える?(onclick?)ようなやり方だったと思うんですけど。
212:Name_Not_Found
08/04/26 07:41:13
論外
213:Name_Not_Found
08/04/26 08:02:14
<INPUT TYPE="text" name="?" value="文字を入れる" onclick="this.value=''">
214:Name_Not_Found
08/04/26 09:55:16
>>203
(XHTML|HTML)
215:Name_Not_Found
08/04/26 12:16:25
(X?HTML)
216:211
08/04/26 13:04:26 5Z58ufLR
>>213
できたあ!!ありがたや、ありがたや!
217:Name_Not_Found
08/04/26 13:10:29
('X?HTML','i')
218:Name_Not_Found
08/04/26 13:10:40
>>216
<input type="text" name="?" value="文字を入れる" onclick="if(this.value==this.defaultValue){this.value='';}">
219:Name_Not_Found
08/04/26 19:52:10
クリックすると、との条件で質問しているが、ふつうfocusだろ。
220:Name_Not_Found
08/04/26 20:10:17
>>219
>>2(6)
双方に理があるんでは? 少なくとも>>211は自分の仕様を脳外にはっき
りと明記して>>2(6)のルールを守っているわけだし、「ふつうは」など
と意味不明の「常識」で他人をどうこういうべき領域でもない希ガス。
221:Name_Not_Found
08/04/26 21:01:28
いや、ここはfocusだろ
222:Name_Not_Found
08/04/26 21:54:13
>>220
おまえが意味不明。focusでより広範囲のアクションをカバーできる。
223:Name_Not_Found
08/04/26 22:32:13
いや。意味不明とか言われても・・・。おれ、見てて思ったんだ。そし
て、思い出した。>>2(6)のこと。仕様って個のものだと思うんだ、結
局のところ。個のベンダーがユーザとしての個を培養しているだけの
ことでさ。だから自分のよいと思うイベントをデザインした人間はそ
れが理想的なイベントでいいのじゃないか、って。ま、どう批判しよ
うと自由ではあるんだけどさ。そういうことだから、別に。
224:Name_Not_Found
08/04/26 23:12:36
Web系の画面を設計するときに、イベントはよく間違えるよな。
click、mousedown、focus。
これは机上だけだと思っていた仕様と違ってるって気づきにくい。
225:Name_Not_Found
08/04/27 00:24:48
「キース・ジャレットのゴルトベルク変奏曲聴きたいんだけど…どこに売ってるかな?」
「あそこの○○レコードで売ってたよ」
「ありがと。行ってくる」
「そこはグレン・グールドだろ常考」
…本人がわざわざキースを指名してんのにこういう押し付けがましい輩はどこにでも居る。
まぁあえて好意的に解釈するなら、
「本人はグールドを知っていてキースを選んだのではなく、そもそもグールドを知らないのではないか。
知ってたらそっちを選ぶかもな。知っておいて損はあるまい」
という親切心からかもしれない。
226:Name_Not_Found
08/04/27 01:12:53
A「 新宿から有楽町まで山手線で行きたいのですが、何番線ホームで乗れば良いのですか?」
B「それなら中央線で神田まで行って、そこから山手線に乗り換えた方が速いよ。」
Aが観光やらで山手線を利用する必要があるなら別だけど、
Bの提案に問題があるとは思えないね。
しかし>>225は、ジャズがお笑いのネタとして使われる理由の一端が判るレスだよ。
227:Name_Not_Found
08/04/27 01:56:24
素直に南蛮船ホームで乗るかを答えるのも
問題なっしんぐ
一番親切なのは
とりあえず質問に答えた上で
質問の意図を汲んで提案してみるってことで
228:225
08/04/27 02:15:14
ちなみに俺自身はグールドの55年版で聴いてるよ。JAZZは聴かん。貶めるつもりもないけど。
ただ、一部のいわゆるクラヲタの“俺の1番が世界の1番、他はみんなクソ”的押し付けがましさ
には端から見ているだけでもほとほと辟易してるんで。
スレ違いスマソ。
229:Name_Not_Found
08/04/27 02:23:14
痛い流れだな
230:225
08/04/27 02:36:08
> ただ、一部のいわゆるクラヲタの“俺の1番が世界の1番、他はみんなクソ”的押し付けがましさ
> には端から見ているだけでもほとほと辟易してるんで。
あーこの部分については純粋に(一部の)クラヲタについての独立した感想で、
このスレのfocus提案者を例えているつもりは無い。
気分を害したなら申し訳無い。どこまでもスレ違いスマソ。
231:Name_Not_Found
08/04/27 03:19:05
これが真性のヲタってやつだな。
232:Name_Not_Found
08/04/27 03:28:54
そうでもないか
233:Name_Not_Found
08/04/27 09:54:32
>>211は早い段階で>>219にレスをつけるべきだったな
それはともかく、
> 後ろに何か加える?(onclick?)ようなやり方だったと思うんですけど。
onfocus を知らないということが読み取れる。>>226のAは観光目的ではなかったわけだな
ちゃんと質問を読もうぜ
234:Name_Not_Found
08/04/27 11:06:01
しつこいよ
235:279
08/04/27 11:49:09 4fylHKUh
テキストボックスの内容が変更された瞬間に、
javascriptを実行するにはどうすればいいのでしょうか?
onchange= だと、別の場所にフォーカスを移さないと実行されず、
onkeydown= だと、内容が変更される直前に実行されてしまいます。
236:Name_Not_Found
08/04/27 11:49:58
こいつよし
237:Name_Not_Found
08/04/27 12:49:51 y3ZbfC5e
(235-279)<0
238:Name_Not_Found
08/04/27 13:23:07
フォーカスが当たってから0.1秒毎に監視しとけ
239:Name_Not_Found
08/04/27 14:58:22
変更された瞬間とは?これって大問題だよね。banana!=bananをエンジンに
どう判断しろというのか。
240:Name_Not_Found
08/04/27 15:28:22
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var tid = 0, str = '', elt;
function set(){elt=document.getElementById('t0');tid=setInterval(chk,100);}
function unset() { if(tid) clearInterval(tid); }
function chk() {
if(str == elt.value) return;
document.getElementById('d0').innerHTML = str + '->' + elt.value;
str = elt.value;
}
</script>
</head><body>
<div><input id="t0" type="text" onfocus="set()" onblur="unset()"></div>
<div id="d0"></div></body></html>
241:Name_Not_Found
08/04/27 15:39:38
>>235
DOM操作によるデータ変更では無く、ユーザーのキー入力による変更を反映したいなら、
onkeyup。
キーを離す前に(押しっぱなしで連続入力している最中など)に、
tabやクリックで入力フォーカスが移った場合には、
onkeyupイベントが発生しないので、onblurと組み合わせて使うとか。
242:Name_Not_Found
08/04/27 15:51:23
onkeyupは日本語IMEがからんでいるとうまく行かないよ。
なので>>240。
243:Name_Not_Found
08/04/27 16:30:52
>>242
WinXP(IME2002)上のFirefox2とIE7
Win2k(IME2000)上のFirefox2とIE6
どちらの環境でも、IEでは日本語入力時でも毎回keyupイベントが発行されるが、
Firefox2では日本語入力が確定した時にだけkeyupイベントが発行される。
その他に問題があったっけ?
しかしてっきり>>240は一種のジョークかと思ったがマジレスだったとは。
244:Name_Not_Found
08/04/27 16:34:06
setInterval って JavaScript の最終手段だよね
クロスブラウザって大変!
245:Name_Not_Found
08/04/27 17:43:02
onclick指定はそこまで読んだ末のことだったのか脱ハット
246:Name_Not_Found
08/04/27 18:54:33
ある日突然ニコニコやなんとか動画その他もろもろ動画サイトで動画が見れなくなってしまいました。
「java scriptを実行許可にしてください」と出るのですが、その辺は一切弄ってないし
インターネットオプションで確認しても有効になってました。
java、J2SEを再インストールしても状況は変わりません。
心覚えがあるとしたら、前スパイウェアに侵入され、スパイウェアを駆除するソフトを使ったのですが、
PCを起動した際に重要なレジストリの変更を・・・と出てきたので遮断としてしまいました。
OS再インス以外で解決策があればお願いします。
247:Name_Not_Found
08/04/27 19:04:51
>>246
セキュリティ初心者質問スレッドpart107
スレリンク(sec板)
上記スレの方が適切かと思われます。
248:Name_Not_Found
08/04/27 19:11:52
>>247
JAVA関連で問題が起きているのになぜセキュリティ?
249:Name_Not_Found
08/04/27 19:13:25
すみません、テンプレよく読んで無かったです
無かったことにしてください
250:Name_Not_Found
08/04/27 19:49:33 otfhk5pv
YouTube での "JavaScript を On にしてくれ" 関連の質問があるようだけど,
あれは script 中のタイプミスが原因だったそうな.
で, 現在は修正されているはず.
すれ違いだけど, この前から しばしば見かけるので.
251:Name_Not_Found
08/04/28 10:30:30
フォーム入力チェック用のライブラリっていくつかあるみたいだけどどれがいいんだろうねえ
252:Name_Not_Found
08/04/28 11:06:02
よくある下記の記述ですが、IE6だとOKですがFireFox2だと表示されません。
onmouseover="status='ホニャララ';return true" onmouseout="status=' '"
ググッたりして調べてみたのですが、理由が解らなかったのですが、何が
原因なのでしょうか?
あとPC上でローカルに表示させた時は、IE6でも表示されないので、それが普通
だと思ってましたが、何故か下記のだと FireFox2 でも使える上にPC上でも利き
ました。
onmouseover="this.style.border='1px solid #000000'" onmouseout="this.style.border='1px solid #ffffff'"
これが何故PC上でのみIE6だと利かないのか、やはりググッたりしてみても
解りませんでした。理由や対策が解れば教えて頂けますか?
253:Name_Not_Found
08/04/28 11:40:08
>>252
まずstatusじゃなくwindow.statusと書いた方がいいかも。手前に
statusという変数がある場合があるかも知れないし。で、window.status
をJavaScriptから書き換え可能かどうかはブラウザ毎に、さらに実行環境
(ローカル、サーバ)毎に、設定できたような気がするんで、その設定に
よるんじゃないのかなー。
IEでthis.style.borderへの設定がローカルの場合だけできないという
のは理由がよく分からないね。ともかく、Web制作なんだからサーバ
に置いた場合前提で開発するのがいいんじゃないかな。
254:Name_Not_Found
08/04/28 12:33:40
動的にチェックされたチェックボックスを生成したいと思い以下のコードを書きました。
FireFox2ではチェック済みのチェックボックスがtestdivに生成されましたが
IE6ではチェックされていないチェックボックスが生成されました
IEでもチェック済みのチェックボックスを生成する方法をご存知でしたらご教示ください
<html>
<head>
<script langueage="JavaScript"><!--
function $(id){ return document.getElementById(id); }
window.onload=function(){
newInput=document.createElement("input");
newInput.setAttribute("type","checkbox");
newInput.setAttribute("checked",true);
$("testdiv").appendChild(newInput);
}
// --></script>
</head>
<body>
<div id="testdiv"></div>
</body>
</html>
255:254
08/04/28 12:40:56
すいません自己解決しました
チェックボックスにidを設定して
newInput.setAttribute("id","hoge");
appendChildした後にcheckedをtrueにしたら
$("hoge").setAttribute("checked",true);
IEでもチェック済みになりました
256:Name_Not_Found
08/04/28 13:31:49
>>254-255
HTMLタグでいうcheckedはDOMでは「defaultChecked」だけど、
そのsetAttributeはどっちをセットしてるんだろうねー。
やっぱりsetAttributeを使わない方が無難だと思うがどうよ。
257:Name_Not_Found
08/04/28 13:36:56
>>253
レスサンクスです。
じつわ window.status に関しては、PCローカルで既に試してたのですが、IE6
でもFireFox2でも駄目でした。(ネット上では未確認です。)
因みにPCの環境はWindowsXPsp2の最新状態です。IE6とFireFox2も同じく最新
状態です。
確かにネット上で全てオケなので、あまり気にする必要は無い訳ですが、status
の件だけなら、「まあそんなものか。」と思ってたのですが、this.style.border
で逆みたいな現象が出たので、不思議に思った次第です。
で、もしかしたら記述方法とかで、PC上でも自由に動作確認可能に出来るなら、
便利だなと思って質問した次第ですが、どうも環境設定の問題だと厄介そうで
すね。
258:Name_Not_Found
08/04/28 13:45:56
>>257
しまった!!!
status に関しては ネット上でも FireFox2 だと駄目だったんだ。
で、window.status に変更したモノをネットにアップして試したところ、
IE6だとOKでFireFox2だと駄目なのは、全く一緒でした。orz
因みにFireFox2 だと下部バー上には「完了」という文字が出たままになります。
環境設定だけの問題だと、使ってるプロバイダのサーバー環境のせいなら対処が
困難で困るのですが、自分のPC環境のせいなら他のユーザーは支障なく見れる筈
ですが、このあたりはどうなんでしょう?
259:Name_Not_Found
08/04/28 14:12:51
設定
260:Name_Not_Found
08/04/28 14:15:11
>>258
そもそも自分のFFx2の設定の「JavaScriptでステータスバー変更を許す」
をチェックしているのかいないのか。チェックしているのにできないのなら
さすがにバグでしょ?
261:Name_Not_Found
08/04/28 14:35:59
バグでもなんでもそもそもそこはそういうものを表示するところ
じゃないし、近い将来FFやIEでそれができなくなっても不思議で
はない。
262:Name_Not_Found
08/04/28 14:38:04
もちろん自分はうるさいのでスクリプトでstatusを変更するのは
不許可にしているけどね。
263:Name_Not_Found
08/04/28 15:33:53
>>259-262
レスどもです。
どうやらFireFox自体に許可/非許可の設定があり、フィッシング等のURL偽装
の問題の為に、デフォルトで非許可、又は今後この機能自体を無くしていく
方向みたいですね。
264:Name_Not_Found
08/04/28 20:55:56
このスレで出た未決の問題のうち重要そうなものをまとめてみた。
>>82 Dripのrefsの数値の謎について
>>86 IEでトップレベル関数の列挙方法
>>127 addEventListenerの「使える」イベント一覧
>>143 IEのメモリーリーク
>>148 FireFoxでタイマーを使用する以外での外部ファイル読み込み完了検知方法
265:Name_Not_Found
08/04/29 00:06:01
>>261
>そもそもそこはそういうものを表示するところじゃゃない
いやいや、そういうものを表示するところだよ。
デフォルトの動作(たとえばIE7ならhref属性値やaction属性値の絶対URI表現を見せること) を残して、その隙間をぬってページ独自の何かを便利な形で見せるのが面倒くさいだけ。だから普通はやらないが、使えるコスト次第では凝ってみる価値はある。
266:Name_Not_Found
08/04/29 01:08:15
>>265
ステータスバーの本来の役割は、現在の状態や機能を説明するなど、補助的な情報を表示する為に使われる。
が、ブラウザでのステータスバーは、ユーザーとしてはリンク先が表示されるという事を前提としている為、
リンク先を隠匿する目的などに悪用されるのを防ぐ為、現在ではスクリプトによる変更が制限されるのが一般的。
これを知らないとは10年くらい冬眠していたとか?
267:Name_Not_Found
08/04/29 05:24:02
<script type="text/javascript">
<!--
function chk(){
for(i=0;i<3;i++){
if(document.form.fruit[i].checked){
var fruitA=document.form.fruit[i].value;
}
}
alert('あなたは'+fruitA+'が好きですね。');
}
-->
</script>
<p>好きな食べ物を入力してください。</p>
<form name="form">
<input type="radio" name="fruit" value="りんご" >りんご<br>
<input type="radio" name="fruit" value="みかん" >みかん<br>
<input type="radio" name="fruit" value="いちご" >いちご<br>
<p><input type="button" name="button" value="ボタン" onclick="chk();"></p>
</form>
これでラジオボタンが入力されていないときアラートで入力されてません
って表示するにはどうしたらいいんですか…?(・・)
268:Name_Not_Found
08/04/29 05:35:51
>>267
fruitAがundefinedになるべ。
269:Name_Not_Found
08/04/29 06:06:00
ループ抜けた後に
if(typeof fruitA =="undefined"){alert("入力されていません");}
でいけると思う
270:Name_Not_Found
08/04/29 10:30:15
<script type="text/javascript">
<!--
function chk() {
var radio = document.forms['form'].elements['fruit'];
for (var i = 0, len = radio.length; i < len; i++) {
if (radio[i].checked) {
alert('あなたは ' + radio[i].value + ' が好きですね。');
return;
}
}
alert('入力されてません');
}
// -->
</script>
<p>好きな食べ物を入力してください。</p>
<form name="form" action="">
<input type="radio" name="fruit" value="りんご">りんご<br>
<input type="radio" name="fruit" value="みかん">みかん<br>
<input type="radio" name="fruit" value="いちご">いちご<br>
<p><input type="button" name="button" value="ボタン" onclick="chk();"></p>
</form>
271:Name_Not_Found
08/04/29 11:30:28
>>269
!fruitA
272:Name_Not_Found
08/04/29 13:48:50
>>266
でもググッたりしても、この手の情報がなかなか見つからない程度にしか、普及
してない?知識なのも事実では?
英語のQ&Aみたいな掲示板なんかの方が、良く見つかったりしたし、FireFoxの普及
度合いが日本で低いせいかもしれんけど。
273:Name_Not_Found
08/04/29 14:02:32
単に日本のソフトウェア技術って先進国中で最低だから
流通しているまっとうな情報の量も少ないとかじゃないのかなー
まあともかく、ここのスレでは嘘は嘘だと厳しく指摘してもらえるので。
274:Name_Not_Found
08/04/29 20:18:50
>>266
275:Name_Not_Found
08/04/30 02:25:38
>>268
色々試してたら何とかundefinedが消せました!ありがとうございました。
>>269
ありがとうございます!試してみたけたけど読み込んだ瞬間にアラートが
表示されるようになりました↓
>>270
やってみたら出来ました!入力されてませんアラートを表示するだけなの
に結構大変なんですね;ソースを見て勉強します(`・ω・´)
276:Name_Not_Found
08/05/01 01:22:38
>>264 >>148
CSSをXMLHttpRequestで取ってきて、evalするのはどう?
eval自体は同期で実行されるからいいんじゃね。
277:Name_Not_Found
08/05/01 01:41:31
よーし、おじさんも同期、非同期の質問しちゃうぞ。
element.click()とすると、すぐには実行されずに、JavaScriptの処理が終了した後、
IEがclickイベントを発動します。
JavaScriptの処理が終了せずに、clickイベントを実行させる
(キャプチャーフェーズ→バブリングフェーズ→デフォルト動作を実行後、関数が戻ってくるイメージ)
ことは出来ないのでしょうか?
278:Name_Not_Found
08/05/01 04:11:19
正規表現オブジェクトに誤ったパターン("*"など)を渡すとエラーになってしまうため
事前にパターンの正しさをチェックしたいのですが
チェックするための手段(関数等)は標準で用意されているのでしょうか?
もしあれば教えてください。よろしくお願いします
279:Name_Not_Found
08/05/01 04:21:00
try...catchでいいんぢゃないか
280:Name_Not_Found
08/05/01 08:20:01
>>277
click()した後の処理すべてをsetTimeout(関数, 0);の中でやる
ように直せばいいんじゃないの。試してないけど。
>>276
CSSをeval()する方法ってどうするの。サンプルキボン。
281:Name_Not_Found
08/05/01 09:09:03
つか、evalじゃなくて、innerHTMLじゃないか。
通信も同期を指定すれば、いいかなと。
むりやりevalしたきゃ、JSでの処理もそのCSSのなかに書いとく。
282:Name_Not_Found
08/05/01 09:14:46
>>281
だからeval()でもinnerHTMLでもいいんだけど、サンプルキボン。
JavaScriptコードを評価するのにeval()、HTMLを突っ込むのに
innerHTMLというのは当り前だから分かるんだけど、CSSを
1発で適用する方法というのは知らないので知りたい。
283:Name_Not_Found
08/05/01 11:38:59 GpZvn/5z
>>281-282
わざと知らんぷりしてるのかも知れないけど,
eval() も innerHTML も使う必要はないんだよねぇ.
document.body.cssText='~';
もしくは element : elm だとして
elm.cssText='~';
そもそも .css は ただの text-file なんだし...
284:Name_Not_Found
08/05/01 11:41:51
>>283
それはそのエレメントに特定じゃん。そうじゃなくてさまざまな
要素(セレクタ)の指定がまざったCSS全体を一括して突っ込みたい場合は?
だいたいHTMLだって.jsだって「ただのテキスト」ですぜ。
つ text/javascript、 text/html。
285:Name_Not_Found
08/05/01 11:52:58 GpZvn/5z
またまた 恥ずかしい失敗を...
document.body.style.cssText='~';
elm.style.cssText='~';
>>284
しっつ礼しやした.
まあ, そういった問題はあるけれど,
body を対象に しただけでも それなりの効果は期待できると...
286:Name_Not_Found
08/05/01 12:09:12
>>285
そのレスすら話題からどんどん離れてる件
バカは黙ってればいいよ
287:Name_Not_Found
08/05/01 13:15:28 ql0nI7Yy
function a(arg){hoghoge};
a = function(arg){hogehoge};
のように、
関数、無名関数の最後には ; が必要なのでしょうか?
288:Name_Not_Found
08/05/01 13:18:51
>>287
ちゃんと自分で文法を読めるようになれ。
1行目は無名関数なのか?もしそうなら、それを何に使うつもりなのか?
2行目の最後の「;」は代入式文の最後の「;」であって無名関数とは無関係。
a = 0; の最後の「;」と同じ。
289:Name_Not_Found
08/05/01 14:02:23
>>288
>関数、無名関数の
って書いてあるんだから1行目は無名関数として書いてないだろw
それぐらい読み取れよ・・・低レベルだな
290:Name_Not_Found
08/05/01 14:08:17 ql0nI7Yy
>1行目は無名関数なのか?
誰もそんな事言ってないと思いますが…
>何に使うつもりなのか?
知りません。例文にあったので、必要なのか質問しただけです。
何故そんな事を聞かれるのか解りません。
>無名関数とは無関係
しかし、次の行に他の分があっても、この場合の ; は外しても動くようです。
必ず付けないといけない物なのでしょうか?
291:Name_Not_Found
08/05/01 14:13:23
>>290
>>287 の 1 行目は「関数宣言」といって、行末のセミコロンは不要
2 行目は「関数式」といって、式なので行末に改行かセミコロンが必要
292:Name_Not_Found
08/05/01 14:26:14
ありがとうございます。
今後 ; を付ける事にします。
293:Name_Not_Found
08/05/01 15:20:53
>>290
JavaScriptでは行末のすべての「;」は省略可能だ。だから
外しても動くのは当り前。
そもそも「自分のブラウザで試してみて文法の適否を調べる」
なんて無意味。その処理系にバグがあったら勘違い野郎に成り下がる
だけだろ。地道に文法を勉強しろ。
294:Name_Not_Found
08/05/01 16:24:25
俺「行末に改行」ってアホなこと言ったなorz
295:Name_Not_Found
08/05/01 18:18:37 s+mmErJG
質問させていただきます。
ホームページで、メニューのところを、CSSで、フレーム風にし、スクロールできるようにします。
通常のフレームでは、スクロールして、ある項目をクリックした場合
スクロールした状態が保たれますが、CSSのフレーム風では
スクロールした状態が保たれません。
これをJavaScriptでスクロールした状態を保つことはできますでしょうか?
もしできるのならば、やり方、もしくは、参考サイトを教えていただけないでしょうか。
どのようなキーワードで検索すればいいのかも分かりません。
どうぞよろしくお願いいたします。
296:Name_Not_Found
08/05/01 18:30:51
>>295
何かを次のページに引き継ぐには Cookie か location.search と相場が決まってる
最終的にブロック要素をスクロールさせるには element.scrollTop = x;
297:Name_Not_Found
08/05/01 18:40:34 PlHgci7T
意外に親切な回答が... (がっかり)
298:295
08/05/01 19:27:59 s+mmErJG
>>296
どうもありがとうございます。
element.scrollTop = x; で検索してみましたが、よく分からないです・・
299:Name_Not_Found
08/05/01 20:22:03
<div id="HOGE" style="height:100px;overflow:scroll;">
<p>1 行目</p>
<p>2 行目</p>
<p>3 行目</p>
<p>4 行目</p>
<p>5 行目</p>
<p>6 行目</p>
<p>7 行目</p>
<p>8 行目</p>
</div>
<p><button onclick="document.getElementById('HOGE').scrollTop+=10">scroll</button></p>
300:295
08/05/01 20:36:16 s+mmErJG
>>299
ありがとうございます。
<p>8 行目</p> を<p><a href="./index.html">8 行目</a></p>で試してみましたがスクロールが戻ってしまいます・・
301:295
08/05/01 20:41:19 s+mmErJG
<a href="./index.html" onclick="document.getElementById('HOGE').scrollTop+=10">テスト</a>
こういうふにもしてみましたがダメですね・・
302:Name_Not_Found
08/05/01 20:52:17
Cookieなどを使えというレスがあるようだが読んで試してないのか。
303:Name_Not_Found
08/05/01 20:56:05
>>300
ふざけてんの?
scrollTop の使い方が分からないというからその部分のサンプルを貼ったんだ
>>296を100回音読しても意味が分からなければあきらめろ
304:295
08/05/01 21:07:45 s+mmErJG
すみませんでした!
Cookieですね。
Cookieの意味は分かるのですが、Cookieとメニューのonclick="document.getElementById('HOGE').scrollTop+=10"を
どのようにして結びつけるのか謎ですね・・。
何というキーワードで検索すればよろしいでしょうか?
305:Name_Not_Found
08/05/01 21:09:17
次の方、質問どうぞ~♪
306:Name_Not_Found
08/05/01 21:40:29
>>280
それはさすがに難しいね。
本来非同期じゃなければならない処理を、
なんとか同期で処理したいという話題なので、タイマーは避けたい所です。
>>282
element.innerHTML = "<style>" + str + "</style>";
で、strが通信でもらってきたCSSが書かれた文字列。
>>285
cssTextは要素を特定しないといけないから、個人的につらい。
addRule/insertRuleなら文字列指定でセレクタとその値を突っ込める。
307:Name_Not_Found
08/05/01 21:50:51
>>293
ECMAではでは「;」は必須みたい。
ただ、JavaScriptの実装のほとんどは改行でよいけどね。
ECMAの仕様だけみて、改行を全部削ってみたら動かなくなったw
308:Name_Not_Found
08/05/01 22:08:53
エー、7.9.1 自動セミコロン挿入規則ってあるやん
309:Name_Not_Found
08/05/01 22:27:34
へぇ~、なんと。
A 文法要約 (Grammar Summary) を元に作成した構文解析を作ったんだけど、
そこで通らなかったからてっきり。
事前に「;」を入れる処理が別途必要なのね。
310:Name_Not_Found
08/05/01 22:34:17
>>306
Mozでやってみたけど動作しませんでした。どんな要素に
対してやればいいのですか?<style>要素って<head>の中に
入れますよね、ふつう。
311:Name_Not_Found
08/05/01 22:36:03
>>304
このスレ的には十分な回答がなされているので、あなたがそれで
分からないなら自分で勉強するか手取り足取りスレでも逝ってください。
312:Name_Not_Found
08/05/01 22:38:35
>>310
おれは逆にFireFoxでしか動かなかったぞ。
なんかIEとかSafariだと防がれてるみたいなんだが。
313:312
08/05/01 23:14:20
とりあえず、こっちのコードを投稿しとく。
IEはd.firstChildが作成されなかった。
SafariはStyleノードは作成されて、documentツリーにぶら下げることもできたけど画面に反映がされなかった。
OperaとFireFoxでは問題なく動作した。
-------------------------------------------------
<html><head>
<script>
function setCSS(str){
var d = document.createElement("div");
d.innerHTML = "<style>" + str + "</style>";
document.body.appendChild(d.firstChild);
}
function test1(){
setCSS("body { background-color: lightblue; }");
}
</script>
</head><body>
<div onclick="test1()">ここをくりっく(・∀・)</div>
</body></html>
314:Name_Not_Found
08/05/01 23:51:16
つうか、CRUDのRが含まれる処理はもう普通にページ遷移させようや。今時、「超高アクセスサイトを除いて」、大概のウェブサーバシステムは余力十分だろ。
315:Name_Not_Found
08/05/02 00:13:09
>>314
>>21 >>196
とりあえず、ここはJavaScriptを質問するスレだ。わかってやってるんだろうけど。
316:Name_Not_Found
08/05/02 00:27:23
>>314
だからページ遷移させたときにスクロール位置が先頭に戻る
のを何とか元の位置に保ちたいという質問だったんじゃねの?
317:Name_Not_Found
08/05/02 00:28:23
>>313
divの中にstyleってvalidなHTMLじゃないよね?
318:Name_Not_Found
08/05/02 01:05:06
body に含まれてはいけないようだよ
319:Name_Not_Found
08/05/02 08:51:15
setCSSを以下のように修正するとSafariでは動作するようになったよ。IEはダメだったけど。
function setCSS(str){
var d = document.createElement("div");
d.innerHTML = "<style>" + str + "</style>";
document.getElementsByTagName("head")[0].appendChild(d.firstChild);
}
あとはIEで動く方法が見つかればいいね。
validなHTMLかどうかはあまりこだわらずに、動くコードを見つけて行きたい。
320:Name_Not_Found
08/05/02 09:40:46 ZiOgF6gn
UTF-8のページでJavaScriptを書いたら他の規格で見ている人の
ブラウザではヘンなことになりますか?
だとするとプログラムの統一性ってどういうことになるんでしょうか。