+ JavaScript の質問用スレッド vol.48 +
【質問を書く上で】
1)ユーザ(閲覧者)に迷惑がかかる性悪スクリプトは回答されない。
例: 別窓開きまくり、閉じる/戻るのを妨害、全画面占有、etcは最悪。
答えさせようと「分からねえんだろ」と煽っても無駄(過去スレが証明)。
2)言葉でぐだぐだ書かずにソースを貼る、ただし要点を整理して。
そのまま貼って動かせると試してもらいやすい(ただし回答者に連結さすな!)
長い(1レスに入らない)場合はアップロードしてURIを貼る。
3)初心者という言葉は危険なので使わない方がよい。
初心者を言い訳に自力で調べない/考えない奴が最悪に嫌われる。
4)自分で調べたこと/試したこときちんと書く(調べもしない奴は最低)。
ただ「動きません」「エラーです」は何も情報がないため嫌われる。
エラーは「どの行で何のエラー」を書く(ブラウザをそのように設定すれ)。
ブラウザの設定すらできんヤシはFFxのJavaScriptコンソールを使え!!!
OS、ブラウザ、バージョン、うまく行かない条件を明記しエラー再現可能に。
5)特に古いバージョン限定の時は必ず明記! 回答もチグハグになり回答者に2度
手間を食わせる可能性大(現行Ver.:IE5.5-6、N6-7、Opera7-8)
6)どういう時にどういう動作をさせたいのかを脳内にとどめずきちんと書く。
例:「自動ポップアップしたい」←どういう場合(マウスオーバー、クリック、
ボタン押し、select選択)に何(別窓、レイヤー、その他)が出るのか書け!
7)質問はまっとうな(他人に理解できる)日本語で。
前項の例に限らず、他人に理解できない質問文は煽られるだけで時間の無駄
【FAQ】
Q1. 開いた別窓/フレームの内容にアクセスできないのですが…
A1. ページ内容が別サーバの場合セキュリティ制約により絶対無理です。
Q2. JavaScriptでローカルファイルを読み/書きたいのですが…
A2. Webではセキュリティ制約により絶対無理です。できたら恐ろしいことに…
Q3. document.write(...)でページ内容を追加したいのですが…
A3. 一度ページ表示完了後にwrite()すると内容はクリアされちゃいます。
部分的に内容変更するには(1)他フレーム/iframe/別窓への表示、
(2)textarea等への表示、(3)DOMでノード挿入、(4)innerHTMLのどれかで。
innerHTMLは非標準ですがIE、Opera、Gecko(N6/N7/Moz等)で対応済。
Q4. table/tbody/tr要素のinnerHTMLを書き換えるのがうまく行かないのですが…
A4. IEはそれらの要素のinnerHTMLは変更不能。DOMを使って書き換えるしかない。
Q5. Aタグのonclickで動作指定してるのですが時々動きません…
A5. 「onclick="...;return false"」としないとページ移動しちゃうから。
Q6. 変数w1、w2…を順にループで(番号をiに入れて)設定/参照したいのですが…
A6. グローバル変数はwindowのプロパティだからwindow['w'+i]を読み書きすれ。
Q7. フォーム部品名を変数にした「...myform.変数名.value」が動きません…
A7. 「document.forms.myform.elements[変数名].value」でどぞ。
JavaScriptでは一般に「obj.x」と「obj['x']」は同じ意味です。
例:「obj.p0=obj.p1=...=obj.p8=0;」⇔「for(i=0;i<9;i++) obj['p'+i]=0;」。
Q8. CSSで設定した背景色がe.style.backgroundColorで取得できないのですが…
A8. IEではe.currentStyle、Geckoではwindow.getComputedStyle()を使います。
Q9. 100*1.15の結果が114.999…998となってしまうのですが…
A9. コンピュータの実数計算は全て近似値だと思え。誤差が嫌なら整数で計算。
Q10. 任意のデータをサーバ(別鯖ではない)から取り寄せたいのですが…
A10. Geckoのnew XMLHttpRequest()、IEのnew ActiveXObject("Microsoft.XMLHTTP")
を使えばできる。古いブラウザだと隠しフレームに読むなどのワザが必要。
【主張の対立:他人の嗜好は尊重。損得の議論は歓迎】
・仕様を読む:回答者なら仕様の該当部分は読んでいるべき。質問者でも
仕様を読まずうだうだ書く奴は注意されて当然。読み間違いは生温く指摘。
・英文文書:翻訳の努力を惜しむべからず。 読めないなら和訳を探し、
なければあきらめよう。翻訳サイトを知っている人はうまく誘導してあげて。
・IE専用/アンチIE/クロスブラウザ:「○○は不要」「○○だけであと
は無視」は不毛。質問者が分かって選択していれば尊重する。無知か
らIE専なのは指摘してあげると親切。
・標準準拠 vs 使えればよい:標準はブラウザが変わっても維持される
可能性大。非標準機能も損得を分かった上で使うならよい。
・MS vs アンチMS:MS固有の情報はMSのサイトで見ないと分からないが、
そこだけ見ているとIE専になる。あとは上2件と同様。
・別窓、イベント抑止など:一般には迷惑スクリプトだが質問者に正当
な理由があることも。尋ねて分かってないようなら煽っても可(w
・innerHTML vs DOM:それぞれに長所/弱点があるので理解した上で選
択するべき。一概にどちらは駄目、とは言えない。
・on属性 vs addXXX():ハンドラが1つだけと分かっていればon属性
で簡単にハンドラを設定もあり。上書きが心配ならaddXXX()。
スレ立て乙
9 :
Name_Not_Found:2006/05/28(日) 19:31:50 ID:10Xq69UI
location.href='
http://www.google.co.jp/'+u.value+'/sample/index.html'.replace(/ /g, '% ');
でもだめだったので、あきらめました。
できれば、フォーム入力時にボタンを押すと、スペースを自動的に%に変えてくれるような、JAVAの機能がほしいです。
フォーム入力時にボタンで%に変換→検索→正常
2重スクリプトでやろうと思います。
>>9 アホか。「location.href = ('
http:...' + ... + ...).replace(...)」だ!
言語の勉強しないヤシはそういう目に逢う。
教えてやらなきゃいいのに
12 :
Name_Not_Found:2006/05/28(日) 20:05:47 ID:10Xq69UI
できたあ!
ゞ(。。*)ノウッ!ヾ(*'ロ')ノ
13 :
Name_Not_Found:2006/05/28(日) 20:06:35 ID:10Xq69UI
ありがとうございました。
>>10 こんな、「JAVAの機能がほしいです」なんていってるヴォケに親切がすぎるぞ。
こんなバカは一生悩んでればいいんだ。
15 :
Name_Not_Found:2006/05/28(日) 20:38:28 ID:A3VPZ9sD
バカではない。無知ゆえの愚かさなのだ。
TEXTAREAの文字で任意の行の文字を表示したいのですが
TEXTAREAの任意行の文字列を取得するにはどうすればいいですか?
17 :
Name_Not_Found:2006/05/28(日) 20:58:49 ID:JNazLMBn
>>16 textarea.value の \n の個数を数えていく。
道具はindexOfあたり。
>>17 text.value と window.open()
質問させていただきます。
画像ファイルを外部jsファイルから呼び出して、ポップアップウィンドウ
で表示させています。
直リンがひどいので
<script src=
上手く書き込めませんでしたすいません。
改めて質問させていただきます。
画像ファイルを外部jsファイルから呼び出して、ポップアップウィンドウ
で表示させています。
直リンがひどいので
<script src="〜.js" type="text/javascript">のhtml部分に
if (!document.referrer){top.location.href="〜";}を入れたところ、
ポップアップウィンドウの画像が表示されずにトップへ戻ってしまいます。
reff=document.referrer;
if(reff.indexOf('〜.html')!=-1) も試してみましたが同様です。
Macでは正常に動作するのですが…とにかくサイズ固定のウィンドウでのみ
表示させたいのですが、何かいい方法はないでしょうか。
ご教授お願い致します。
>>16 あぁ、split("\n")のが楽だった。
>>20 そりゃそうなるように書いてあるもの。
もうちょっとやりたいことをまとめてから。
>>20 洩れもあんたが「何が」やりたいのか全然分からんぞ。
>>17 入力欄にidを振ってボタンのonclickから次のを実行させれば。
var s = document.getElementById('ID名').value;
window.open('
http://aaa?id=' + s, '_blank');
window.open('
http://bbb?id=' + s, '_blank');
window.open('
http://ccc?id=' + s, '_blank');
23 :
Name_Not_Found:2006/05/28(日) 22:43:32 ID:n/NarK21
質問です。
var o = new Object();
alert(o);//[object Object]
で、結果の2つのオブジェクトはどういうことですか。
[Object]だけでいいような気がするのですが・・・
>>23 1つ目はオブジェクトだということを表す。2つ目はObject
コンストラクタで作ったようなオブジェクトだという追加情報。
25 :
23:2006/05/28(日) 23:09:01 ID:???
26 :
20:2006/05/28(日) 23:10:01 ID:???
説明不足でしたすいません。
一番必要なのは、直リン防止と、お気に入りや履歴からのアクセスを
強制的にトップに戻す(または別のエラー画面へ誘導する)事です。
ソースを覗かれたり、印刷されるのを防ぐ為に外部ファイルも暗号化
して、画像は二重にしています。
あと、「新しいウインドウで開く」としても常にサイズ固定の小窓で
表示させたいのですが、これは無理なのでしょうか。
ここは笑うトコで合ってる?
とりあえず、言いたいのは 「window.open で出した窓で doc.referrer がとれない」 ってこと?
28 :
17:2006/05/28(日) 23:36:48 ID:???
>>26 動機は分かったけど具体的な構成が分からない。あるページ
でリンクを踏むと固定サイズの画像用窓が開くということ?
で、その画像窓でJSによりdocument.referrerをチェックして
「あるページ」でなければよそへ飛ばすということ?
30 :
Name_Not_Found:2006/05/29(月) 00:21:33 ID:22QLQKb9
(/・ω・\) 練習ハズカシイヨゥ♪
31 :
26:2006/05/29(月) 00:25:19 ID:???
>27,>29
知識が乏しくて本当にすいません。
その通りです。
現在はリンクを置いているページ(menu.html)に
if (!document.referrer){top.location.href="〜";}を入れています。
menu.html(1.jsを呼び出す) → 1.js(2.jsを呼び出す) → 2.js(画像URL)
お気に入りや履歴からのアクセスを強制的にトップに戻す事は出来ています。
固定サイズの画像用小窓が開くというのも出来ています。
が、そうすると画像用小窓までもトップへ転送されてしまうのです。
やはり何かを妥協しなければならないのでしょうか。
>>31 document.referrerでぐぐってみ。いくつかあるから。
33 :
Name_Not_Found:2006/05/29(月) 03:13:24 ID:z/bFWGz9
質問です。
マウスのボタンが押されているかどうかを調べたいのですが、
onmousedownやonclickのように押された瞬間やクリックした瞬間だけではなく
ずっとマウスのボタンを押し続けている状態を知るすべはありますでしょうか?
onmousedown でフラグたてて、onmouseup でフラグ下ろせば知れるんじゃない?
それにしても昨日からOpenJaneで書き込めない・・・なにしたっけw
>>34 2chの仕様がかわった。
専ブラの対応もまちまち
>>35 そうだったのか、ありがとう!
もし書き込めてたらおかげで直った。
37 :
Name_Not_Found:2006/05/29(月) 05:53:13 ID:Wf/XBbVA
<script>内の関数名・変数名の一覧を取得することはできませんか?
>>37 できないと思うな。別ファイルだったらそのファイルを改めて
XMLHttpRequestなどで読んで自前で解析すればできるかも。
>>31 「まだ」現在の構成が分からない。menu.jsから1.js、1.jsから
2.jsを「呼び出す」というのが具体的に何をしているのかが。
洩れから見たら「呼び出す」というのはXMLHttpRequestなどで
1.jsなどの内容を読み込んでeval()するとかに思えるけどそんな
ことしてるような感じじゃないし。
>>38 なるほど。
ソースを文字列でとってきて正規表現でマッチしたやつを
カンマ区切りかなんかでリストにすればいいわけですね。
意外にすぐできそうなんでやってみます。
別ファイルじゃない場合
document.getElementsByTagName('html')[0].innerHTML;//IE:outerHTML
で自分自身の現在のソース手に入りますね。
>>40 なるほど、だったらscriptタグにID振って
document.getElementById('ID名').innerHTML
でもいいわけかな?(試していない)
>>41 そうですね。ID振れば任意箇所のソースが見れます。
関数リストは生成できましたが、変数リスト生成で苦戦しています。
var付き宣言の場合は問題ないとして、
関数内のグローバル変数はどうしたもんでしょう?
「=」の左側の「.」が含まれていない文字列?
43 :
Name_Not_Found:2006/05/29(月) 12:22:33 ID:lkhk2MPf
こんにちは
例えば、1から10までの中から5つをランダムに選ぶというとき、
前に出た数字は拾わないように(重なりなく)するにはどう書け
ばよいのでしょうか。考え方のヒントをお教えください。
45 :
43:2006/05/29(月) 13:13:51 ID:???
>>43-44 全部シャッフルしないでも最初の5個シャッフルして止めたらいいのでは。
>>43 (1) 10個から1個選ぶ、残り9個から1個選ぶ、(ry
(2) 10個の数字に0〜1の乱数を割り当ててソート、大きい方から(ry
(同じ値が出る可能性があるのはご愛嬌)
48 :
Name_Not_Found:2006/05/29(月) 14:42:17 ID:uL3kUftE
質問お願いします
ボタンを押したらポップアップメニューを表示して
(ブラウザ内の)メニュー以外の部分をクリックされたら
そのメニューを閉じるという動作を実現したいのですが
iframeのdisplayを使って
ボタンクリックでメニューを表示させるとこまではできたのですが
ブラウザクリックでメニュー消去ができません。
document.onclickで閉じるようにすると
ボタンをクリックした際にもイベントが発生して
メニューの表示ができなくなります。
なにかいい方法はないでしょうか?
>>48 ボタンクリックが外側までバブルしないようにすれば
いいんじゃないの。イベントバブルとかで検索して勉強すれ。
>>48 iframeで呼び出すメニューボタンを表示させるhtmlのbodyタグに
<body onBlur="window.close();">と書いておくとか。
52 :
48:2006/05/29(月) 15:31:35 ID:???
>>49 さっそく調べて実現できました
ありがとうございました
>>50 カーソルが乗っていないときも
表示していたかったので今回は49さんの方法で実現できました
ありがとうございました
質問れす。
配列で長いテーブルを用意してその中身のmatchをさせる場合、文字列内を
調べさせるのと、配列要素は長くなっても単純に要素に分解のとで、どちら
が速く処理させることができ(ると思い)ますか?
分かりにくくてすみません。例えば、
x=['123 Tokyo','256 Yokohama','289 Kawasaki',......,'782 Naha']
とやるのと、
x=['123','Tokyo','256','Yokohama','289','Kawasaki',......,'782','Naha']
とやるのとのちがいです。後者の場合、ループは飛び飛びにします。
そら match() や indexOf() するより、単純に == で正誤判断した方が早そうだけど。
実際処理の前と後で (new Date()).getTime() して差し引きして比べたらいいんじゃね
56 :
54:2006/05/29(月) 17:30:59 ID:???
>>55 そうですね。前後で差し引き、やってみます。ありがとうございます。
助かりました。
それ、君がウィルスに侵されてるんだよ
60 :
57:2006/05/30(火) 12:26:55 ID:???
>>59 いや。君もだ。気付いていないだけ。君のPCが00813400.gifをDLしてい
るかどうか調べてみればわかる。人を嗤う前に自分のことを心配すれ。
してないよ
専ブラ使えばええのに
全世界カウント計画
1251バイトで非常に重い画像とかぬかすかwww
重いのはファイルサイズじゃない罠
var tr = table.insertRow(table.rows.length);
tr.insertCell(0).innerHTML = "<a onclick='test()'>編集</a>";
質問です。上記でTABLEに行を追加したのですが、
その追加した中の <a onclick='test()'> が作動しません。(他のtest()は動作確認済み)
これは仕様とか、innerHTML ではダメとかありますでしょうか?
最初は下記で追加したのですが、HTML表示にならずTextだったので上記にしました。
var a = "<a onclick='test()'>編集</a>";
tr.insertCell(0).appendChild( document.createTextNode( a ) );
firefoxとOperaで、IEのclientHeight相当の物を取得する方法有りますか?
>>68 offsetHeightではなぜ駄目か説明してみそ。
>>60 重いのは、いろんな人が君のHDDを覗いてるからだよ。
きゃあ!
72 :
68:2006/05/30(火) 22:39:59 ID:???
>69
や、offsetHeightでもいいんですが、どちらにせよIEにしかないですよね?
73 :
68:2006/05/30(火) 22:46:48 ID:???
うっわ スミマセンスミマセン ぶたないで
>>68 ちゃんと試した?
OperaもFxもclientHeightとoffsetHeightに対応してるけど。
75 :
68:2006/05/30(火) 23:25:36 ID:???
はい試してませんでしたゴメンナサイ蹴らないで
それだけわかればもういいだろ さよなら
Opera8.0で相談です。
<div id="template" style="position:relative;width:100px;height:100px;background-color:black">
<div style="position:absolute;top:10px;bottom:10px;left:10px;width:80px;background-color:yellow;overflow:hidden"></div>
</div>
<input type="button" value="test" onclick="test()">
<script>
function test() { document.getElementById("template").style.height = "200px"; }
</script>
上のコードがIEで正常に表示されないのはいいのですが(topとbottomの両方の指定にバグがある)、
FirefoxとOperaでは表示は上手くいっているのに、testボタンがOperaで正常に動きません。
Firefoxではid="template"の大きさが大きくなれば、それにしたがって中のdivの大きさも変化しますが、
Operaではそれが変化しないために困っております。
中のdivのスタイルを"width:80px"から"right:10px"に変更すればOperaでも正常に動くのですが、
どうしてもここでwidthを使う必要があるので、何らかの方法で解決したいと思っています。
外のサイズ変更と一緒に中のサイズ変更も行うのは出来ればやりたくないのですが、
どなたか何かアイデアはありませんでしょうか?
よろしくお願いします。
どうみてもCSSスレの話題です。
>>78 動的にサイズを変更する以上JavaScriptかと思うのですが…
わざわざ不具合のありそうなとこをいじって
「できません」って言われてもな。
これじゃいかんの?
IE でも動くし。
<div id="template" style="width:100px;height:100px;padding:10px;background-color:black">
<div style="width:100%;height:100%;background-color:yellow;"> </div>
</div>
ちょっと疑問に思ったんだけど、ECMAScriptで無名関数にprototypeを持たせることって出来るのかな?
function Super() { this.f = function() { alert("super"); }; }
var x = new function() {}
このxのprototypeにSuperを指定してやることが出来たら、
無名関数同士で継承関係を持てたりして非常に面白そうにみえる。
軽く仕様を流した限りでは出来なさそうに見えるけど、詳しい人どうでしょう?
>>80 個人的には不具合がありそうだからこそ、正確な理解が重要だと思うけどな
82 :
Name_Not_Found:2006/05/31(水) 08:42:07 ID:FWOnDmGu
「マウスポインタの位置を取得して、レイアの表示」ということがしたいのですが、firefoxではevent.のxやらclientXやらは使えないのでしょうか?
(IEでは、
event.clientX+document.body.scrollLeft
event.clientY+document.body.scrollTop
safariでは、
event.clientX
event.clientY
でなんとかなりました。)
知識がないため、手当たり次第にevent.〜というのを試してみたのですが、
どれも反応してくれません。泣きそうです。助けてくらはい…orz
>>82 window.eventというのはIE専用だと思ってたんだが、safariでも使えるんだな。
safari以外ならこんな感じ
function onmouse???(eventData) {
if(!eventData) eventData = window.event;
return eventData.clientX + document.body.scrollLeft;
}
てすと
location.reload(true)としても、ブラウザでキャッシュを確認しないに設定されていると
サーバに読み込みに行ってくれません。ブラウザの再読込ボタンと同じような動作
をするようにするにはどうしたらよいのでしょうか?
86 :
66:2006/05/31(水) 10:28:54 ID:TGmBoXFx
>>67 FAQのどこ項目に該当しますでしょうか?
行の追加自体は動作していて、TD内に追加したイベントハンドラが動作しません。
宜しくお願いします。
>>81 できる。prototype.jsでもClass.create()で無名関数返しとるがな。
あんさんのやりたいであろうことをprototype.jsのObject.extend()を使って表現するとこんな感じか?
var x = new (Object.extend(function () {}, {prototype: new Super()}));
x.f();
89 :
66:2006/05/31(水) 10:46:00 ID:???
自己解決しました。
イベントハンドラが動かなかった原因は、TRの追加をした時に
IDがユニークでなくなるため test() が動作しなくなっていたみたいです。
alert() を色んな箇所で使いまくって、無反応のあたりを調べました・・・
エラーの行(箇所)が分かるデバッガーとかありますでしょうか?
>>82 documentかbodyのonmousemove(e)にでも仕込む。
>>85 一般的なHTML的キャッシュ無効指定技が効かない状態なら無理。
>>89 IEならOffice2002以降のOfficeToolについてるスクリプトデバッガ。
FireFoxならFireBug。
自前でデバグ表示領域を確保して、try{}catch(){}であらゆる捕まえて
Errorをそこに表示するという方法もある。
>>87 …
それ、extendの関数の内容わかって言ってます?
只今
event.keyCodeについて調べているのですが
event.keyCode == 番号
についてどこか一覧のようなページはないでしょうか?
>>92 あると思うよ
ブラウザによってkeyCodeが変わるから注意
/*〜〜〜*/
〜〜の部分はコメントで囲まれているのとおなじ事なんでしょうか?
手元のjavascriptの辞典にも載っておらず、検索でもかからないんですが
すいません
辞書が糞でした。ゴミに出します(´・ω・)
97 :
Name_Not_Found:2006/05/31(水) 15:08:31 ID:3vod2EpU
質問です。
IE専ですが、
function(){x=document.getElementsByTagName('td');
for(i=0;i<x.length;i++){x[i].contenteditable=true;}}
のようにしてcontenteditableをonにしようとしましたが、できません。
この属性は動的には使えないのでしょうか?
初歩的な事だと思うのですが教えていただけるとありがたいです
以下のソースが有ったのですが、自分なりに調べて←で処理内容を書いて勉強しているのですが
少し分からない所があります
var agt = navigator.userAgent.toLowerCase(); ←「agt」は所得したuserAgentを小文字にした物
var is_gecko = (agt.indexOf('gecko') != -1); ←「is_gecko」はagtにgeckoが有った場合、見つからない場合は無し
// GECKO REVISION ←コメント
var is_rev = 0 ←is_revは0(ゼロ)
if (is_gecko) { ←is_geckoの値が有る場合
temp = agt.split("rv:") ←「temp」は is_geckoのagtをrv:の所で分割した複数文字列
is_rev = parseFloat(temp[1]) ←「is_rev」は分割した2番目の部分の小数点以下そのまま(つまりgeckoのバージョンの数値のみ)
}
なんですが、前もってvar is_rev = 0 としてある理由が分かりません
これは無くても良いような気がするのですが・・・
どなたかご教授いただけないでしょうか?
>>99 その部分だけで見ると var is_rev = 0 は必要ないかもしれんが、
その後の処理で is_rev を使用するなら、初期化してないと処理できない。
例: if (is_gecko) が偽のときに is_rev が宣言すらしてない状態になる
PerlやPHPだと変数宣言や初期化せずにいきなり比較とかもできるけど、やっぱ基本だね
>>100 なるほど
分かりました。ありがとうございました
あまりJavaScriptをわかっていないのですが、
過去レスを読んでいて気になったことがあるので質問させてください。
ハンドラでthisの値が変わるのを防ぐために、このスレではよく
function SomeClass() {
handlerFunction = function(_this) {
return function(e) { /* handlerの中身 using "_this" */ };
}(this);
}
var someClass = new SomeClass();
window.onload = someClass.handlerFunction;
という記法が勧められていますが、この場合SomeClassを
function SomeClass() {
var _this = this;
handlerFunction = function(e) { /* handlerの中身 using "_this" */ };
}
と書いても同じことですよね?(その後も_thisのスコープが残るという差はありますが)
クロージャの学習の点では上の理解が良い気がしますが、実用的には下でもいいのかなと思って質問させてもらいました。
104 :
103:2006/05/31(水) 16:29:32 ID:???
あ、文法ミスが…
handlerFunction ではなく、this.handlerFunction でしたね。失礼しました。
>>103 あなたの例のような場合は同じですね。しかし次のような場合に
ハマるもので(iは全部共有されるので結局関数内のiは全部10)。
for(var i = 0; i < 10; ++i) a[i] = function() { ... i ...};
それで
for(var i = 0; i < 10; ++i)
a[i] = function(_i){return function() { ... _i ...};}(i);
が編み出されたわけで、一度馴れると全部同じにしたくなるのね。
106 :
103:2006/05/31(水) 17:32:13 ID:???
>>105 なるほど、それは一見見過ごしてしまいそうになる怖いバグですね。
了解しました。両方の書き方に慣れ親しむようにします。
ありがとうございました。
107 :
87:2006/05/31(水) 17:59:51 ID:???
>>91 一応extendの関数の内容はわかっているつもりだが
>>81のやりたいことがつかめずに頓珍漢なこと言ったかも。
で、91は87のどこがダメだと思うんだ?
低脳をバグのせいにされても
>>107 91ではないけど、
87だと x.prototype.f(); もしくは x["prototype"].f(); と呼ばないと動かないんじゃない?
x.f(); では呼び出せないと思う。
87のコードだと単純に x["prototype"] = new Super(); という結果にしかならないかと。
81のやりたいことは、俺もよくわからん。全ての無名関数に共通するprototypeを作りたいのかな。
110 :
Name_Not_Found:2006/05/31(水) 19:01:57 ID:s749yNI6
連想配列を使いたいんだが、
hash = new Object(); // 連想配列のつもり
key = get_a_key();
val = get_a_val();
hash[key] = val;
みたいな事をしたとき、たまたまkeyが"constructor"とかだったら
おかしな事になったりしない?
しますよ(^v^)
しなくね?
114 :
Name_Not_Found:2006/05/31(水) 19:48:50 ID:s749yNI6
>>111-112 どっちだよw
>>113 obj = new Object();
obj['constructor'] = 'foo';
try{
obj.constructor();
}catch(err){
alert(err);
}
で、
TypeError: obj.constructor is not a function
だそうだ。そりゃそうか。
やっぱJavaScriptの連想配列は使いにくいな。
a = new Object();
b = new Object();
obj[a] = 'a';
obj[b] = 'b';
これもまともに動かないし。
独立してHashあったほうがよくね?
>>114 の後半は何がしたいんだ?
ってか、javasc は連想配列というより、配列も文字列も全てがオブジェクトなだけ。
そこさえ理解してれば迷うことはない。
obj.a == obj['a'] != obj[a]
<html><head><title>test</title><script>
function test() {
var element = document.getElementById("test");
if(element.offsetHeight > 0) {
var height = element.offsetHeight - 1;
if(height < 0) { height = 0; }
element.style.height = height + "px";
if(height > 0) { setTimeout(test,12); }
}
}
</script></head><body>
<input type="button" value="test" onclick="test()">
<div id="test" style="position:relative;width:100px;height:100px;background-color:red;overflow:hidden"></div>
</body></html>
上のHTML、height == 0 の瞬間にIE6で実に奇妙な挙動をしてくれる。
なんでだ?
117 :
Name_Not_Found:2006/05/31(水) 20:12:03 ID:s749yNI6
>>115 obj[a] == 'a'、obj[b] == 'b'を期待していた。
しかし obj[a] == obj[b] == 'b' ( == obj[a.toString()] ) となる。
Objectを連想配列として使おうとすると、キーに文字列しかとれない。
>>117 気持ちはわからなくはないが、
obj["a"] == obj.a という等式を成り立たせることを考えると、
その処置は素直に受け取れるけどね。
それよりも、クロージャ等を利用すれば連想配列が必要にならないと思う。
>>117 ああ、要するに aオブジェクトの参照を取りたかったのか。
まあ obj[ a.hogehoge ] とでもやればできるし、あんま気にしたことはないな。
ってか、javascに限らず、perlとかだって連想配列のキーは文字列だけだぞ。
a.toString が一意の文字列を返す、って感じなだけ。
質問。JavaScriptDebuggerで見ている限りだと、offset〜の値が
入っているんだが、なぜか取得できないorz
121 :
120:2006/05/31(水) 20:58:06 ID:???
原因判明。
FrontPageのJavaScriptエディッタの
Watchウインドウだと、styleのメンバでないものも、
styleのメンバとして表示される模様・・・。
ひっしに、
hoge.style.offset〜って、打ってたorz
実際は、
hoge.offset〜
>>103-106 とりあえずお前らはクロージャを一切使わないようにしろ。
メモリーリーク起こしてはその修正の繰り返しになる――というかお前らにはリークに気付く能力がない。
IE4が普及した頃から始まったクロージャ熱だが、去年一気に冷めただろ。
情報学研究科辺りでLISPとか習うものだからついついその知識に頼ってしまうわけだが、
そういうのは勘違いだから注意しとけ。JSは関数型としては使えない。
ハンドラに入れなきゃいいんでしょ。
>>122 具体的にどこでメモリリークが起こるの?
125 :
Name_Not_Found:2006/05/31(水) 21:17:10 ID:s749yNI6
>>118 obj["a"] == obj.a だから別の連想配列が欲しくなる。
>クロージャ等を利用すれば
どうやって利用したらいいの?よくわからん
>>119 RubyのHashみたいなのがあればなーって
メモリリークって、ブラウザにバグがあるってことですか?
ちょっとうまくいかないことあるとなんでもかんでもバグとか言って人のせいにするのはいかがなものか。
そういえば、大学で言語の勉強したてのころ、先生これおかしいです
って言い張ってたのがいたな
ググっても見つからなかったので、質問します。
ラジオボタンをクリックすると、Formのaction先を変更したいのですが、
そのような事は可能でしょうか?
画像ならわかるのですが、actionは無理なんじゃないかと思ってます。。
>>129 ↓の環境では、document.formname.action="別のURL"で変更できたよ
OS : Windows XP (5.1.2600) Service Pack 2
IE : 6.0.2900.2180;SP2;
>>129 聞くより試せば早いと思われ。
答え的にはやってみたらできますた。これはひどい。
今度は逆に
<form ...>
<input ... name="action" value="aa">
</form>
のinputのvalueを書き換える方法についてとか
133 :
Name_Not_Found:2006/06/01(木) 06:50:09 ID:V4P7a894
検索サイトを作りたいのですけど、
直前に検索した単語を5回分くらい記憶したり、直前に検索した
URLを記憶したり、
あと、ボタンを押すと、自動的にそのボタンの単語が検索スペースに入力される、なんてこと、JAVAスクリプトでできますか?
ソースサイトを探してるんですけど、なかなか見つかりません。
>>133 ページ遷移するとそれまでの情報は消えるからクッキーで保持
するとかページ遷移せずに検索をXMLHttpRequestで呼ぶとかかな。
それ以外はどうにでもできる要望ばかりじゃね?でもそのまんま
あるとも思えないから自力で勉強して作るしかないでしょ。
ここは丸投げスレじゃないから全部作れとか言わないようにね。
135 :
Name_Not_Found:2006/06/01(木) 11:38:29 ID:74BaylSN
質問があります。
現在の時間を計算するとき、昔の起点になる時間からの秒数で計っている
と言うのですが、どうして今が分かるんですか?ねむっている間もコンピュ
ーターが計算した秒を足してるんですか?仕組みがよく分からないので教え
て下さい。
時計は電源を抜いても動いています
IE6で
<a href="javascript:alert(1);">alert1</a>
こういうのをクリックするとすべてのGIFアニメーションが停止するんですが
回避策はありますか?
Firefox Opera Netscape Mozillaの各最新バージョンでも
試しましたが止まるのはIEだけです。
139 :
137:2006/06/01(木) 12:34:05 ID:???
>>138 それがブックマークレットの使い方についての説明なので
クリックで動作確認→ブックマークに登録→ブックマークから実行→同じ結果
という流れで説明したいんです。
それにクリックするなと書いていてもクリックする人が後を絶ちません。
同じページにGIFアニメでの説明もあるので共存させる方法を探しています。
141 :
Name_Not_Found:2006/06/01(木) 14:47:42 ID:V4P7a894
検索サイトを作りたいのですけど、
直前に検索した単語を5回分くらい記憶したり、直前に検索した
URLを記憶したりするのはクッキーで記憶しても、すぐ消えちゃうから無意味だとして、
ボタンを押すと、自動的にそのボタンの単語が検索スペースに入力される、なんてJAVAスクリプトありますか?
ソースサイトを探してるんですけど、なかなか見つかりません。
ソースサイトを教えてください。
困ってます。
142 :
Name_Not_Found:2006/06/01(木) 14:51:11 ID:V4P7a894
143 :
Name_Not_Found:2006/06/01(木) 14:52:38 ID:V4P7a894
たった3件ですか・・。
やっぱCGIと組合さないと無理っすかね?
一つも見つからないっすよ。
どんな自演だよ
焼きそばワロタw
148 :
Name_Not_Found:2006/06/01(木) 16:12:08 ID:V4P7a894
焼きソバは食った。
149 :
Name_Not_Found:2006/06/01(木) 16:47:50 ID:V4P7a894
入力チェックで、機種依存文字と最後のスペースのみをはじくスクリプトってありますか?
見つかりそうで、全然見つかりません。
一箇所だけ見つけたのですが、メールアドレスチェックでした。
var emailfilter=/^\w+[\+\.\w-]*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,3}|\d+)$/i
説明付きの関連ページ探しましたが、全く見つからないため、どの文字がどれをはじいてるのかわかりませんでした。
一つのリンクで3Window開きたいのですが、どのような方法がありますか?
一つのリンクで2Windowは出来ましたが(self.name="sub";)、複数のWindowを開く方法を教えて下さい。
>>150 <a href="javascript:window.open(URI,'_blank);window.open(URI2,'_blank');...">
いくつでも好きなだけどぞ。
>>149 別に形式チェックする必要はないんでしょ。すべての機種依存文字のリストがあれば
それを文字集合にして
if(str.match(/[...すべての機種依存文字...]/)) ...
でいいんでは。
152 :
Name_Not_Found:2006/06/01(木) 17:37:44 ID:V4P7a894
なるほど。
もう一つ。ボタンを押すと、その文字が自動的にフォームに入力されるスクリプトってありますか?
ありそうで、いくら探しても一つも見つからないんで。
ありますよ。もっと探してください。それか少しは勉強してください。
>>152 うるせーんだよ、ヴォケ。帰れ!もう来るな。
155 :
Name_Not_Found:2006/06/01(木) 18:00:08 ID:V4P7a894
156 :
Name_Not_Found:2006/06/01(木) 18:04:16 ID:V4P7a894
ま、あんたの頭じゃムリだ罠。もっと苦しめ、カス。
自力で調べて考えたことをちゃんと筋道立てて書け。それなら
アドバイスが貰えるだろう。そうする気がないなら(テキトー
なURIを書き散らすだけなら)もう書き込まないでくれ。
スレの浪費、いくない。皆も放置よろ。(煽るのは可か :-)
159 :
Name_Not_Found:2006/06/01(木) 19:02:08 ID:V4P7a894
検索「文字が自動的にフォームに入力されるスクリプト」で
検索したんですけど、上のサイトしか出てきませんでした。
まったくもって、一つも見つかりません。
160 :
Name_Not_Found:2006/06/01(木) 19:33:18 ID:IE3WJ478
JavaScriptに関するページなのにディレクトリ名がjava/のサイトって何なの
うちもそう思ったw
まあイヌだしね。
初心者スレに検索のしかたでも習いに行けば。
そこまでダメダメなら本でも買って勉強するのがよいかと。
>>159 ちょっと勉強すれば10秒で書ける超基本だから。
165 :
159:2006/06/02(金) 02:00:49 ID:7pz9REoD
>>164 勉強できる
>>159 が作れるサイト教えてください。
勉強しようと思って検索してるんですけど、ソースすら出てきません。
166 :
159:2006/06/02(金) 02:49:51 ID:7pz9REoD
必死にさがしまくったら、できました。
>>164 全然関係ないんだけど。
テキストエリアで最初のキー押し下げで時計をスタートさせ、
入力された内容が目的の文字列にマッチしたら時計を止めて、
かかった時間を表示、
というスクリプト書いて、10秒で書けるかどうか、なんどもトライしていたら
こんな時間になってしまった。
11秒は切れるようになった。
168 :
159:2006/06/02(金) 03:30:55 ID:7pz9REoD
いやあ、実はわたしも10秒で書けるか挑戦してたんですよ。皆、考えることは一緒なんですね。「無理」でした。
10秒でどんなソース書いたんかな。
普段使うタグとか書式とか辞書登録してれば早そうなだ。
まあブラインドタッチできない自分には無理ス
170 :
Name_Not_Found:2006/06/02(金) 14:19:13 ID:7pz9REoD
わたしのきたないソースは見せれませんよ。
5つくらいサイトまわって、3つのソースを足して2で割ったようなソースですから。
たぶん、いらないものが半分くらい入ってると思います。
171 :
Name_Not_Found:2006/06/02(金) 16:58:23 ID:L/0j7Sei
質問です。
alert(2?'true':'false')
はなぜ「true」になるのでしょうか。「0」::false、[1]::trueなので、
「2」は少なくともtrueではないと思うのですが。
煽りではなく、なぜ2がtrueでないと思うのか純粋に知りたい
プログラミングやっていると、瞬間的に2は真だと思ってしまうから、
あまり慣れ親しんでいない人の感覚はとても興味がある
>>171 JavaScriptではtrueとfalseはそもそも論理値型であり、
数じゃないぞ。C言語などと一緒くたにするな。
ちなみにJavaでもそうだな。2?○:○ はコンパイルエラー。
すまん。ちょっとOPね。いやあまったく、2ちゃんは、いいね。
余技で他のJavaScript掲示板に答えてたんだが、きょう
× JavaScript
○ Java
って書いたというので削除するというメールが来た。見てみると
実際削除されてたw その理由がふるってるので思わず引用。
----------------------------------------------------------------
>回答内容を確認したところ、質問についての回答という形とい
>うよりも指摘が主でしたので回答を削除いたしました。
----------------------------------------------------------------
だと。うっかりJavaとJavaScriptはちがうよともいえないらしい。
もちろん、具体的な削除の根拠を求めたよ。返事はまだない。
洩れもいい加減バカらしいので余技はやめようと思いはじめた。
>>175 直接さらすと、管理人がググって見つける可能性があるから
escape()して貼って。
178 :
Name_Not_Found:2006/06/02(金) 21:12:23 ID:7pz9REoD
location.href=('
ttp://www.google.co.jp/'unko'/sample/index.html' 'target=_blank').replace(/ /g, '% ');
で検索エンジンを組んだのですけど、上の方法で開きません。エラーになります。
検索結果を別窓で開く方法ありますか?
>>178 どういうエラーが出てるか書かない奴は帰れ。しかもそのデタラメで
想像だけででっちあげた構文と機能は何だ。JavaScriptの構文くらい
本なりで学習しろ。構文エラー数箇所あり。勉強しないやつは2度と来るな。
1つだけヒント、window.openでも検索してあと構文をちゃんと勉強すれば
すぐできる。さいなら。
質問です。
変数にdocument.getElementsByTagNameを
設定したいのですが上手くいきません。
具体的には下記のソースで、
<body>内に<p>hello</p>と記入しています。
mytext=document.getElementsByName('p');
document.write(mytext);
結果は、
[object] hello
となりました。
IdやNameでも試しましたが結果は同様です。
[object] がなんなのか分からないのですが、
カッコ含みでの検索が出来なくて。
根本的に間違ってたらごめんなさい。
よろしくお願いします。
こういうのをちゃんと系統的に勉強できる書籍なりサイトなりってないんかねぇ。
182 :
Name_Not_Found:2006/06/02(金) 22:44:39 ID:7pz9REoD
location.href=('
ttp://www.google.co.jp/'unko'/sample/index.html' onClick=window.open('u()','_blank')).replace(/ /g, '% ');
までいったんですけど、問題はオンクリックの中に入れるURLです。
これは検索での結果なので、URLがはっきり決まっていません。
function u(), u(), name, id等、いろいろ入れてみましたが、反応しません。
このような場合、URLはどのように入れるのでしょうか?
>>182 どういうエラーが出るか書けるようになるまで2度と来るな。
地道に本などでJavaScriptの構文を一通り学ぶまで2度と来るな。
デタラメでプログラムいじくって動く確率など1億分の1くらいでは。
>>180 オブジェクトからメソッドだけ引きはがしても動くわけがない。
elementオブジェクトをそのまま打ち出したらオブジェクトだと
言われて当然だろ。「何がしたいのか」を日本語で説明してみれ。
理解不能理解不能理解不能
>>180 再度。アンタが取りたいものはそのpの中身なのね?
「document.write(mytext[0].innerHTML);」 では。ただしその
スクリプトがp要素が読み込まれた「後で」実行されないと駄目。
186 :
Name_Not_Found:2006/06/02(金) 23:14:05 ID:7pz9REoD
location.href=('
ttp://www.google.co.jp/'unko'/sample/index.html' onClick=window.open('u()','_blank')).replace(/ /g, '% ');
までいったんですけど、問題はオンクリックの中に入れるURLです。
これは検索での結果なので、URLがはっきり決まっていません。
function u(), u(), name, id等、いろいろ入れてみましたが、反応しません。
このような場合、URLはどのように入れるのでしょうか?
エラーは出ませんが、別窓がオンクリックの中身のu()が開いてしまいます。
function u()のスクリプト(上のスクリプト)を別窓で開きたいのですが、
別窓のアドレスはそのままu()となってしまいます。
ここのURLに入れるものはスクリプト名、IDなど入れてみましたが、いずれも、その名前そのものがアドレスになって別窓で開いてしまいます。
<input type="submit" value="検索" onclick="u()">
ボタンの方も組み込んでみましたが、ダメでした。
187 :
Name_Not_Found:2006/06/02(金) 23:32:04 ID:AVq02Eoz
188 :
Name_Not_Found:2006/06/02(金) 23:32:39 ID:AVq02Eoz
N4 = GK = IE = w = y = 0;
if (document.layers) N4 = 1;
else if (document.all) IE = 1;
else if (document.getElementById) GK = 1;
if (N4) {
w = w.layerX;
h = h.layerY;
}
else if (GK) {
w = w.pageX - parseInt(this.style.left);
h = h.pageY - parseInt(this.style.top);
}
else {
w = event.clientX + document.body.scrollLeft - this.style.posLeft;
h = event.clientY + document.body.scrollTop - this.style.posTop;
}
と記述して、wとhの値を入れてみたのですが、どのブラウザでも思った通りの結果になりません。何か、記述の仕方など間違ってるでしょうか?
GKて何の略ー?
はい。
191 :
Name_Not_Found:2006/06/03(土) 00:26:29 ID:/D2gKsxO
普通にゴールキーパーでしょ。
193 :
186:2006/06/03(土) 00:33:45 ID:/D2gKsxO
194 :
180:2006/06/03(土) 00:45:13 ID:???
>>185 ありがとうざいます。その通りです。
そっか、documentをdocumentに持ってきたってどーしろとって感じか。
勉強してきます。
wiki くらいで苦労ってどんなレベルやねんw
>>194 >>180 のこれは単なる typo ?
mytext=document.getElementsByName('p');
↓
mytext=document.getElementsByTagName('p'); ?
197 :
186:2006/06/03(土) 02:29:53 ID:/D2gKsxO
僕の方は解決しましたよ。どうも。
ぶw GK ってもしかして GecKo ってことかw なるほどww
あと、IE7がもうそろそろ?らしいですが、JS関係も充実してきて、
if (document.all) { ie = 1 }
とかやるとおそらく IE7 まで巻き添え食うんで、
これからはもっと条件つけて IE6以下 とその他、って感じでわけた方がいいんじゃないかと思った。
え、チラシの裏? そうですね、ごめんなさい。
>>188 w = 0 とかなのに、
w = w.pageX - parseInt(this.style.left);
って何やってるん? w.pageX じゃなくて e.pageX とかじゃね。 e はイベントのあれね。
200 :
Name_Not_Found:2006/06/03(土) 09:31:58 ID:1bEII5hd
質問です。
DOMでフォント属性を設定する場合、document.createElement('font')と生成
してしますけど、このやり方はW3C的に廃止対象の記述だと思うのですが、
styleの場合はどう書けばよいのでしょうか。ヒントでけっこうです。
>>200 オブジェクト.style.〜="〜";
のようにstyleを直接対象に指定する。
内包したものに反映したければ、
.クラス名>A{background:#000;color:#fff}
のようにCSSを定義しておいて、
オブジェクト.className="クラス名";
で設定。
HTMLが
<div id="box1">
<a href="
http://www.google.co.jp">google</a>
<a href="
http://www.yahoo.co.jp">yahoo</a>
</div>
でCSSが
.link_black>A{background:#fff;color:#000}
.link_black>A:hover{background:#000;color:#fff}
だとすると、divの参照を得て、
document.getElementById("box1").className="link_black";
でクラスを設定出来る。
203 :
200:2006/06/03(土) 12:37:09 ID:???
>>202 ありがとうございます。それでも行けますね。
setAttribute()を使ったときはどう書けばよいのでしょうか?
>>203 setAttributeでCSS属性の設定って保証されてたっけ?
直接なら設定できるけどsetAttributeでは設定できないという
バグ?仕様?はこのスレで過去に複数報告されていたので
setAttributeは使わないことを勧めるけど。
setAttributeで何を設定するの?述語プリーズ
>>205 setAttribute('style', 'color:red; ...') とかの話と理解した。
ちなみに
setAttribute('class', クラス名) の場合はうまく行かないという
話が前になかったっけ?
>>206 なるほど、styleのことだったのか。
> SetAttribute('style', 'color:red; ...')
これはIEでは動かないはず。
IEではSetAttribute('cssText', 'color:red; ...')だっけ?
208 :
200:2006/06/03(土) 14:16:08 ID:???
みなさんありがとうございます。そうなんですよね、IEは例によってDOMが・・・
で、ヒントを頼りに調べた結果、こんな感じらしいです。
from :
ttp://jsgt.org/mt/archives/01/000799.html // NG
element.getAttribute("class");
element.setAttribute("style", "background-color: #fff; color: #000;");
element.setAttribute("onclick", "clickHandler(event);");
// OK
element.getAttribute("className");
element.style.cssText = "background-color: #fff; color: #000;";
element.setAttribute("onclick", new Function("clickHandler(event);"));
ありがとうございました。多謝。
素直に el.className, el.style.css.backgroundColor, attachEvent 使っとけ。
>>209 おまえみたいな馬鹿、どこにでもいるよな。
211 :
209:2006/06/03(土) 18:22:14 ID:???
え?馬鹿とは失敬な!これでも会社ではリーダー格のブログラマです。
一体僕のどこが馬鹿ですか?
うちも 209 のどこがいけないのかわからんw
チョコレートを欲しがる子供におにぎりをやって、満足すると思ってるところが馬鹿なんだろ
なにかに例えないと気が済まないのはおっさんの印ダゾ☆
でもそれだと、「どこにでもいるよな」が解せぬな。
まあ何かにつけて人を馬鹿にしたい馬鹿はどこにでもいるしな。
217 :
Name_Not_Found:2006/06/03(土) 20:47:42 ID:d0ePxfst
おかあさーん。おもしろいよ。パソコンのなかでケンカやってる。
なんかね、馬鹿はどこにでもいるんだって。
>>215 自分はそうじゃない特別だって思いたい中2病とかいうやつらしいよ。
まだやってんの?
スレの浪費やめてくんないかね。次の質問どぞー。
質問です。
DOMでフォント属性を設定する場合、document.createElement('font')と生成
してしますけど、このやり方はW3C的に廃止対象の記述だと思うのですが、
styleの場合はどう書けばよいのでしょうか。ヒントでけっこうです。
もうその質問終わったんでないの。
素直に el.className, el.style.css.backgroundColor, attachEvent 使っとけ。
逆らうな。放置。ぐだぐだ書いてる本人たちも自分の愚かさ
は分かっているだろ。とにかくスレを無駄に消費したくない。
ボクチンの大事なスレを汚すな〜ってか。
馬鹿馬鹿しい。
別にどうでもいいよ。
落ちたら次ぎのを立てるし、埋まったら次ぎのを立てる。
困って質問しにくる人のレスが埋もれないようにだけ気を付けといてね。
<div id="hoge">aaa</div>
の内部を書き換えるのに
function func(text){
hoge.innerHTML = text;
}
とすればできるけど
function func(id ,text)
てな定義で
func("hoge", "bbb")
みたいにIDを引数で渡して書き換えられる方法があったら教えてください
DOM使えばできるのはわかっているのだけどIE5あたりでもできれば動かしたいので別の方法を探しています
>>227の「次」にはなぜ「ぎ」がついてるんだろ。ふと、そんなことを思った。
>>228 hoge.innerHTML = text;
こんな書き方をどこで習った?これがどこでも通用すると思うことからして
まちがい。
>>228 そもそもアンタの方法自体IE専。IE5より前にFFxとか心配しろ。
document.getElementById(id).innerHTML = text;
これが一番素直だし多くのブラウザで動く。終了。
232 :
228:2006/06/04(日) 00:06:40 ID:???
質問の答えじゃなくて悪いんだが
>>232 > かなり邪道な書き方なのは承知の上でIEでとりあえず動けばいいやでそのままになっています
じゃあなんでそれを最初に書かなかったの?
最初に書いてたらこんなに非難されずにすんだのに。
非難してるのは、若干名だろ。
粘着うぜえ
なんか荒れてるのかな?
スレ違いだったらゴメン。
prototype.jsやrico.jsを使ってみたいんだけど、
ライセンスについてがさっぱりわからないです。
これって利用するにあたって何かページに書かなくちゃいけない?
商用利用はだめなんです?
>>235 だめなんです?はなんなんです?
つか、sageないでくんない?質問なら。
くだらない煽りはやめろ
>>237 ろめやはり煽いならだく
もう寝な、坊や。
坊やはやめて。
IE独自のinnerHTMLをIE独自の書き方で使うのは当然。
それを勝手に実装しておきながら書き方にまで手を回さなかった他のベンダーが悪い。
なにをいってるんだきみわ?
243 :
Name_Not_Found:2006/06/04(日) 10:44:28 ID:odD1JBFb
質問です。
配列のシャッフルというのがありますよね。あれって、原理的に見ると
結局は、確率的に同一数字の乱数値がかぶらないというだけの話に思え
るのですが、そうですか?だとすると信頼性は100%ではないかな、と。
ちょっとわけあってJavaScriptを勉強する必要が出てきました。
CSSスレから誘導されてきました
ヤフーから読み込んだ画像をfilterで色を変更させたいと考えています。
ネガポジ反転の場合はタグに直接 style="filter:invert()"でjavascriptを設定しなくても設定が反映されますが
style="filter:light()"でonLoadを使用せずに色を指定する場合で直接タグに書き込みたい場合はどうすればよろしいでしょうか。
今の状態
<img src=〜 style="filter:light;position:relative" onLoad="this.filters.light.addAmbient(205,205,255,100)">
よろしくおねがいします。
DOM
ZAK
>>243 なんでそうなるわけかな。なんかアンタが想定しているシャッフル
のアルゴリズムがヘンなもののような気がするが。アンタの想定して
いるコード貼ってみない?
249 :
243:2006/06/04(日) 18:30:05 ID:???
>>248 一般に行なわれているシャッフルです。ランダム生成をn1,n2とすると、
temp = data[n1];
data[n1] = data[n2];
data[n2] = temp;
みたいにやりますが、これってどこで重なりのないのを照合してるので
しょうか?
>>249 なにを心配してるのかさっぱり判らん。
普通、シャッフルする前のdata[]に重ならない数列が入ってると思うのだが?
すいません、質問なんですが。
関数とコンストラクタはどうちがうんですか?区別がつきません。
ご説明お願いします。
>251
使い方が全然違う。
『JavaScript 関数 コンストラクタ』で ぐぐって勉強サイト探せ
253 :
251:2006/06/04(日) 21:13:05 ID:???
最近、nullは何処へ行きましたか?
見かけませんが。
>>249 普通のシャッフルはこうだよな。
var a = [1,2,3,4,5,6,7,8,9,10];
for(var i = 0; i < a.length-1; ++i) {
var k = Math.floor((a.length-i)*Math.random());
var x = a[k]; a[k] = a[i]; a[i] = x;
}
それで常にa[k]とa[i]が「交換」されるだけだから、もとが
1〜10という重なりのない列だったらさまざまに「交換」した
後でも重なりはないだろ。
>>255 や、それはテンの切り方が甘いと思うぞw
買ったばかりのトランプを53回テン切っても、連続した数とかよくでるし。
シャッフル関数についてはさんざん既出だとおもうけど、一応貼っておくよ。
function shuffle (a) {
var r, b = [], c = {}, l = a.length - 0;
for (var i = 0; i < l; i++) {
while (r = Math.floor( l * Math.random() ), c[r]) 1;
b[ b.length ] = a[r];
c[r] = true;
}
return b;
}
var a = [1,2,3,4,5,6,7,8,9,10];
alert( shuffle(a) );
>>256 乱数がちゃんとしてれば問題ないだろ。終った後の値をb[i]と
表記すると、b[i]にはa[k](k=0..9)が等しい確率で入る☆よ。
b[0]については、kとして0..9をランダムに選んでそれと交換するから☆は成り立つ。
b[1]については、a[k](k=1..9)それぞれに元のa[0]が入っている確率が1/10、
元のa[k]が入っている確率が9/10だから、kとして1..9をランダムに選んで
それと交換するとa[0]が入る確率が9×1/10÷9=1/10、a[1]...a[9]が入る
確率は9/10÷9=1/10だからやはり☆が成り立つ。以下同様…
>>257 そんなメチャクチャのろそうなのが既出なんて記憶がおかしいんでは。
過去スレ検索すれば「ダメダメな例」としてちょっとだけ登場するけどね。
プッ
>>258 釣り? マジでいってるとしたら、結構ヤバイぞw
論より証拠。
>>255 を20回ループさせてみた。
0:1,9,2,6,4,3,5,7,8,10
1:6,9,2,7,4,1,3,5,8,10
2:9,7,8,4,6,2,1,5,3,10
3:1,9,5,2,4,6,3,8,7,10
4:8,9,3,4,2,5,1,7,6,10
5:9,5,7,4,6,8,3,10,2,1
6:3,9,1,7,2,5,6,4,8,10
7:7,9,2,8,4,3,6,5,1,10
8:9,7,8,2,6,5,4,3,1,10
9:1,3,8,6,7,2,5,4,9,10
10:1,9,8,6,2,7,5,4,3,10
11:4,9,2,6,3,1,5,7,8,10
12:5,2,8,9,1,6,3,7,4,10
13:9,8,1,6,3,4,2,7,5,10
14:3,9,8,7,1,6,5,2,4,10
15:2,9,8,6,4,5,3,10,7,1
16:9,7,5,6,2,1,3,4,8,10
17:4,9,8,7,3,2,6,5,1,10
18:9,8,5,7,1,2,3,6,4,10
19:9,3,2,7,4,6,5,1,8,10
どうみても偏ってるのがわからないか?
まあ
>>257 が
>>255 より重いってのは認めるよ。
それぞれ 10000 回実行したら
>>255 : 590 [s]
>>257 : 1613 [s]
になったからね
ああ、一番左は 何回目か、って数字ね。
タブスペース消えて見にくくなってもうたw すまん。
ああ、単位も間違ってるw [s] → [ms]
レス消費 スマナカッタ
まあ、
>>257 もだめだと思う。
while の中が偽になる確率がどんどん減っていってそれが時間かかる要因。
なんかくだらない話題でもりあがってるな。よくわからないけど、
function shuffle(sortArray) {
var ret = new Array();
for(var i=sortArray.length - 1; i>=0; i--) {
var n = Math.floor( i * Math.random() );
ret[ret.length] = sortArray[n];
sortArray[n] = sortArray[i];
}
return ret;
}
var a = [1,2,3,4,5,6,7,8,9,10];
alert( shuffle(a) );
これで問題ある?
ありません隊長!
>>264 おれもそれでいいと思う。ただ、
for(var i=sortArray.length; i>0; i--)
でないとバグがあるよ。
Math.floorで切り捨てされるうえ、Math.randon()は1を返さないから
現状だと、先頭に10が来ることがなくなってしまう。気付きにくいバグだね。
設計には何ら問題がありません、というか普通こう書くよね…。
>>266 うわ、それ結構厄介だね。その変更だと
sortArray[n] = sortArray[i+1];
の所で新しいバグを生んでしまうから、
var n = Math.floor( (i + 1) * Math.random() );
ret[ret.length] = sortArray[n];
sortArray[n] = sortArray[i];
が正しい変更だね。指摘サンクス。
それにしても気付くの早いな…
面白いね。
ランダムに並べ替える、という問題を聞いたときに、
まず最初に配列を思い浮かべる人間が書くプログラムと、
最初にイメージを思い浮かべる人間が書くプログラムで
これだけ変わってくるんだな。
>>260 そもそも
>>255 のバグはkにiを足してないとこでしょ。洩れもチェックしてみた。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
</head><body>
<pre><script type="text/javascript">
function shuffle(a) {
for(var i = 0; i < a.length-1; ++i) {
var k = i + Math.floor((a.length-i)*Math.random());
var x = a[k]; a[k] = a[i]; a[i] = x;
}
}
var a = [1,2,3,4,5,6,7,8,9,10];
for(var i = 0; i < 9; ++i) { shuffle(a); document.writeln(a); }
</script></pre></body></html>
結果は次のようになった。大丈夫なんじゃないの。
10,5,8,4,2,1,9,7,3,6
2,7,5,6,9,1,8,3,10,4
5,8,10,6,1,7,4,9,2,3
3,8,2,1,6,9,5,4,7,10
4,7,9,8,10,5,1,6,3,2
3,5,1,6,9,2,10,4,7,8
1,6,9,10,3,5,2,8,4,7
10,4,5,3,2,1,7,9,6,8
10,5,1,8,6,4,3,9,2,7
シャッフルといった場合「元の配列を」シャッフルするのでは?
シャッフルした新しい配列を作るというのは…場合によっては
無駄なんではないの?
一応ベンチとってみた。
>>257 無理
>>269 751 ms
>>264 771 ms
>>270 651 ms
>>270 function shuffle4 (array) {
for(var i = array.length; --i;) {
var n = Math.floor( (i + 1) * Math.random() );
var x = array[i];
array[i] = array[n];
array[n] = x;
}
}
ちょっとアンカーミスw
>>271 のソースは普通にFAQに載ってた。
質問です。
DOMでテキストノードってどうやって取得するのでしょうか。
やりたいのは、<a id="anchor" href="abc.html">text node</a> とあった場合に、
var anchor = document.getElementById("anchor");
vat text = anchor.innerHTML;
というような形で"text node"の部分を取得したいのですが、現状だと
<a id="anchor" href="abc.html"><b>text</b> node</a>とある時などに、
テキストノードのみの取得ができません。
どのように取得すればよいか教えてください。よろしくお願いします。
>>273 正規表現でタグを消す
innerHTML.replace(/<[^>]*>/g, "")
>>274 なるほど、その発想は無かったです。ありがとう。
<a><script>document.write("abc")</script></a>とか、まず無いですしね
IE専用でならinnerTextでもよかった
277 :
Name_Not_Found:2006/06/05(月) 16:17:57 ID:SZ2poXN6
こんにちは。
すいません。JavaScriptのコードと直接の関係はないのですが、最近よく
次のように括弧をくくる書き方を見ます。
function XX()
{
document.write('Hello World');
}
どう思いますか?趣味の問題レベルとは思うのですが、なんか関数名が
浮いていて、キモイ感じしませんか?ちなみに私は、
function XX(){
document.write('Hello World');
}
のように書きます。
>>277 前者:K&R
後者:Java Coding Standard
宗教の問題だから気にするな。どちらも違和感無く読めればそれでよし
質問させてください。
今、DOMのインラインエレメントの表示位置に被せるような形で
ブロックエレメントを表示するスクリプトを書いているのですが、
ブラウザの再レンダリングによってインラインエレメントの位置が変わったとき
(たとえばブラウザの大きさが変更されたとき、別のスクリプトが表示を変えたとき)
それを知る方法はないでしょうか?
今は、setTimeout によって定期的に表示位置をチェックするようにしていますが、
あまり良い方法だとは思えないので、もっとスマートな方法があれば是非教えてください。
よろしくお願いします。
280 :
277:2006/06/05(月) 17:05:26 ID:???
>>278 ググって調べてみました。なるほどこれは相当C教臭い感じですね。
勉強になりました。ありがとうございます。
>>279 再整形のタイミングを知るイベントは聞いたことないような。
そのsetTimeoutなりでチェックする方法しかないんじゃないの。
282 :
Name_Not_Found:2006/06/05(月) 18:51:28 ID:YtMdv7co
学校の課題で、HTMLにJavaScriptを組み込んで、数字だけのスロットマシーンを製作しているのですが、
どうも思うようにいきません。
ttp://n.limber.jp/n/LZGYD9AFj こちらにアップロードしたzipファイルの中に内容がすべて入っているのですが、
手順の3,4 でつまずいています。
>>282 アンタね、そんなヤバいzipファイルを誰が開くというんだね。
保険掛けたってヤだね。
このスレの過去レスを読んでみると、JavaScriptでメモリリークが起きると書いてあったので
googleで調べてみたのですが、確かにどうやらIEでのみ発生するようですね。
しかしどのページにも「こうすれば発生しない」ということが書いていなかったのですが、
どうすれば発生しないのでしょうか?
コンピュータの電源を切る
286 :
Name_Not_Found:2006/06/05(月) 19:18:46 ID:YtMdv7co
丸投げの雰囲気が駄目なんだよ。
そもそも課題であることは言う必要ないし、分からない部分だけを簡潔に聞けばいい。
全部分からないってーなら学校の先生にでも聞きましょう。
今は学校でスロット教える時代なんだな・・・
290 :
Name_Not_Found:2006/06/05(月) 19:35:31 ID:YtMdv7co
分からない部分ですが、
手順の1と2は
function RandInt(max){
return Math.floor(Math.random() * max) + 1;
}
のように書きました。
3と4も似たような感じで、
function winMessage(amount){
return ("You win $amount.00");
}
で良いのでしょうか?
やってみりゃいいじゃん
292 :
Name_Not_Found:2006/06/05(月) 19:44:54 ID:YtMdv7co
>>291 やってみてはいるのですが、手順を全部書かないとスロットとして機能しないみたいなので、
表示には何の変更もありません…
学校の課題だったら、教科書見ればわかるでしょうにw
普通に授業受けてて解けない問題だすはずない。
FireFox の JavaScript コンソールだして、エラー確認しながら書いていけば?
295 :
Name_Not_Found:2006/06/05(月) 20:02:51 ID:YtMdv7co
>>293 学校の課題は課題なのですが、オンラインのコースで
英文の教科書を読んで、課題をやれ、という風に今までやってきたのですが、
HTMLの課題から、いきなりJavaScriptに飛んで、いきなりスロットマシーンを作れ、という課題になったので、
お手上げ状態です… このチャプターの教科書の練習問題はHTML文に今日の時間と日付を挿入するような問題です。
質問用スレッド != チャット
以後放置で。
297 :
Name_Not_Found:2006/06/05(月) 21:33:30 ID:YtMdv7co
すいません。では、これだけ質問させてください。
ttp://sneg4vip.com/ameloda/1149/510473.htm ここまで自分で作りました。
しかし、どうしても細かい部分が分かりません。
1.calls to RandInt とありますが、どうすればこれを呼び出すことが出来ますか?
2.Display of the... とありますが、最初の数字しか表示されません。
どうすれば、スロットマシンのリールの部分にすべての数字を表示する事が出来ますか?
3.A nested if statement... とありますが、一度に三つのランダムな数値が表示されるのに、
どのようにすれば、数値が一致していると認識し、決められた文字を表示する事が出来るのでしょうか?
298 :
Name_Not_Found:2006/06/05(月) 21:36:32 ID:YtMdv7co
決められた文字、というのは777等が揃った時に表示される、
「You win〜」という文字です。
>>297 良いことを教えてやろう
×"You win $amount.00"
○"You win $" + amount + ".00"
300 :
Name_Not_Found:2006/06/05(月) 22:13:57 ID:YtMdv7co
>>299 ありがとうございます。
こうしないとamount部分が表示されないのですね。
質問の1ですが、//Function: RandIntの部分を、
function RandInt(max){
return Math.floor(Math.random () * max) + 1
}
にして、下のループの所で、i = RandInt(8); としてみました。
Display of the... の所ですが、どうやら一番最初の数字ではなく、
一番最後の数字が表示されてしまうようです。(数値が256なら、6が表示されてしまうみたいです。)
>>284 洩れが理解したところでは、DOMツリーとJavaScriptデータ構造の
間で相互(循環)参照があるとGCできない。ふつう、DOMツリーに貼り
つけるJavaScriptのデータ構造はイベントハンドラ関数(それ以外の
場合はそれにも注意)。(1)イベントハンドラ関数がクロージャであり、
かつ(2)何回も設定する、ような場合に古いデータ構造がリークすると
理解した。従って(a)クロージャでない(外部環境への参照を持たない)
関数、つまり普通にfunction文で定義した最外側の関数を入れるか、
または(b)イベントハンドラを1回入れて変更しない(つまりゴミに
ならずずっと使っている)、のいずれかなら問題はないと考えている。
違っていたら指摘よろ。
>>300 キミはHTML+JavaScriptの本を1冊買って読んだ方がよい。
見ただけでアドバイスの意欲がなくなるようなコードなんで。
303 :
Name_Not_Found:2006/06/05(月) 22:30:27 ID:YtMdv7co
>>302 読みにくくてごめんなさい。
この課題が終わったら本を買います。
304 :
Name_Not_Found:2006/06/05(月) 23:41:48 ID:YtMdv7co
305 :
Name_Not_Found:2006/06/05(月) 23:48:23 ID:H1MQzUWD
質問です。
ネットの先生いわく:
function Func(){ c = 5; }
document.write('c = ' + c);
は「c = 5」と表示される。なぜなら「c」はGrobalだから。
しかし、わがIE6では「宣言されてないじゃないの!」と怒髪天です。
どうなってるんでしょうか。大嘘でっか?
307 :
Name_Not_Found:2006/06/05(月) 23:59:24 ID:YtMdv7co
>>306 赤い悪魔の足下にありますね。>二つめの数字
わからなくて CTRL+A 押してしまったw
このまま提出した方が面白いんじゃない?w
309 :
Name_Not_Found:2006/06/06(火) 01:29:53 ID:1M4rT1sx
>>308 このまま提出すると、不可をもらってしまいます…orz
>>305 「Grobalだから。」
って初歩的なつづり間違って言ってる時点で疑ったほうがいい。
だいたい Func() 呼んでないしw
311 :
286:2006/06/06(火) 03:53:58 ID:???
ずっと考えていますが、限界です…。
先生からヒントのメールも貰ったのですが、どのようにコードを書けば良いのか分かりません。
貰ったヒントは、
1. classタグ、nested if ステートメントはループの外に出すこと。
2. 2つのループを作る事。ひとつは乱数を生成し、Arrayに格納するループ。
もうひとつは、そのArrayを呼び出してWeb画面に表示するループ。
なのですが、ヒント2をどのようにすれば良いのか分かりません。
やっては見たのですが、うまく行きませんでした。
ttp://sneg4vip.com/ameloda/1149/533340.htm
なんでこんなに答えてあげたくないんだろう・・・
313 :
286:2006/06/06(火) 04:49:49 ID:???
>>312 筆無精で申し訳ありません。゜゜(´□`。)°゜。
>>313 ちげーよ
お前がまったく自分で考えないから答えてやりたくないんだよ
友達に聞け
>>314 「ちげーよ」<「ちがうよ」なら、文法的にまちがい。
日本語としてこういう母音交替はあり得ない。
「au」の融音移行は音声学的に「ou/oo」だから、
「chigau-yo」 は「chigou-yo」かまたは「chigoo-yo」となる。
ひらがなで表記すると、「ちごーよ」である。つまりあんたはヴォケ。
いつまでも馬鹿の相手をするのはやめろ。スレの無用な消費だ。
>>315 お前こそ何いってんだwww 見られるを見れるとかいったらキレるタイプか?w
知らない事は考えられない。
知らなくて考えられないことで単位が取れるわけがないよな。
退学決定
320 :
Name_Not_Found:2006/06/06(火) 11:17:22 ID:E3jG4029
ちょっと質問よろしいですか?
var X='hoge';
でXが宣言されていなかったときには、という条件分岐をさせたいのですが、
if()の括弧の中はなんと書けばよいのでしょうか。お願いします。
if(X)
JavascriptのデバッグでFirefox付属のツールが便利だというのがあったので
久々に違うブラウザをインスコして使ってみた。
だめだ、俺はFirefoxで動作確認しても無意味なことに気づいた。
(showModalDialogとかIE限定の箇所が多すぎる)
まあでもこれ(Javascriptコンソール)はいいね。
CSSとか色んな部分を指摘してもらえるし、めちゃ便利だわ
IEもほしいおー。汎用のないの?
>>322 IEのJSコンソールもあったよたしか。
それと、ForeFox には拡張機能で、ボタンひとつで動作を IE にしてしまうのがあるし。
328 :
320:2006/06/06(火) 19:36:08 ID:???
>>324 ありがとうございます。できました^o^/
>>328 あ、正しくは if (typeof X != 'undefined') とかだからね?
typeof undefinedの返り値って仕様にあったかな
レベル高いなぁ、このスレ・・・・・
headとかbodyくらいしか分からんから
みんなが雲の上の住人に見える
勉強しよ
head とか body なんて言ってる様じゃ head とか body も分かってない可能盛大w
マジですか
もっともっと勉強しよ
がんがれー。
オブジェクト(指向) ってやつを勉強すればいろいろ理解できて腕も上がってくと思う。
>>333 小学生に誉められたぐらいで、何を調子にのってんだお前は
レベル低いヤシからレベル云々されるくらいばかばかしいことはないな。
評価はより高い者にしかできん。あ、ごめん、またスレ無駄にしてしもた。
分かってるなら止めようぜ。な?
<div id="A"><h2>so and so</h2>
<div id="A1"><h3>so and so</h3>
...
<div id="An"><h3>so and so</h3>
</div>
<div id="B"><h2>so and so</h2>
<div id="B1"><h3>so and so</h3>
...
<div id="Bn"><h3>so and so</h3>
</div>
---------------------------------------------
上のような構造の {A1, ... , An }, {B1, ... , Bn } を
Collection として取り出したい.
あなたな〜ら〜どうする〜 ???
,.ィ'⌒ヽ
l i:::::::/ , ‐ 、
`゙´ , /:::::::,ハ
_ ヽ./
|\ ー′ /
`ー―一<,
 ̄ ̄ ̄〔
これも 駄目
訂正:
---------------------------------------------
<div id="A"><h2>so and so</h2>
<div id="A1"><h3>so and so</h3>
so and so
</div>
...
<div id="An"><h3>so and so</h3>
so and so
</div>
</div>
<div id="B"><h2>so and so</h2>
<div id="B1"><h3>so and so</h3>
so and so
</div>
...
<div id="Bn"><h3>so and so</h3>
so and so
</div>
</div>
document.write("バックエンド: " +
{
SVGT: "SVG Tiny",
Canvas: "HTML Canvas",
CSSP: "CSS Positioning",
VML: "VML"
}[backend]));
こんな書き方できるのか!とちょっと感動してしまった。
META内で<SCRIPT LANGUAGEの時に、文字コードを指定するんじゃなくて
jsファイル内で、文字コード宣言ってできるor必要ですか?
cssファイルの@charset "UTF-8";みたいに。
>>343 できない。
HTMLなら、SCRIPT要素のCHARSET属性に書けばできる。
345 :
Name_Not_Found:2006/06/06(火) 23:11:26 ID:QvB8d0/W
質問です。
obj = null;というのは、
delete property;と同じことと考えていいですか?
つまり「消去」という意味においてなんですが。
>>345 仕様書嫁。とりあえず、どちらもGCにヒントを与える以上の働きは無い。
"実用上"、
var で宣言された変数をdelete出来ないからそれを使う事がある。
また、deleteにバグがあるオペラなどのために、deleteを避ける傾向がある。
次のようにdeleteを使うかどうかで結果が違う。
js> var o = {x:1, y:0};
js> for (var p in o) print(p);
x
y
js> o.x = null;
null
js> for (var p in o) print(p);
x
y
js> delete o.x;
true
js> for (var p in o) print(p);
y
>>344 サンクス。でも、それって不便じゃね?
あ、jsは元々2バイト文字のこと考えてないのか?
ファイル内に日本語とかそんな書かないし、書くときはJSエンコードして書けばいいんでないかと。
いやぁ。使ってるテキストエディタの設定が悪いんだと思うんだけど、
文字コードを間違って認識しちゃうと、勝手にバックスラッシュと円マークを置換しやがって、
また、文字コードを変えて保存するとコードが動かなくなったってことがよく起きたもんで。
ファイル側で決め打ちできないかなぁ、と思った訳ですよ。
それはテキストエディタが悪そーだね。
自動認識のチェックがあるなら外してみるとか、文字コード固定・・・はちと辛いか。
htmlのときは正しく認識してくれるなら、js 内に 擬似的に
// @charset "utf-8";
// <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
とか入れてみたら変わったりしないかね。うちのはこれでできてる。
あとは知らない。
// 美乳
>>352 それ懐かしいwwwww 一時期はやったなあ・・・
おいらはシカトですかい ?!
一応, 僕なりの答えは出てるんだけど 他の人ならどうするかを知りたかったんだけどなぁ.
> あなたな〜ら〜どうする〜 ???
> おいらはシカトですかい ?!
こんな寒いことをいう奴にレスしたくない
多分こいつはオジン。こんな歌カラオケでも歌わんw
>>354 1回やりなおしたくせに依然としてHTMLの開きタグと閉じタグが合わない
モンを出されても真面目に考える気にならんね。別にどうやったってできる
ようなもんだからそういう意味でも興味を引かない。さいなら。
あれ、nullいたんだ。気づかなかった
なんでわかった?
>>354 あっちのスレで丸投げして、もらったコードを検証すればいいじゃない。
361 :
Name_Not_Found:2006/06/07(水) 17:50:11 ID:OAVDGquy
こんにちは
青写真を変数化すると、どうしてそれが「実体」になるんでしょうか?
青写真のままだと思うのですが。
ハア???
>>355 "レスしたくない" というレスをくれてありがとう.
>>356 予想されたリアクション...
(誰も歌の文句と入ってないのに あんたは...
オジンしか知らない歌を思い出したっとっっ...)
>>357 毎度, 手厳しいこって...
--------------------------------------------------------
ふざけすぎると まともに取り合ってもらえなくなりそうなので,
取り合えず, 僕が作ったものをご覧いただきたい:
www17.ocn.ne.jp/~addict/dict/abbr.html
www17.ocn.ne.jp/~addict/template.html
やろうとしているのは ありふれた style.display の切り替え.
document の構造は 先に書いたミス混入の書き出しでも解ってもらえるはず.
(要するに div の中に子 div が あったりなかったりする構造)
document.getElementByTagName('hn').parentNode で
すべてのターゲットの collection を取り出すところまでは我ながら...
問題は family をどうやって区別するかということ...
e.childNodes とやったのでは うまくいかない.
僕は id に目をつけたのだけど, もしかすると
僕が見落としていた名案があるかもしれないと思った訳なの.
365 :
361:2006/06/07(水) 19:03:09 ID:???
えっ!ぼくがなぜそんなこと言われなきゃいけないんでしょうか?
真実を語ったからですか。
>>364 「俺のソースをまず見ろ」でわざわざ見に行くかよ。
まず1レスで何をどうしたいのか具体的に表現することから。
inputと期待するouputを示せ。
>>366 >>364 を読んで解ってもらえないとなると (はぁ〜困った...)
自分なりのものを作ったものの, 回りくどいことをやっている気がする.
(id を parameter として ごにょごにょやってる)
僕以外の人なら もっとスマートなやり方を思いつくかもしれないと思った訳.
1. 記事は必要に応じて分割され, div で囲われる. (そして必ず id が振られる)
2. 記事は 必要に応じてさらに分割され, div element の親子関係が発生する.
3. 子供から見ての親を特定するのはたやすい.
4. しかし, 親から見た childNodes は div element だけではない.
5. 操作の対象は div の親子だけ.
問題なのは上の (4) の部分であって
極端な話 documet.getElementsByTagName('div') の
documet を div element にすり替えることができると具合が良い.
しかし僕が試したところ, これはできない模様.
何をやりたいのかは
作ったものを見てもらうのが手っ取り早いと思ったんんだけどなぁ.
同じ動作をもっとスマートに実現できるかどうかが問題なのだ.
>>367 >documet を div element にすり替えることができると具合が良い.
できないか?自分のとこ(
http://www17.ocn.ne.jp/~addict/template.html)で
javascript:alert(document.getElementById('A').getElementsByTagName('div')[0].id) //A1
とかやってみれば
でも(あるdiv要素).getElementsByTagName('div')だと
「あるdiv要素」の子孫のdiv要素全部のNodeList返すから満足するものじゃないんじゃないの
結局getElementsByTagName()を多用してるわりにはその仕様を
知らないというオチかよ。あほらし。nullクン、例示ではなく
「日本語で」ちゃんと説明できるようになってから書き込んでね。
テンプレにもそうあるでしょ。
>>368 前言撤回.
("僕が試したところ, これはできない模様" 発言)
試した時の何らかのミスが勘違いの原因だった模様.
はずかし〜.
>あるdiv要素」の子孫のdiv要素全部のNodeList返すから
孫は存在しようがないのです. (分割レベルは親子まで)
もしも孫レベル分割が必要になったら別ページを作ります.
さらに div は container 以外の目的には使いません.
>>369 はずかし〜.
まあ, おかげさまで 新たな道がぁ〜.
お粗末ですた.
借金予定金額を計算するフォームを作ってるんだけど、ラジオボタンを混ぜた結果表示が上手く行きませぬ。
フォームの内容としては、一番上にラジオボタンで事務所の手数料として1000円、500円、100円の選択。
その次に借りる予定金額をテキストエリアで入力、次に利子をテキストエリアで入力、
その次に返済予定月数をリストメニュー(5ヶ月、10ヶ月、15ヶ月〜30ヶ月)で選択、その次に学生なら利子が1%オフになるチェックボックス、
その下に計算ボタンと、リセットボタン、その下にお金を借りた場合の全部ひっくるめた合計金額と、月々の返済金額をテキストエリアで表示。
借りる予定金額、利子、返済予定月数だけなら、きちんと合計金額と月額返済金額が表示されるけど、
これにラジオボタンが混ざると、NaN表記になってしまう。でも、Nan表記になった後にラジオボタンの選択したやつを
を変更すると、計算ボタンを押していないのに、合計金額と月額返済金額がコロコロと変更されてしまう。
どうすれば合計金額が変更しないですむようになるか、教えてエロい人。
>>371 フォームの作り方をもう一度勉強してみること
374 :
Name_Not_Found:2006/06/08(木) 00:10:30 ID:R9Zbr6l9
質問させてください。
レイヤーで絶対位置を指定したテーブルをセンタリングしてくて色々調べていたところ、
Javascriptを使ってブラウザの横幅・縦幅を取得してそれを指定するという方法を知りました。
スクリプトを試してみたところうまくいったのですが、
2個目のテーブルを追加した途端に、2個目のテーブルだけが中央揃えされて、
1個目のテーブルが中央揃えされなくなりました。
同じページに同じスクリプトを複製したのですが、
調べてみると、関数や変数が重複しているとうまく機能しないということが分かりました。
そこで、自分なりに関数や変数、idを重複しないようリネームしてみたつもりなのですが、
やはりどうもうまく機能しません。
もしよろしければ、スクリプトをご覧いただきまして、
どの部分を変更すればうまくいくかご教授いただけないでしょうか。
※スクリプトは下記URLにアップロードしました。
※「あいうえお」のテーブルと「かきくけこ」のテーブルを重ねるようにしたいということです。
http://www.uploda.org/uporg411298.txt.html よろしくお願いします。
375 :
374:2006/06/08(木) 00:15:17 ID:R9Zbr6l9
>>374-375 どうせ関数名と変数名がともに二度目の宣言時に書き換えられてるだけだろ。
ばかばっかでやんなるよ、ここ、ママー!
なあに、スネちゃま
>>374 スクリプトを壊さずに重複を無くせるようになるまで修行するだけ。
全部書いて貰おうと思っているのならここはそういうスレではない。
>>371 アンタのスクリプトとHTMLがそういう構成になってるというだけだろ。
その「症状」記述だけで「ここをこう直せ」と指摘できるような人間が
この世に存在すると本気で思っているのか?思っているのならアホだな。
「同じ症状が現れる最低限のサンプルを作ってそれを貼れ」嫌なら帰れ。
>>371(便乗)
言い方がおもしろいと思ってるのは本人だけ。まともな社会人な
ら、質問にも最低限の言い方があるね。2ちゃんにも礼儀はある。
いや、2ちゃんには礼儀がある。
いや俺は回答してる側だがここ(2ch)に礼儀なんてもんはない。必要もない
なんでnullが質問してるの?
どうなんだろうね。俺は読んでいて人間的に程度の低さがわかる発言にレスはつけないけど。
質問する以上、レスがもらえるほうがうれしいから、礼儀正しく聞くのはありかと。
385 :
382:2006/06/08(木) 10:58:04 ID:???
2ちゃん全体はともかく、スレにはテンプレがあるだろ。
>>1 : 一、礼節を重んじ常に努力精進すること
個々が判断してレスすりゃいいだけ
IE7ってどうですか?DLして吉でしょうか?どなたか。
DLとは
DLして鬱、が正解。
Demon Load
Devil Load
…Lord?
Dolphin Land
document.locationに決まってんだろ…
IE7のβ2 は、いくつかのオンラインアプリが動かなくてもいいなら入れてもいいと思うよ。
gyao とかネトゲとかできなくなったりする。
でもいずれ出るIE7対策にいま早くいろいろできるのはいいかも。
IE6とかみたくインスコしなくても単体で動かせるの誰かださないかなあ。
/ ̄ ̄ ̄`⌒\
/ ヽ
| _,___人_ .|
ヽ|´ ┏━ ━┓`i / DLといえば、DeaLingなんですよね
| 《・》 《・》 | 宮内がそれいけー、やれいけー、
(6| ,(、_,)、 |6) ニッポン放送だぁー、いうから
ヽ トェェェイ / こんなことに。悔しいッ
ヽ ヽニソ / でも、聞いちゃったものは、しょうがないし
`ー一'
398 :
Name_Not_Found:2006/06/09(金) 00:39:59 ID:tVvTFvpI
質問です。
var myarr=[];
myarr.ani1='cat';
myarr.ani2='dog';
alert(myarr.length)//0
はどうして「0」なんでしょうか。「2」を期待するのですが。
配列じゃないからだね。
for in で回して個数しらべたら
変数名を文字列として扱うにはどうすれば良いでしょうか?
例えばイメージとして
hoge="moge";
hoge=hage;
で、moge=hageになるようにしたいのです。
お願いいたします。
var hoge = 'moge';
window[hoge] = 'fuge';
alert(moge);
402 :
Name_Not_Found:2006/06/09(金) 08:08:04 ID:6Nf51F9A
野球総合sea51イチローを応援するスレの住人です・・・。
この度我らが神イチローが確変モードに入り2004年の大記録のペースを上回って
おります・・・。
しかし野球オタではできない事があります・・・。JavaScriptです・・・。
この計算をHP上で簡単に行うためにお願い致します
60試合で254打数89安打
打数予測254(打席)÷60(試合)=4.23(一試合平均打数)×162(全試合)=685.79(予想年間打席)
年間最多安打まで263本とすると
263-89=174本 一試合平均174(残安打)÷102(残試合)=1.7058本(一試合平均)
263÷685.79=0.383(記録達成時の打率)
次試合から必要打率
174(残安打)÷431.79(残予想打数)=0.4029
夢の4割到達まで
685.79(予想年間打席)÷0.4(夢打率)=274.316本(必要安打数)
274.316−89=185.316÷102=1.8168(一試合平均)
次試合からの必要打率
185.316÷431.79=0.4291
アップは責任を持ってやらさせていただきます・・・。
コレの計算式の入ったソースを誰か作っていただけませんか?
誰かイチロースレの神になってください・・・。
どこの誤爆かと思ったw
( ´ー`)。oO(イチローファンだから作ってみようかな・・・)
406 :
Name_Not_Found:2006/06/09(金) 08:27:30 ID:6Nf51F9A
いや冗談抜きで今年のイチロー、ヤバイいんです・・・w
スレも普通4日で1000なのに最近20時間もあれば終わりますしw
多少htmlは自分理解できて簡単なHPくらいできるんですけどjavascript
ほとんど組めないんですよ。。。
JavaScriptを上達させようと何か作ろうと思って、
規格を見ながら何か思いつかないかなーと思ってたら全然だった。
PHPだとボンボン浮かぶんだけどな…。
JSの魅力を最大限に生かすにはどんなのを書けばいい?
>>407 言語だけでは何もないからね。DOMとか一緒にしないと。お題出そうか。
ブラウザ画面を左から右に縦線がワイプしてワイプされた後は真っ白、
なんてどう?まあ大したことはないが。
>JavaScriptを上達させようと
その発想がまちがっている。
JavaScriptの場合、JavaScriptが上達することはない。
>>409 そんなこともないと思うけど。洩れもプロトタイプとかクロージャ
とかJSONとか色々このスレで勉強になったよ。
411 :
Name_Not_Found:2006/06/09(金) 08:56:23 ID:6Nf51F9A
>>405 ご一考お願い致します・・。
ちなみにイチロー今日も今のところ3安打打ってますw
>>411 イチローはイチロー板で。もう帰れ。
ちなみに、洩れは野球もイチローも好きじゃない。
あの気取ったイチローの喋り方を聞くと胸糞悪くなる。
>>411 これでマリナーズも勝ってくれれば一番いいのにねえw
4番〜6番がまだだめですか。
一応できたけどどうすればいい?
そっち行こうか?('A`)
414 :
Name_Not_Found:2006/06/09(金) 09:30:48 ID:6Nf51F9A
>>412 失礼致しました・・・。
これ以上のコメントは控えますのでお気を悪くされないでくださいね。
一言申しますとあなた様の好みを教えてくれとは書き込んだ覚えは
ありません。律儀に聞いてない役に立たないことを教えてくださる
気持ちだけ頂いておきますねw
早ッ!ありがとうございます。わぁ、感激です!
ここへ貼って下さい。いちお、ここがJavaScriptのスレですので。
向こうだと叱られると思います。わぁ、早く見たいですぅ!
416 :
Name_Not_Found:2006/06/09(金) 09:33:01 ID:yhYiRdDk
417 :
Name_Not_Found:2006/06/09(金) 09:33:38 ID:6Nf51F9A
>>413 あぁ扇風機ですぶっちゃけww
マジっすか!?ここに貼って頂いてもどちらでもOKっす!
>>412 わりぃ書き込んでもーたわw
>>414 お前に聞かれて答えたわけじゃねーよ、このヴォケ。
洩れの気持ちを書いただけ。わかる?
ちなみに、お前のように、気取った文章で皮肉を書く奴は洩れは好かん。
イチローと一緒だな。気取った喋り方しやがって。帰れ。
>>417 ああ、ごめん。
落としたら、63行目のとこ
window.onload = function () {
var button = document.getElementById('run_button');
button.onclick = run;
};
↓
window.onload = function () {
var button = document.getElementById('run_button');
button.onclick = run;
run();
};
に書き足しておいてくれるかな。忘れてた。
421 :
Name_Not_Found:2006/06/09(金) 09:54:21 ID:6Nf51F9A
>>419 マジありがとうございます!しかもむっちゃ早いしww
そうですねなんか帰れとか自宅みたいな事言ってますしねww
ありがとうございました♪自分も組めるように勉強しますw
書き足しておきます!!
>>421 どういたしましてー。 応援がんばってください。
・・・あれ、おかしいな?
いつもだとここら辺で
>>418 が 「このくらいのスクリプト、30分もあれば誰にでも組めるわ、このヴォケ!」 とか言ってくるのに。
423 :
Name_Not_Found:2006/06/09(金) 10:17:07 ID:6Nf51F9A
>>422 書き足したんですが変化ないんですけど書き足すところ間違ってます?
それと申し訳ありません一つ忘れてました・・・。
現時点でのペースの年間到達安打数です・・・。
まぁ蛇足くらいなので正直めんどくさかったらマジいいですww
>>423 えと、書き足し分は、ページをロードすると、自動的に計算が始まるようにするものです。
それがないと、ボタン押さないと最初は計算されてないので真っ白なはず。
年間到達安打数 は、めんどくはないんですが、これから思いつくものもあるだろうし、簡単なので少しは自分でやってみることを覚えましょう。
まず、「予想年間打席」 の上でも下でもどこでもいいので、HTMLのどっかに
<dt>年間到達安打数</dt>
<dd><input type="text" name="year_hits" value="" /></dd>
と書きます。
name="year_hits" の値がキーになります。
そして、javascriptのとこに、これもどこでもいいんだけど、output より上に、
(この場合は 今の打率 * 予想年間打席 かな? なので、)
今の打率のキー"average" と、予想年間打席のキー "year_bats" をかけて
a.year_hits = a.average * a.year_bats;
と書きます。
これであとはHTMLを更新すればできるはず。
425 :
Name_Not_Found:2006/06/09(金) 10:37:25 ID:6Nf51F9A
>>424 ありがとうございます!これだけヒント頂いたのでなんとかやってみます!
いやマジ感謝です!ホントありがとうございます!
うむ。ヒントっつか答えなんだけど、がんばー。
ってかこの辺は最初の質問以外は sage進行だから今度書き込むことあったら気つけてねw
>>426 できましたwwおかげさまで余裕でしたw
イチロースレにアドレス貼っておきます!
>>427 ( ´Д`)。oO( 今にして思えば
<button id="run_button" type="button">計算する</button>
↓
<button type="submit">計算する</button>
で
window.onload = function () {
var button = document.getElementById('run_button');
button.onclick = run;
run();
};
↓
window.onload = function () {
var form = document.forms['area51'];
form.onsubmit = run;
run();
};
・・・にした方が、エンターでも計算できて楽だったかもしれない・・・ (´・ω・`) スマナカッタ…)
しつもんです。
Javascriptでhtmlのコメントを出力(目的はページ全体の出力です)したいのですが、
document.write("<-- こめんと -->");
と書いてしまうと-->が評価されてしまって、正しく表示されません。
コメントを出力しつつこれを回避する方法はありますでしょうか。
Firefox の sidebarからメインウインドウにあるフォームの値を操作しようとしています。
parent._content.forms[0].elements[0].value = "hoge"
とすると,パーミションが許可されていないようです。
サイドバーからメインウインドウのフォームの値を操作するには,
どうすればよいでしょうか
>>430 とりあえず FAQ
>>3 のQ1/A1は読んだかね。読んでないなら罵倒したげる。
>>429 document.write("<" + "-- こめんと --" + ">"); ではどうよ。
432 :
429:2006/06/09(金) 18:38:44 ID:???
ありがとうございます。
なるほど!と思ったのですが、できませんでした・・・。
<!-- ←これが、どう分解しても悪さをしているようです・・・。
document.write("<"+"!"+"-"+"-"); ←NGでした。
正規表現で見つけて<に変換とうのは?
>>432 「<」を「<」、「>」を「>」にしたらどうなる?
そもそも「何を」したくて「どう」駄目なのか分からないんだが。
>>434 失敗した
「<」を「<」、「>」を「>」にしたらどうかと…
>>435 失敗した
「<」を「&lt;」、「>」を「&gt;」にしたらどうかと…
<
<
○ / o /\ __ /\ o\ ○
| | | | __o
| /// | | ///
\ l l / そんなことでどうする!
r‐、 ヽ '' .:/.`ー、_ ただのHTMLだろーが
l j\/ ` ‐- 、、ノ, -‐''´:::::`>‐-、
, -一`ヽ. \_ __/ ∠二 ̄\ ̄ヽ ヽ
,.ィ'´:::::::::::::::::r〉 , `ヽ、∠、、 ̄\ ヽ ヽ ',
/ 〃::::::::::::::::::/ / / \ヽヽ、 l ヽ l
/ /::::::::::::::::::::/ / / / | | | | l |
| !::::::::::::::::::/ ⌒ヽ__ノ / / / / | | !
l !::::::::::::::::└‐-、j_):::ヽ-〈__/// / l/ /
l |::::::::::::::::::::::::::::::::::::::::::::::::::::: ̄`ヽ、/ ノ /
されどHTML
440 :
429:2006/06/10(土) 00:52:14 ID:???
>>435 ありがとうございます。それで解決しました。
JacaScriptを学んでおくとJavaの学習も容易になりますか?
あまり関係ない。
逆に、人によっては、JavaScriptを知らない方が、Javaとっつき易いかもしれん。
さまざまな言語を熟知していれば別だが、まだ2、3番目の言語
という状態でJavaScriptを先に学ぶと絶対混乱すると思うな。
文法がそこそこ似ているのに言語機構は別物だから。
すべては何をやりたいか、だ。
英独仏できたらかっこいい、くらいの気持ちで英語や独語をやっても、
結局はすっかり忘れて、人生での膨大な時間のムダになるのと同じ。
生半可に理解すると、文法や単語がごっちゃになって使い物にならな
い。自分の分をわきまえて堅実に理解につとめるのが最善。
>>444 がいいこと言った。
レス番は運気悪そうなのにw
446 :
Name_Not_Found:2006/06/10(土) 14:57:09 ID:wIiFQ7vC
リンクの onclick でクッキーをセットしたいのですが、
firefox1.5.4 では上手くいって、IE6 ではうまくいかないんですけど
なにが問題なのでしょうか?コードはこんな感じです。
setClientInfo() で、クリック字にクッキーにクライアントの画面解像度が
セットされて、呼び出したCGI(hogehoge.cgi)でその値が取得できると嬉しいのですが
Firefox 以外では上手くいきません(要リロード)。
--- html ----
<head>
<script language="javascript" type="text/javascript" src="hoge.js"></script>
</head>
<a href = "hogehoge.cgi" onclick="setClientInfo();">link</a>
--- javascript (hoge.js) ---
function setCookie (name, value, expires, path, domain, secure) {
var curCookie =
name + "=" + escape(value) +
(expires ? "; expires=" + expires : "") +
(path ? "; path=" + path : "") +
(domain ? "; domain=" + domain : "") +
(secure ? "secure" : "");
document.cookie = curCookie;
}
function setClientInfo()
{
SetCookie( "screen_width" , screen.width );
}
>>446 そお? alert(document.cookie) で見たら書き込まれてるように見えるけど。
セッションクッキーは cookies フォルダには残らないよ?
っていうか、貼るときは動くやつを頼むよw
SetCookie( "screen_width" , screen.width );
↓
setCookie( "screen_width" , screen.width );
PHPとJavaScriptを組み合わせると幸せになれると聞いたのですが、
具体的にどんな感じなんですか?
444もいってるけど、ちょっと目似すぎているから危険なんだ。
ソートだとこんな感じ
void merge(int[] a1,int[] a2,int[] a){
int i=0,j=0;
while(i<a1.length || j<a2.length){
if(j>=a2.length || (i<a1.length && a1[i]<a2[j])){
a[i+j]=a1[i];
i++;
}
else{
a[i+j]=a2[j];
j++;
}
}
}
void mergeSort(int[] a){
if(a.length>1){
int m=a.length/2;
int n=a.length-m;
int[] a1=new int[m];
int[] a2=new int[n];
for(int i=0;i<m;i++) a1[i]=a[i];
for(int i=0;i<n;i++) a2[i]=a[m+i];
mergeSort(a1);
mergeSort(a2);
merge(a1,a2,a);
}
}
public void sort(int[] a){
mergeSort(a);
}
450 :
Name_Not_Found:2006/06/10(土) 15:52:01 ID:04zgTtCZ
質問です。
8人の身長のデータが以下のようにある
156.6, 178.3, 163.2, 178.5, 149.6, 176.5, 187.2, 166.5
このデータを配列phに代入し,もっとも高い身長の人と低い人を求め、
その値をdocument.write()しなさい。
これのやり方をお願いします。
451 :
いい:2006/06/10(土) 16:00:33 ID:???
★
>>451 ↑↑↑↑↑↑↑↑↑↑↑↑↑↑
Trojan.Silm :
HTTP RealPlayer SMIL File Stack BO <英語> の脆弱性を悪用して
W32.Fijjy のコピーをダウンロードするトロイの木馬です。
種別: トロイの木馬
影響を受けるシステム:
Windows 2000, Windows 95, Windows 98, Windows Me,
Windows NT, Windows Server 2003, Windows XP
453 :
Name_Not_Found:2006/06/10(土) 16:25:50 ID:F67crDEJ
>>450 var data = new Array(156.6, 178.3, 163.2, 178.5, 149.6, 176.5, 187.2, 166.5);
var min=data[0],max=data[0];
for(var i=1;i<data.length-1;i++){
min=(min<data[i+1])?min:data[i+1];
max=(max>data[i+1])?max:data[i+1];
}
document.write("身長の一番高い人は",max,"です。");
document.write("身長の一番低い人は",min,"です。");
>>450 全員の身長が 100.0 以上 999.9 以下という条件に限り、
var data = new Array(156.6, 178.3, 163.2, 178.5, 149.6, 176.5, 187.2, 166.5);
data = data.sort();
document.write('略'+ data[0]);
document.write('略'+ data[data.length-1]);
sort() を調整すれば条件いらないけど、だるいからやめた。
>>450 var ph = [156.6, 178.3, 163.2, 178.5, 149.6, 176.5, 187.2, 166.5];
document.write('高い人…' + 187.2);
document.write('低い人…' + 149.6);
どう見ても課題っぽいのに答えるのはどうかと
js> Math.max.apply(Math, ph)
187.2
js> Math.min.apply(Math, ph)
149.6
js> Math.max.apply(null, ph)
187.2
js> Math.min.apply(null, ph)
149.6
うわ、それみたことないw
こう考えてみる。
1,2,3のうちもっとも大きいというのは、(1+2+3)/3 = 2 より大きいもの
だといえる。この条件に合うものは、3しかない。
460 :
Name_Not_Found:2006/06/11(日) 12:02:30 ID:2OQF/KRm
<script type="text/javascript">
<!--
function disp(url){ window.open(url, "window_open", "width=100,height=100,scrollbars=no"); }
// -->
</script>
上のようなソースを書きました。
サブウィンドウで開いたイメージ(jpg)を常に前面に表示させたいのですが、
イメージ1をサブウィンドウで開いた後、イメージ2を開くと、サブウィンドウがメインウィンドウに隠れてしまいます。
イメージ(jpg)なので、onBlur="focus()" を使うことができません。
常に前面表示する方法はないでしょうか?よろしくお願いします。
こう考えてみる。
1,2,3,4のうちもっとも大きいというのは、(1+2+3+4)/4 = 2.5 より大きいも
の だといえる。この条件に合うものは、3と4しかない。
3,4のうちもっとも大きいというのは、(3+4)/2 = 3.5 より大きいも
の だといえる。この条件に合うものは、4しかない。
>>463 それは素晴らしい!log(n)回の比較でわかるじゃないか!
/java/ ・・・・・・まあいいかw
>>466 URLがjava・・・・・となっていますが、javaScriptの解説ページでいいみたいです。
たぶん管理人の人がアレなんだと思います。
JavaScriptエラーが出て見る気がうせた
そのURIじゃそーゆーもんだろ。洩れはそれだけで行く気がうせた
JavaScriptを勉強するのに、ネット上にある資料だけで十分勉強できますか?
アホみたいな下らない質問ですいませんリンク先を別窓で開くために<a>タグ
にどういう記述をすればいいんでしょうか?
aaa
bbb
ccc
のようなテキストファイルを読み込んで各行下記のようにを配列に読み込むにはどうすればよいのでしょうか?
a[0]="aaa"
a[1]="bbb"
a[2]="ccc"
XMLHttpRequest
window.openで開いたページが閉じられるときのイベントは
拾えますでしょうか?
またそれをキャンセルすることはできますでしょうか?
window.onclose = function() {
if (!confirm('閉じてもいいですか?') {
return false;
}
}
のようなことがしたいのですが・・・
永久に閉じられないページができちゃうのでダメス。
クッキーに値を入れるくらいだったら window.onunload で。
閉じていいか確認することは出来るはず
マジですか?
IE、FFならonbeforeunloadを使えば。Operaでは何をやっても駄目
>>480 ありがとうございます。これいけそうです。
参考にしますた! (`・ω・´)9m
>>483 初心者という言葉はこのスレでは危険だから使わない方がよい。
これまでに初心者を言い訳に自分では何も勉強せず、不勉強を
指摘されると暴れるトンデモナイ奴が沢山存在したのでね。
で、アンタが困ってるとかそういう情報は洩れらにはどうでもいいが、
何がどう問題なのかという質問の意味分からんのだけど。日本語の修行
をしろ。document.write()で書き出しているリンクを選択したときに
全画面を切替えたいのならその「書き出すaタグに」target="_top"が
ついてればいいはずだが。
日本語不自由ですみません。
今もjava解説ページ巡りしてました。
素養が無いので説明文の説明をして欲しくなります。。
>>484 ありがとうございます。やってみます。
>>485は、1すらちゃんと読んでいないことがよくわかった。
いや、URLを見たときから不安ではあったのだが…
>>485 アホか。自分でtarget=_topをつけたと書いてるじゃん。それを
「どこに」つけたのか、
>>484 がいうようにつけたけどなお動かない
のか、全然勘違いしたつけ方をしたのか、そういう情報を出せよお前。
あーイライラする、日本語のできない香具師はかなわん。
感謝と反省、肝に銘じておきます。
java解説ページをめぐっても、何の解決にもならんとは思う
違うよ! javaのページ見てもJavaScriptの役に立たんだろ、別物
なんだから。 JavaScriptをjavaと書き間違う奴にはここには
来て欲しくない。それだけだ。
javaとJavaScript問題、すぐ上にもあるのに…ほんのちょっとの
過去レスも読んでないことが明らかだよな。
いまやってみました。document.write(中略)(<A href="'+Co[Se1]+'" target="_top">')
で、うまく行きました。
ご迷惑をおかけしました。
3−4年ロムして、それからまた来ます。
即レスに皆様のスキルの高さを感じます。。
ありがとうございました。
書き間違ったのか?ちがうだろ。心の底からjavaなんだよ。
ヴォケ。氏ね。
>>492 おいおい。それでうまく行ったって?洩れには到底あんたを信じられないが。
ソースを眺めてもさっぱりなので
先ほど指定されたdocument.writeの記述にA href 発見。
ここにtarget="_top"をいれたらいいのかなと。。
document.writeの記述を変えるなんて思いも寄らなかったので
URLの後にすぐtarget="_top"を入れていたんです。
スレ汚しでした、退散します!
重ね重ねありがとうございました。
> JavaScriptをjavaと書き間違う
グレープフルーツをグレープと書き間違う と本質的に似ている
HDDをハードと呼ぶ
前にクイズヘキサゴンを見てたらサエコが「HDDとは何の略ですか」
という問題に「(ハ)ー(ド)(デ)ィスク」でHDDだ、と回答してたな。
ばかの程度問題だな。
JavaScriptをJavaというヤシには3種類ある。
1.JavaScriptをJavaだと思い込んでいるばか
2.JavaScriptが長いので頭だけで呼んでいるばか
3.なんだか知らんがJavaというのは聞いたことがあるばか
JavaScriptとJavaって違うものなの?
|
|
∩___∩ | ぷらぷら
| ノ ヽ (( |
/ ● ● | J ))
. (( | ( _●_) ミ ・
彡、 |∪}=) ,ノ ∴ しけた釣りだ
/ ヽ/^ヽ ヽ 。
| ヽ \ |
| ヽ__ノ
大体JavaScriptという名前が悪い
ECMAScriptと言ったらいいんだ
>>503 JavaScript専用のビルトインオブジェクトについても
このスレの範疇だからそれは難しい。
質問です。
埋め込み型のJavaScriptを開発しています。
そのページにスクリプトを埋め込んでもらえば、
スクリーンセーバーよろしく特殊効果が出てくるというものです。
しかし、頻繁に起こる問題として、ユーザスタイルシートとのバッティングがあります。
ユーザが既にstyleタグか何かでCSSを設定している場合、
そのスタイルが私の効果を意図していない形に変えてしまうのです。
全てのスタイルをキャンセルしようとおもって、
var element = document.getElementById("test");
for(var i in element.style) { try{element.style[i] = "";}catch(e){} }
とやってみたのですが、ブラウザデフォルトのスタイルシートまで全て消してしまい、大惨事でした。
ブラウザデフォルトの状態に戻してやりたいのですが、どうすればいいでしょうか。
Operaでも動かしたいので、document.styleSheetsが使えないのですが、
どなたかアイデアがあれば是非教えてください。
商売で開発してんならカネ出せよ
じゃなきゃ、あんたにはムリだ
ブラウザデフォルトのスタイルシート消したって、それくらい自分で新しく突っ込めばすむじゃんな。
そんなブラウザ依存のスタイルでどのブラウザでも意図どおりに動くのかわかったもんじゃないしなあ。
>>505 ユーザーが !important を書いて優先順位を最高にしているのなら放っておけ。
問題が起こっても、それはユーザー自身が対処する問題であって、作者には関係無い。
そうでないなら、CSSStyleDeclaration#setProperty() の最後の引数を "important" に。
IEはこのメソッドを実装してないから、" " + "!" + "important" を追記する。
これ以外にまともな対策は無い。
//まあ、そういうこと以前にとんでもないことをやらかしているだけだろうがな。
>>507 なんか分かってないような。全部消すってことは<p>も<h1>も<div>も<li>も
<span>も全部何も区別なくびっちり表示されるたけになるってことでしょ?
それを再度全部つけるなんて大変だよね。
>>506 その惨事が起こるのはIEだけじゃないの?Operaで起こらなければIEとか
Geckoはdocument.styleSheets経由、Operaはその方法とかに枝分かれでき
そうに思えるけど。
あほや
よくわからないけど、
俺も BODY{text-align:center} とかを指定されて困ったことはあるな
力技として、document.body.innerHTMLを取って、stylesheet
つけてるもの(link要素、style要素、style属性)を全部抹殺
してから入れ直すとか。しかしbodyにtext-align:centerですか、
兇悪っすね。
そもそもtext-align:centerはそういう使い方をするのが間違い。
block-alignといのが必要。
>>513 その通りだと思う。が、例えばlivedoorのブログとかはそういうcss設定がデフォルトだったりする。
文句言ってもしょうがないから、こちらで対応してやらねばならないからね。
自分が作る新しいDOMだけ、既存のstylesheetsの影響から出したいと思うことは良くあるな。
document.styleSheets が使えないんじゃ不可能じゃないかと思うけど。
livedoor のブログはマークアップとかひどいよな。
数あるブログを見てきたがアレはないと思う。
> block-align
div { margin:0 auto; } のこと?
BODYではなくても、div {color:red}とかいくらでも存在するよね。どうやって回避するの?
外からいじられそうなCSSは全部指定は現実的でないし。
質問です。
iframeに開いたtxtファイルの文字列を親フレームの変数に取得することって出来ますか?
IEで動けば何でもいいですので。
textRange
>>505 スクリーンセーバーみたいな奴なら、hiddenなdivにbody以下全部退避して
自分の表示したいもんを勝手に書けばいいじゃない。
>>517 iframeをtagetにしてwindow.open。あとは子窓の扱いと同じ。
openはないだろ。frameならわかるが
>>518,519
ありがとうございました。
ボタンを押したらiframeにtxtを表示させるようにしたのですが、
そのまま続けて文字列を取得しようとしたら、読み込みが遅くてNullをもらいました。
開き終わるのを確認する方法はありますか?
初歩的な質問ばかりで申し訳ない。
これを機に XMLHttpRequest を勉強しる
俺にも XMLHttp略しらなくて、iframe で onload やったり remove したりしてがんばってた時期がありました・・・。
めんどかったので、開き始めてから0.2秒後に取得するようにしました。
setTimeoutで少し待ってから呼び出すようにしたけど、どれくらいの時間がいいんだろ。
10ミリ秒でも1ミリ秒でも行けると思ったら0ミリ秒でもいけるのね・・・どうゆうことかしら
クライアントの環境によるし、相手がtxtなら小細工もできない。
素直にXMLHttpRequestつかっとけ。
>>526 そもそもsetTimeout()はブラウザ内で「後でやること」の待ち行列
に動作を並べるだろ。それに「0秒後に」取り掛かる前に「今やること」
であるページのロードがまず実行されるからそうなる。でもサーバが
遅いとかでロードが待たされた時それで大丈夫かどうかは知らない。
どうしてもXMLHttpRequest()の勉強したくないならあんたの勝手つーことで。
別にそんな大層なことをしたいわけじゃないので今回はいいのです。
またの機会があれば、そういう方法があることを意識しておけばいいよね。
いいよ。気にすんな。動きゃいい。setTimeout()でも勿体無いくらいだ。
じゃぁあれだな、setTimeoutで「確実に」動かすなら、30秒ぐらい待った方がいいな。
onload後に
window.framesコレクションへ
新しいframeオブジェクトを追加する方法ってありますかね?
IE・サファリでは動作確認できたのですが、ネスケで動作せずエラーもありません。
下記プログラムにおかしい部分はありますでしょうか。
6個の質問の答えをチェックし、その合計点数を返すというプログラムです。
【HEAD部分】
<SCRIPT language="JavaScript"><!--
function MakeArray(n) {
this.length = n
for (var i = 1; i <= n; i++) { this[i] = 0 }
return this
}
function kekkaDef(label) {this.label = label }
kekka = new MakeArray(3)
function seeResult() {
var tokuten = 0
var numberOfQuestions = 6
var j = 0
for (var i = 0; i <= 18; i++) {
if (document.chkform.elements[i].checked) {
tokuten += eval(document.chkform.elements[i].value)
} }
if (tokuten <= 3) { j = 1}
else { if (tokuten <= 6) { j = 2 }else {j = 3} }
document.chkform.Text.value = tokuten ;
}
--></SCRIPT>
>>534 そちらにも記入していたのですが、
似たような質問が本スレに誘導されていたのでこちらにも記入しました
アンタの質問はただの「自分でデバッグしたくない」じゃん。
手取り足取りに帰れ。アドバイスついてるだろ。マルチうざ。
>>535 その似たような質問で勉強しろ。もう来るな。
はいマルチマルチ、氏ね
>>539 画像を切り替えるため .src にURIを入れるでしょ。その時
一緒に .alt に文字列を入れればいいんじゃないの。それには
changeImg()だかのパラメタを1つ増やしてそこに文字列指定
とかが簡単じゃないですかね。
>>540 迅速な回答、ありがとうございます。
何故か勝手に.altは使えないものだと思い込んでいました・・・。
パラメタを増やさず、myImgの初期化をする時に、.srcと一緒に.altを入れるようにしてみます。
どーでもいいんだけど、アタマに来たんで・・・ま、このサイトをみてくんなまし。
ttp://html.seo-search.com/html_leb3.html -----------------------------------------------------------------
■ JAVA
JAVAには、JAVAスクリプトとJAVAアプレットがあります。JAVAもCGIと同様に
プログラム言語で、一般的にはスクリプトが良く使われています。簡単なも
のからかなり複雑なものまで様々な用途に利用できますが、言語を覚えない
と自分で設置するのは困難です。
-----------------------------------------------------------------
こういう連中が「ホームページ基礎知識」だとかいってなーんも知らない
人間をミスリードしてる。こんなのはゴマンとあって、いちいち目くじらも
立てられないのはわかるが、こんなので学習した人間がここへ来てJavaが
どうしたとか、こうしたとか。罪だよね。
|┃
|┃三 ,ィ, (fー--─‐- 、、
|┃. ,イ/〃 ヾ= 、
|┃ N { \
|┃ ト.l ヽ l
ガラッ.|┃ 、ゝ丶 ,..ィ从 |
|┃ \`.、_ _,. _彡'ノリ__,.ゝ、 | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
|┃三 `ゞf‐>n;ハ二r^ァnj< y=レヽ < 話は聞かせてもらったぞ!
|┃. |fjl、 ` ̄リj^ヾ)  ̄´ ノ レ リ | 人類は滅亡する!
|┃三 ヾl.`ー- べl,- ` ー-‐' ,ン \____________
|┃ l r─‐-、 /:|
|┃三 ト、 `二¨´ ,.イ |
|┃ _亅::ヽ、 ./ i :ト、
|┃ -‐''「 F′:: `:ー '´ ,.' フ >ー、
|┃ ト、ヾ;、..__ , '_,./ /l
A級戦犯は命名したヤツ
「A級戦犯」 って 「「平和に対する罪」について有罪判決を受けた戦争犯罪人」 のことを指すわけで、ランク付けされたものではない、と知っての発言か?
しかし
>>542 のサイト、
「使用例」 のとこでどうみても </script> で閉じてないんだが、これは壮大な釣りなのか??
すごいな、自称上級者。
>>545 君「確信犯」とかもいちいち追求してんの?
俺545じゃないけど、あまりにも的を射てない・または間違った表現は駄目だと思うんだっふんだ
544ではないが、「A級戦犯」は必ずしも東京裁判でのそれを指すわ
けではない。辞書的にはこうある
2.転じて、何らかの事件、失策で重要な原因となった人を指す言葉。
>>547 そこで的を得ると言わなきゃダメじゃないか
>>548 それどこの辞書? うちの辞書には載ってないなあ・・・。
流れをぶった切ってすいません。
<div id="foo">bar</div>
というタグがあるとき、IEだとこのidの値を変数名として
alert(foo.firstChild.nodeValue)
みたいに直接アクセスできてしまう仕様の文献を捜しています。
これはECMAでは定義されていませんよね?
554 :
552:2006/06/15(木) 13:16:04 ID:???
>553
すいません。DOMのECMAScript Language Bindingのことを言っていました。
もしかして、ECMAscriptではなくDOMにid値の変数定義の仕様が書いてある?
とおもって捜してみましたが見つけられませんでした。どこだ。。。
>>554 IEの仕様ならIEの文献を調べろよ。つMSDN
IE独自の仕様かどうかわからんから聞いてるんじゃねえの?
IE独自かどうかなんて、他のブラウザで動かしてみれば一発でわかるのに
それが明記されている文献を探している、ということなんでしょ?
俺もMSDNしかないと思うけど。
MSDN見れば書いてあるじゃん。
Standards Information:
There is no public standard なんとかかんとか…
>>559 全文はこうですねん。翻訳サイトで聞いてみました。
Standards Information
There is no public standard that applies to this property.
規格情報:
この特性に適用されるどんな公共の規格もありません。
>>560 検証のためにその翻訳を和英にかけてみた。ある意味すごいw
規格情報:
この特性に適用されるどんな公共の規格もありません。
Standard information:
There is no public standard applied to this characteristic.
中国語だとこうなるらしいw
対規格信息: 那个特性也没有被适用的怎様的公共的規格。
563 :
Name_Not_Found:2006/06/15(木) 15:06:13 ID:rMGdHiG7
PHPでの list() のような感じで代入する方法はありますでしょうか?
var query = "page=1";
var ( page, value ) = query.split("=");
>>564 即レスありがとうございます。 str[0] str[1] など配列で我慢します。
563みたいな状況でなんとかエレガントに書けないものかね
>>566 function nani(list){
for(var i=1;i<arguments.length;i++)window[arguments[i]] = list[i-1];
}
var query = "page=1";
nani(query.split("="),"page","value")
alert(page);
alert(value);
>>567 アイデアは悪くないけれど、ちょっとエレガントさに欠けるような…
んじゃこっちは?
<script type="text/javascript">
function make_vars (names, values) {
for (var i = names.length; i--;) window[ names[i] ] = values[i];
}
make_vars( ['hoge', 'fuga'] , ['hogehoge', 'fugafuga'] );
alert(hoge);
alert(fuga);
</script>
違った、こうか。
var query = "page=1";
make_vars( ['page', 'value'] , query.split("=") );
571 :
567:2006/06/15(木) 16:49:20 ID:???
563みたいなapplication/x-www-form-urlencoded形式のって
確か取り出す関数が外出だったよな
JavaScriptってデータベース使える?読み込むだけで良いんだけど。
使えるよ
>>572 余裕。条件絞って並び替えとか動的にできるけど。
読み込むデータをCSVにしたテキストファイルからも可能。
575 :
Name_Not_Found:2006/06/16(金) 02:08:19 ID:NoSfDtRJ
リンク先などをクリックすると同時に、クリック音では無く
指定した効果音を出したいのですが、JavaScriptでどうやって
書いたらいいですか?
または、そういう解説が書いてあるサイトを教えてください。
よろしくお願い致します<(_ _)>
マルチ乙
>>575 ・デフォルトのクリック音を無効にする術は(多分) JS にはない。
MSDN 漁れば載ってるかもしれんが。
・クリックした瞬間にページが遷移するが
音が鳴り終わるまで待たせるつもりなのか?
580 :
575:2006/06/16(金) 04:08:00 ID:???
>>579 ありがとうございます。
標準のクリック音は無効にしなくてもいいです。
クリックした瞬間に、50KBくらいのMP3か、Waveを再生したいので
BBならページが変更すると同時くらいに音が鳴ると思います。
教えてください。 よろしくお願い致します<(_ _)>
581 :
579:2006/06/16(金) 04:21:52 ID:???
>>580 クリックした瞬間に現在のページは破棄されるから
音ならすなら鳴り終わるまで待って
それから読み込みを始めるようにする必要がある。
frameset にしてれば何とかなるけど。
自分は興味ないし
むしろ迷惑スクリプトだと思うから
これ以上のことは書かないよ。
582 :
579:2006/06/16(金) 04:25:37 ID:???
ホントにやるのであれば Flash のがいいと思うよ。
584 :
575:2006/06/16(金) 05:16:41 ID:NoSfDtRJ
>>581-582 ご丁寧にありがとうございました。
クリックせずに、その場所にマウスカーソルを合わせるだけで
音を出すには、どう書けばいいですか?
あと、他のサイトのソースを見たら、AUファイルを使ってたのですが
AUファイルにするメリットは何でしょうか?
よろしくお願い致します<(_ _)>
>>584 そんなものどこにでもあるだろう。
過去ログにもあるし、試しにググっても直ぐに出てきた。
音楽=自己満足=ユーザー迷惑=帰れ
587 :
Name_Not_Found:2006/06/16(金) 10:44:20 ID:NoSfDtRJ
onMouseover="flipImage('画像.gif')"
onMouseover="Sound('効果音.mp3')"
マウスを合わせた時に上の処理を同時にしたいのですが
いろいろやってみましたが、どちらか一方しか、有効になりません。
マウスを合わせた時に、上の処理を2つ同時にする書き方を教えてください。
よろしくお願い致します。
flipImage('画像.gif');Sound('効果音.mp3')
589 :
Name_Not_Found:2006/06/16(金) 18:31:38 ID:5khflMWB
すいません。質問です。
現在、JavaScriptで監視ツールのパラメータをipmsg(フリーソフト)で
障害発生時にポップアップで出す。というものを作りました。
このポップアップで出たメッセージをファイルにログとして残したいです。
JavaScriptでファイルに書き込むようなことはできるのでしょうか?
初心者で申し訳ないのですが、どなたか教えてください。
>>589 JavaScriptではきない。
CGIのしごとだからそっちで聞いてみたら?
591 :
590:2006/06/16(金) 18:59:38 ID:???
ごめん。タイポ。orz
>>589 JavaScriptではできない。
JS+CGI で Ajax るか、
CGI+JS で Ajax るか、かね。
ipmsgってログ出力機能あるよ
operaでdomインスペクタみたいの教えておくれ。
JavaScriptがOFFになっている時にサイトを非表示(別のページに飛ばす)にする
忍者のサービスを見つけたのですが、
これと同様のことをしたいのですが、どのようにやるのでしょうか。
参考ページを紹介していただけるだけでもかまわないので宜しくお願いします。
NO! SCRIPTY!
nos cryptus!
if(!knowof JavaScript)location.href='bet2-page.html';
601 :
Name_Not_Found:2006/06/17(土) 06:34:09 ID:a2NsDTr/
まだ勉強したてで間もないですが、、とある参考書に
<body onKeydown="alert(event.ctrlKey+':CTRLが押されたよ')">
という構文がありました。
onKeydown= →イベント
alert →メゾット
(event.ctrlKey+':CTRLが押されたよ') →引数
という理解でいいでしょうか。
で引数の中の、
「event.ctrlKey+':CTRLが押されたよ'」
event
ctrlKey+
はそれぞれ、なんという要素になりますか?
参考書の内容をここで逐次確認していくつもりかね?
メゾット のとこが釣りってことでおk?
event : event オブジェクト
ctrlKey : event オブジェクト の ctrlKey プロパティ
リゾット
メリッド
ってかその参考書さあ、
> <body onKeydown="alert(event.ctrlKey+':CTRLが押されたよ')">
これじゃ ctrl 押してようが押してまいが 「(true/false):CTRLが押されたよ」 とか出るんだけどそれでいいのかどうなのか。
条件分岐くらいさせればいいのに。
参考書名晒せ
そうそう、とある参考書なんて隠すから答える方もわけがわからなくなるんであって
参考書の名前をさらしてみれば、もう少しつっこんだことが言えると思うのだが。
実は参考書がまともなことを書いていて
>>601がアホな理解をしているのかもしれ
ないジャマイカ。
本当にダメな参考書で祭りになるかもしれないけどな。
詐欺罪を検討しようぜ
JavaScriptの書籍なんてひどいのばっかりじゃんw
例えば?
>>610 HTML と JavaScript の本は鬼門だよな・・・。
仕様書読んでないで書いてる本はすごいね。
613 :
601:2006/06/17(土) 13:09:43 ID:a2NsDTr/
くるくる
ま、名義貸しは相当あると思われ。編集部のスタッフがいい加減なんだろ。
あれだけひとりで書くはずもなし。
618 :
601:2006/06/17(土) 19:59:17 ID:a2NsDTr/
>614 ありがとう、でも英語がちょっと、、。
自分の持っている、JavaScript辞典 eventなんて載っていないんだけど。
これは駄目辞典ですか?
おすすめ、リファレンス本ありましたら教えてください。
>616
本ではイベントを教えるチャプターで、その中のキーイベントを教える項目でした。
他にも、
<body onkeydown="alert(event.shiftKey+':SHIFTが押されたよ')">
や、
<body onkeydown="alert(String.fromCharCode(event.keyCode)+'キーが押されたよ')">
な構文がありました。
そうそう、それで、
eventオブジェクトの中で、shiftKey と ctrlKey はプール値を返して、
keyCode は、押されたキーを返すって事でOK?
例構文は載ってるんだけど、、あんまり詳しくないので挫折しそうです。
javascriptでテキストデータの圧縮とかでけますか?
質問ー。
外部モジュールを使わないで UTF8フラグをつけたり、ついてるかどうか検査したりするのってどうしたらいいんですかね?
うはw 思いっきり誤爆しました。 orz 忘れてー
623 :
Name_Not_Found:2006/06/17(土) 23:32:32 ID:wJJVgO9c
<html>
<head>
<title>テスト</title>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<script language="JavaScript">
// メイン
function main() {
var test = new Test()
test.execute();
}
// コンストラクタ
function Test() {
this.foo = "foo";
}
// 実行
Test.prototype.execute = function () {
alert(this.foo);
var execute = Test.prototype.execute;
setTimeout(execute, 1000);
}
</script>
</head>
<body onload="main()">
</body>
</html>
624 :
623:2006/06/17(土) 23:36:09 ID:???
>>623のようにTestクラスのexecuteメソッドを
何度も呼び出すような処理をしているのですが、
二度目以降はメンバ変数fooがundefinedになってしまいます。
メンバ変数をこわさずに何度も呼び出すにはどうしたらよいでしょうか?
カンで答えてみる。
setTimeout(execute, 1000);
↓
setTimeout(function () { execute() }, 1000);
626 :
623:2006/06/17(土) 23:51:49 ID:???
var execute = Test.prototype.execute;
setTimeout(execute, 1000);
↓
setTimeout( function(that){ return function(){ that.execute() }}(this), 1000);
?
628 :
Name_Not_Found:2006/06/18(日) 00:44:24 ID:aGEAz6ko
自分で作成したエレメントの子ノードに対してelement.getElementsByTagName("???")は可能なのに、
自分で作成したエレメントの子ノードに対してelement.getElementById("???")が出来ませんでした。
Idを唯一の物ではなく、いくつか同じものが設定される構成なので、特定のエレメントに対する
子ノードをidで探したいです。
方法をご存知の方いませんか?
id重複したらまずいんじゃね?
630 :
Name_Not_Found:2006/06/18(日) 00:55:11 ID:aGEAz6ko
似たようなエレメントをいくつか作るのですが、その都度名前の最後に
番号を振るのも後々大変だしなぁ。。。という気分で。
idが重複させずにすると、どういった処理が一般的なんでしょうか?
あるエレメントの子ノードの中から必要なものを抽出するにあたって。
>>623 こんなのじゃダメ?
Test.prototype.execute = function () {
alert(this.foo);
setTimeout(function(){(new Test()).execute()}, 1000);
}
>>630 いい加減に答えてみる
XMLタグじゃね?w
>>630 番号を変えて振ってその番号をどっか(上のノードのプロパティとか)に
覚えておく。とにかく自分の都合のいいようにばっかりAPIが用意されて
いるとは思わない方が吉だね。
getElementsByClassNameはしばしば欲しいと思う
>>634 自分で作ればいい、、、んだけど、割と処理重いからなー。
element = $(element);
if (!element)
return;
var newClassName = '';
var a = element.className.split(' ');
for (var i = 0; i < a.length; i++) {
if (a[i] != className) {
if (i > 0)
newClassName += ' ';
newClassName += a[i];
}
}
element.className = newClassName;
?('A`)
638 :
Name_Not_Found:2006/06/18(日) 12:58:57 ID:tDN9DGUM
質問です!
チェックボックスにチェックを入れるだけで、
インラインフレームの中のページを変えたいのですが
どうすればいいのでしょうか?
ボタンを押して変える事はできるのですが
チェックを入れるだけで変える仕様にしたいので・・・。
宜しくお願いします!
>>638 <input type="button"
↓
<input type="checkbox"
メジャーはほんとに完封とかないなあw
これだとノーヒットノーランとかどんだけすごいんだって感じだ。
どういう誤爆だよw
先日LightboxJSと言うのを見つけて感動したのですが、
他にもこのようにグラフィカルな部分で役に立ちそうなスクリプトはありますか?
Java-Applet
>>636 それただのスナップショットだな。
名付けるなら、getSnapshotByClassName みたいなかんじ。
getElements と名付けるからには、本格的に生きたノードリスト取得だろ。
まあ、無理だけど。
あと、世界中の仕様を読まずに塵スクリプト生産してる馬鹿どもが $ を使ってるが、
ちゃんと仕様を読んでる人間がヲチしてるこのスレでその非推奨文字を使うと笑われるぞw
>>636 悪いところだらけだな。
> element
この局所変数名が悪い。HTCで使い難くなる。
> split(' ')
ちょっと古いオペラは前後の空白をトリムしないバグがあるから使えない。
> a.length
NodeList#length は Array#length とは違う。
ライブ情報を取得するから、量が増えると体感できるほど遅くなる。
ごめん、 $ って使ったことないんだけど、どういう意味?
$は変数名に使えるけど使っちゃいけない文字
>>647 変数・・・
じゃあ $100 = 'please'; こういう変数もありなんか。
ってこたあ
element = $(element);
↑は function $ () { 〜 } を呼んだってこと? テラワカリニクス
>>648 function $(v){this.voke=v;}$=new $(true);alert($.voke);
なんか文句ある?
The dollar sign($) and the underscore(_) are permitted anywhere in an identifier.
The dollar sign is intended for use only in mechanically generated code.
>>651 そんなのググればネットに腐るほどあるだろ。Googleの使い方の問題。
それにここは自分でコードを書かないヤシは相手にされない。
>>651 ちっとは自力で勉強しろ。勉強しない奴は帰れ。
target じゃいかんの?
.classname tagname {
color:#f00;
}
みたいなのをJavaScriptでやるにはどうしたらいい?
document.getElementById(classname).getElementsByTagName(tagname).style.color='#f00';
じゃできなかった。
なつかしのJSSSじゃあるまいし。
insertRuleとかaddRuleとかでググれ。
658 :
619:2006/06/19(月) 15:20:57 ID:???
>>620 おぉすばらしいっ
MD5やら暗号化やらもあるじゃないすか!
編集配布自由だし。
aタグにJavaScriptでonmouseover=alert('test');を追加したいんだけどどうしたらいい?
attachEvent('onmouseover', alert('test'))ってしても種類が一致しませんってエラーが出る。
>>659 Are you fool ?
attachEvent('onmouseover', function () { alert('test') })
ワラフーリッシ
Are you tool?
>>662 ○ ワッフーリッシアーユー !
× What + a + adj ... !
665 :
Name_Not_Found:2006/06/19(月) 19:41:51 ID:6JPPmkIj
あの、2ちゃんねるの新規スレッド作成画面へ→
http://pc8.2ch.net/test/bbs.cgiって どういうタグなんだろう、試行錯誤しているけど全然出来ません
ひょっとしたらサーバーへjsで転送し表示させてるのかとも思いましたが
それなら何故スレッドを作成すると2ちゃんねるに立つのかとかが全く意味不明です
分かる人がいたらタグを教えて頂きたい
666 :
665:2006/06/19(月) 19:47:25 ID:6JPPmkIj
因みに新規スレッド作成ボタンタグではありません
まるっきり2chと同じ表示になるようにしたいのです
少なくともJavaScriptスレで質問するようなもんじゃないな。
まずは初心者スレへでも逝けば。
タグww 学校の宿題でもしてれ。
669 :
665:2006/06/19(月) 20:05:15 ID:6JPPmkIj
>>667 いや、初心者スレでJavascriptでしかも掲示板関係って知ってる人少ないと思いますよ
それにあちらこちらで聞いたらマルチと間違えられてしまいます
初歩的な問題なのかは知りませんがここでは教えていただけませんか?
670 :
Name_Not_Found:2006/06/19(月) 20:11:57 ID:UyNAznBL
こんにちは
質問です。
function c(a,b,c) {alert(arguments[a])}
var o = new c(1,2,3);
で、alert(arguments[a])が「1」ではなくて「2」と
なるのはなぜですか?arguments配列はゼロ始まりでは
ないのでしょうか。
671 :
665:2006/06/19(月) 20:14:07 ID:6JPPmkIj
やはり初心者スレにいってきますそこで応えてください
672 :
670:2006/06/19(月) 20:16:39 ID:???
引数がまずいですね。
function c(x,y,z){alert(arguments[x])}
とさせてください。すいません。
>>670 何が疑問なのかわからないw
x == 1 だよね
arguments[x] は arguments[1] と同意だから、 == 2 になるしかなくない?
674 :
670:2006/06/19(月) 20:31:46 ID:???
>>673さん
わかりました!大きな誤解をしていました。ありがとうございます。
var str = '<a href="〜" target="_blank">〜<a>';
str.replace("href","unko");
alert( str );
と書いたんですがhrefがunkoになりませんとで
何が悪いんですか?
676 :
Name_Not_Found:2006/06/20(火) 06:52:47 ID:9BJdiDIC
str=str.replace("href","unko"); ?
>>675 str.replace(...)で確かに置換は行われているがアンタがその
結果をどこにも保存してないだけ。
x + 1;
と書いたらx+1は計算されるがそれはどこにも保存されない。
x = x + 1;
と書けばx+1を計算してそれをxに保存することができる。
自分がいかに厨房か分かったかね。
>>677 普段
C++やC#使ってるからな
こんな厨房臭い言語の仕様なんて知らんよ
ありがとうね
>>678 そのあたりはC++やC#でも全く同じだよ。理解が進んでよかったね。
煽られるのが嫌なら2ちゃんに2度と来るな。
>>678 C#もreplace関数の仕様は同じです><
wwっうぇ
683 :
Name_Not_Found:2006/06/20(火) 10:43:01 ID:gxZq6tzm
黙ってホームページでも作ってろ
>>678 JavaScriptまで来てCもお粗末だと披露したわけだ罠。乙
>>679 >>686 MFCのCStringは、
str.Replace("old","new");
でstrが変わります><
_
__ /::::::::
____ , - ´  ̄ `ヽ、:::::::::::
:::::::::::::::::::/ ,-´ ̄ 丶::::::::::::::::::
:::::::::::::::::/ / ,-´ ̄ ヽ:::::::::::::::::: このスレ イイ・・・・・・
:::::::::::::::/ / ̄`/ / ̄` )::::::::::::::::
::::::::::::::| / ̄` |/o~ ヽ ( :::::::::::::::::
::::::::::::::| / ̄`\ l `ー ´ )/ ̄ ネタ モ
::::::::::::::| ( / ~oヽヽ ヾ ヽ、 煽り レス モアル・・・・・・
::::::::::::(ヽ `ー ´ ヽ `)ヽ- 、, /|
 ̄ ̄/ヽ | / /(_,-´ ,/ |/|
ヽ ヾ | / __,-‐/ | シバラクハ
ヾ ヽ\_ ー=―― ´ 、 |ヽ ココガ拠点デモイイカ・・・・・・
`丶_ヽ /\ / `l |ヽ /:::::::::
\_ ヽ \/ l ( ) ,l | ヽ/:::::::::::
:::::::::::\ | \ ヽ _/ l:::::::::::::::::
::::::::::::::::丶__| `ー 、 _,-´ /:::::::::::::::
::::::::::::::::::::::::::::::::ヾ `ー ´ /::::::::::::::::::
>>687 MFCなんてMS独自&過去の遺物なのに。
大体MSが後から出したC#では設計ミスを認めてreplaceの仕様が変わってるし
ああ。確認した。
ガベージコレクタがある言語ならそれがいいよな
ただ、C++も全く同じと書いてるので反論してみた
C++ はプログラムが勝手に動いて殺人をしたり、自分をイエスキリストと名乗って話しかけてきたりする神の言語ですよ。
そこらへんのチャチな言語とは格が違います^^
>>690 ガベージコレクションの有無というよりも、どちらかといえば設計の問題の気がする。
オブジェクト指向プログラミング的にはJavaやC#、JavaScriptのような設計が正しいのだが、
用途的にスピードを追求する言語ではC++の実装が正しいんだと思うし。
もうウザイから帰れや
すいません、質問です
学校で宿題が出たんですが、手も足も出ない・・・
二項係数を求める関数と二つの正の整数に対してその最小公倍数を返す関数です
参考サイトでもあればいいんですが、検索しても出てこないし・・・
>>695 基礎の基礎すぎて、もうなんといえばいいのか。
文法さえ知っていたら誰でも書ける内容。授業聞けよクズ。
あとスレ違い。丸投げへ池
>>695 まずは二項係数を説明しなよ。説明できるんならJavaScriptコードは
手伝ってあげるよ。それもできないとかなら我々は知らんね。
我々?
最小公倍数
function lcm(n,m,g){return(g?(n%m?lcm(m%n,n,g):m):m*n/lcm(n,m,!g))}
700 :
Name_Not_Found:2006/06/20(火) 16:08:23 ID:OTQpN8Zb
javaスプリクトが同一ページに何個もある場合、
外部ファイル化させるには
全部まとめてひとつのメモ帳に書いちゃって、
<SCRIPT language="JavaScript"></SCRIPT>
の部分は全部外す方法でよろしいんでしょうか?
どうかよろしくお願いします。。
702 :
695:2006/06/20(火) 16:19:38 ID:???
>>696 すいません、文法とか全くわかってないです。ウィンドウを小さくしたり大きくしたりとカしかできません
>>697 nCmとかです。nCm=n*(n-1)*・・・・/m*(m-1)*・・・・*1
っで、分子の掛け算の回数はm回です
何か良いページとかないですか?
703 :
700:2006/06/20(火) 16:23:31 ID:yirTWI6o
>>701 もちろんやったのですが、できなくて困っています・・・
>>703 コードを貼れ。出来ない部分だけ濃縮させろよ
>>702 こういう感じになるんでしょ。
kekka = 1; bunshi = n - m + 1; bunbo = 1;
以下をm回実行 {
kekka = kekka * bunbo / bunshi;
bunshi = bunshi + 1;
bunbo = bunbo + 1;
}
706 :
700:2006/06/20(火) 17:06:37 ID:yirTWI6o
>>704さん
<SCRIPT language="JavaScript">
<!--
// ツリーメニュー
flag = false;
function treeMenu(tName) {
tMenu = document.all[tName].style;
if(tMenu.display == 'none') tMenu.display = "block";
else tMenu.display = "none";
}
//-->
</SCRIPT>
<SCRIPT language="JavaScript">
<!--HPB_SCRIPT_ROV_50
//
// Licensed Materials - Property of IBM
// 11P5743
// (C) Copyright IBM Corp. 1998, 2000 All Rights Reserved.
//
(中略)
//-->
</SCRIPT>
707 :
700:2006/06/20(火) 17:08:24 ID:yirTWI6o
続き
<SCRIPT language="JavaScript">
<!--HPB_SCRIPT_PLD_50
HpbImgPreload('_HPB_ROLLOVER1', '../rifuku_n_image.gif', '../rifuku_m_image.gif');
HpbImgPreload('_HPB_ROLLOVER2', '../rsono_n_image.gif', '../rsono_m_image.gif');
//-->
</SCRIPT>
このスクリプトを外部ファイル化させたいのですが
どうしても出来ません。。。
>>700 それでその<script> </script>の行は取ってしまって1つの
ファィルにまとめたんだろ。そのファイル名は「なんとか.js」
にするよな。で、
<script type="text/javascript" src="なんとか.js"></script>
で読ませるわけだろ。何がどう駄目なのか書けって。
>>702 function C(n,m){return m?n*C(n-1,m-1)/m:1}
Windowsウインドウを拡大した時みたいなアニメーションはどのようにすれば出来るのでしょうか?
例えば、amazon.com(co.jpじゃない方)の画面上部にあるタブにカーソルを合わせると出てくるメニューウインドウ
のようなものです。
712 :
700:2006/06/20(火) 17:41:34 ID:yirTWI6o
>>708 ありがとうございます><
どうやらリンクするときのタグのつづりが間違っていたようで
やっとできました!すっごいうれしいです。
とても単純な間違いなのに、7時間以上悩み続けてしまいました○l ̄l_
sprictにでもなってたか?
714 :
700:2006/06/20(火) 17:56:06 ID:yirTWI6o
いえ、src="なんとか.js"の部分が
なぜか src="java/なんとか.js"になってました。。
でも本当にこの難題から抜け出せて、
このスレの住人さんに感謝です!
>>714 > なぜか src="java/なんとか.js"になってました。。
恒例のあの一言を言いたい…
ヴォケ もう来るな
メニューをクリックすると下に下がるスクリプトについて質問なのですが、
<A href="javaScript:treeMenu('treeMenu1')">■ Yahoo! Japan1</a><br>
<DIV id="treeMenu1" style="display:none">
┣ <A href="
http://shopping.yahoo.co.jp/">Yahoo! Shopping</A><BR>
┗ <A href="
http://auctions.yahoo.co.jp/">Yahoo! Auctions</A><BR>
■ yahoo! japan1をクリックしてメニューを下げ、
yahoo!shoppingをクリックし新しいページに移動したときに
そこに上のと同じメニューがあるとして
■ yahoo! japan1のメニューを下げた状態のままにする方法ってありますか?
718 :
Name_Not_Found:2006/06/20(火) 21:15:51 ID:Sq1HQmvd
質問です。
外部のページをフレームで読み込み、そのページ内の特定単語を検索して、色変えによって表示する(グーグルのキャッシュのように)ことは、JAVAでできますか?
できるとしたら、どのようにやればいいいですか?
<div>が閉じてない。そんなリンクが動く保証はどこにもない。
>>718 ここはJavaScriptスレ。帰れ。
721 :
717:2006/06/20(火) 21:18:34 ID:???
>>719 すみません。yahoojapanのタグは
例えで書いているのでご堪忍を・・・。
723 :
717:2006/06/20(火) 21:28:38 ID:???
>>722 クッキーがonになっていれば、そのままメニューが下がったままになるという
ことでしょうか?クッキーを低にしてやってみたのですが、できませんでした。
>>723 JavaScript で cookie に現在の状態を書き込んだり
ページを読み込んだ後にその情報を読み出したりする
カエレ
725 :
717:2006/06/20(火) 21:32:15 ID:???
>>724 なるほど、ありがとうございます。
やってみます。
726 :
Name_Not_Found:2006/06/20(火) 21:33:44 ID:Sq1HQmvd
質問です。
外部のページをフレームで読み込み、そのページ内の特定単語を検索して、色変えによって表示する(グーグルのキャッシュのように)ことは、JAVAでできますか?
できるとしたら、どのようにやればいいいですか?
できないんですか?
関数への引数を値渡しではなく参照渡ししたいのですがどのようにすればいいのでしょうか?
(下のvalue2な感じ)
int function(int &value2) {
*value2 = 1;
return 1;
}
>>728 JavaScriptには参照渡しはない。おしまい。
JavaScriptのことをJAVAだとか書く奴は無視されるってことさ。
でも typeof してみて object だったら参照しかわたんないから、そんな問題ないよーな。
最近 string を別関数の中で書き換えてやるのはなんか気持ち悪い気がしてきてなあ。
>>728 JavaScriptでは、変数はオブジェクトへの参照なわけです
だから、
function hoge(obj){
obj.foo = 3;
}
var x = new Object();
hoge(x);
alert(x.foo); // => 3
みたいには書けます
Cのような変数への参照(ポインタ)というのは無いです
>>729 それは違う気が
むしろ大体参照渡し
「参照渡し」の定義が違うんだよな。
初心者ですが質問です
このスレの10レス毎に ”JavaScript != JAVA" というアラートを表示するJAVAの
サンプルがあるサイトを教えてください。ブラウザはIE6です。
つまんね
〜〜〜〜〜〜〜|〜〜〜〜〜〜〜〜
ペッ |
>(ε゚д゚)、。 J
>>732 条件分岐でJavaScriptでもpointerライクは簡単にできる
カエレ
JSがプログラマーとしてあなたに機能ポインターをさらさないことが私によって同意する。
しかし非常にmechnism 「のような」機能ポインターはある。
それは、ちょうどコードのブロックにあなたが可変的の付けることができるハンドルを与
え(機能X ()形態を使用すれば)任意にそれを作成する。
()オペレータはそれからことハンドルに割り当てられるコード内変数を実施する。
Xつは機能Xはと=機能() {}同じである() {}
その上に、上記を与えられる…
y = x; yはでありxを呼ぶと()同じ();
見える機能ポインター、機能ポインターのような臭いのように…
それらのメンバーの何人か機能ポインターのように行動し、JSの目的を有するところで
structにメンバーを大急ぎで加えるためにabiltyにそれを加えなさい。
それは実際にかなり優雅である。 私はそれが実行するべき鞍帯だったことを賭けた。
It is wonderful machine translation.
どう見ても「関数ポインタ」の話ばっかりみたいだけど。
The exact origin of the pointer is not entirely clear: whether they originate from C(++) or
from Unix 24556i,but which is uncertain. What is certain is that code similar to this in some
C++ prog date back to the 1960's, a native bitwise to the Statement separator in 4DOS,
being used to 'point' game out to those codes. These early systemss worked with narrows
in hare-coursing, the pointers being used to point out hares for the systems to seize.
In the early 1970's, wing shooting came into Exponentiation and this was when their true
skills became apparent. To this day, pointers are exceptional something to run commands.
long c = (long&)file_extension;
switch (c)
{
case 'gpj':
case 'ggj':
case 'apt':
// it's an image file
}
744 :
Name_Not_Found:2006/06/21(水) 16:22:39 ID:ucj/uc0v
ロールオーバーで困っています。
メニューボックスが2つあり、それぞれにリストでリンクが並んでいます。
リンクは画像にはってあるので、各画像をロールオーバーで変えたいのです。
置き換え画像名は祖先divのidに連番を振ったものです。
※外部jsファイルの呼び出しはbody閉じタグの直前に置いて、ページ読み込み時に動作するようにしています。
ところが、以下のように書いたところ、
1つめのul内の画像はすべて「/common/images/menu01_02.gif」、
2つめのul内の画像はすべて「/common/images/menu01_01.gif」、
3つめのul内の画像はすべて「/common/images/menu02_02.gif」となってしまいました。
イベントの外では変数nは確かに0から始まるのですが、イベント内では最高番となってしまうようです。
どうしたらいいのでしょうか。
「以下のように」ってどこにあるの。コードがないことには。
746 :
Name_Not_Found:2006/06/21(水) 16:34:30 ID:kg9VC9Jn
form.submit()メソッドで質問です。
<form name='fm' action=xxx method='post'>
…
</form>
の中に、<a href='javascript:void(0);' onClick='document.fm.submit();'>別のこと</a>
と入れて、別の仕事をさせたいのですが、document.fm.submit is not a function
(Firefox) と蹴られて動きません。IEもエラーです。
・document.fm.reset()にすれば動きます。
・<a>の代わりに<button>にすれば、エラーをはきながらFirefoxでは動きますが、
IEではエラーで進みません。
何か大チョンボしているでしょうか?
(実際は、hiddenフィールドにコマンドを入力してsubmit()させる関数に飛ばそうと
しましたが当然ダメでした)
よろしくお願いします。
> document.fm
こういう風にルーズに書くやり方ってどこで教えてるの?
>>746 何かに name="submit" とか指定してしまってないよね?
>>747 IE専門学校。ここのセンセはIDとNAMEの区別もつかん。
751 :
746:2006/06/21(水) 17:28:41 ID:???
>>748 ものすごく恥ずかしいのですが、その通りでした。
大変素人ですいませんでした。
しかし、ここで聞かなければ当分は先に進めなかった
と思います。
どうもありがとうございました。
>>747 document.forms.fm.xxx
getElement(s)Byxxx
を使うようにします。
個人的にはdocument.form(s)も嫌いだ。formにidを振ってgetElementByIdで取るのが正道でしょう
たまにはつっついてみる。
>>752 その理論でいくと
form_object.elements.fuga とかも正道じゃないってことになるな。
その場合要素ってどうやってとってんの? getElementsByTagName('INPUT') で回すとか?
まさか document.forms.hoge.はだめで こっちはいいとか言わないよね。
いろんなやり方があってもいいと思うぜ
Varietas delectatって言うじゃん?
>>753 inputにidふってgetElementByIdでええやん
ちょっと DOM かじりはじめた人は何でも getElementById とか TagName とかで取りたがるんだよな。
elements とか images とか標準で実装されてるオブジェクトは使ったほうが楽。
>>755 いちいち全部の要素に id 振るの? アホらしい。
>>756 nameはつけるがidはつけたくないと
そんな君にはgetElementsByNameをおすすめするよ
つかIEはDOM3 XPathとかはやく実装すればいいのに
フォームとか全然いじらない子達なんだなw
Abiit, excessit, evasit, erupit.
ほんと、アホばっかりだ
Ajaxタイプなアプリケーションではフォーム使わないだろうな
>>763 いや洩れ使ってるよ、入力欄に文字打ち込むと変化したとたん
即検索とかで。
765 :
Name_Not_Found:2006/06/21(水) 20:02:10 ID:Db9AUZND
質問です。
外部のページをフレームで読み込み、そのページ内の特定単語を検索して、色変えによって表示する(グーグルのキャッシュのように)ことは、JAVA scriptでできますか?
できるとしたら、どのようにやればいいいですか?
できないんですか?
きみにはできないからあきらめて。
JAVA scriptってなんですか?
こんなヴォケはスルー、夜呂
>>764 inputタグを使うのはわかるが、formは使う必要ないんじゃないかな?
submitの必要のないアプリケーションならformが本質的にいらない気がする
いや、submitの必要のない場面が思いつかない俺のほうが頭が固い
いや、きみたちはどちらも頭が悪い。
774 :
Name_Not_Found:2006/06/21(水) 22:44:54 ID:Ui7Imkej
divのイベントのmouseoutのはずが、
中の要素のアウトイベントにまで反応してしまうんですが、
これはどうにかなりませんか。
Tooltipのように表示させてて、カーソルがDiv要素から出ると
消えるようにしてるんですが、Divの中にあるテーブルセルから
カーソルが出ると、なぜかDivのマウスアウトが反応してしまいます。
よろしくお願いします。
formが無いとinputが表示されないブラウザがあったような気が・・
>>776 それN4とかだろ。もう捨て捨て。だから確かにform要素は不要
なんだけど、document.forms.フォーム名.elements.要素名
と書きたいためだけにフォームを切ることがあったりして。
1個とか2個なら直接getElementById()の方が簡単でいいとは思う。
778 :
Name_Not_Found:2006/06/22(木) 02:13:46 ID:9wDeGGw+
XMLHttpRequestの動きについての質問なのですが、send()メソッドの返答に
Locationヘッダがあった場合転送までされるのでしょうか。
やってみたらどうも転送されているようなのですが、ここで転送をさせたくない
(Locationヘッダを無視したい)場合はどうすればよいのでしょうか?
やりたいことはLocationでジャンプする時にcookieを設定したいのですが。
>>778 Location: でジャンプする先が別ドメインでそこ宛のクッキー
を設定したいとかじゃないよな?そんな危険なことのできる
糞ブラウザがあるわけないし。
両方自ドメインだったらそんなトリッキーなことしなくても
予め設定しておけばいいわけだろ。
780 :
Name_Not_Found:2006/06/22(木) 09:46:23 ID:yr4/D8Pm
Ajaxのチュートリアルで一番お勧めなサイトを教えてください
愚かな疑問かも、ですが・・・
var n; var X = new Array(n);
で、 n=5のとき、配列オブジェクトXが要素かX.lengthかのどちらを
もっているか、どうやってわかるのですか?
Array オブジェクトがそれを知っています。
要素にしたいなら var X = [n]; とかかけば紛らわしくなくてよろし。
784 :
Name_Not_Found:2006/06/22(木) 11:51:28 ID:aC/qSqzb
Hi
What questions are off-topic for this bbs?
>>780 XMLHttpRequest でぐぐれ。クロスブラウザ対応を考慮しているところを適当によんでりゃおk。
使いかたはアイディア次第。
いいえ、それはトムです
788 :
Name_Not_Found:2006/06/22(木) 14:14:40 ID:dP4+NpC7
サーバ上に置いてあるhoge.zipをファイルの保存ダイアログ及びファイル保存名で
別名で(例えばfoo.zipに名前を変更)保存させる事って出来ます?
>>788 JSじゃできなそうな気ガス。他ならすぐできる。
790 :
Name_Not_Found:2006/06/22(木) 14:58:32 ID:1uaek1Ls
すみません。ちょっと、教えて下さい。WebProg板から誘導されてきました。JavaScriptでcheckNumberという関数を作り、
これで、複数(!)のテキストボックスで使用したいのです。たとえば、
<SCRIPT LANGUAGE="JavaScript">
function checkNumber(numberName){
if(numberName.search(/[0-9]/) != -1){
alert("数字以外を入れて");
return false;
}
}
</SCRIPT>
<FORM name="form1" ACTION="js1.html" METHOD="post" onsubmit="return checkNumber(personName.value); checkNumber(companyName.value); checkNumber(jobName.value);">
氏名<INPUT type="text" name="personName">
会社名<INPUT type="text" name="companyName">
職業<INPUT type="text" name="jobName">
<INPUT TYPE="submit" VALUE="行けっ">
</FORM>
のように作ると、「氏名」の数字チェックは出来るのですが、「会社名」や「職業」のチェックは出来ません。もちろん、
checkNumberの内側に「document.form1.companyName.value.search(/[0-9]/) != -1」
「document.form1.jobName.value.search(/[0-9]/) != -1」と書けば出来るのですが、将来的にはこれを、複数(!)のhtml
ファイルから呼び出せるようにしたいので、「引数」だけ変えて作りたいのです。「引数」だけ変えれば、複数(!)のhtml
ファイルで呼び出せるような関数の作り方を教えて頂けますでしょうか。宜しくお願いします。
言いたいことありすぎてめんどくさいからパス
とりあえず
>>3 の A7 よめよ
>>790 onsubmit内で
return checkNumber(personName.value);
ってなってるから、後の処理は実行されない。
セミコロンじゃなくて&&で繋げれば一応チェックはできる。
(入力が正しいときcheckNumberがtrueを返すようにすること)
もしくは、checkNumberが引数を複数取れたら便利かもしれない。
ついでに言っておくと、数字がひとつでも入っていたらNGっていう仕様はどうかと思う
function getElementsByClassName(class_name){
// クラスがclass_nameな要素のコレクションを返す
}
function checkNumber(){
var objs = getElementsByClassName("number");
var flag = true;
for(var i=0 ; i<objs.length ; i++){
if(!objes[i].value) continue;
if(objs[i].value.search(/[0-9]/) != -1){
frag = false;
// その他の希望する処理を書く
}
}
return flag;
}
<FORM onsubmit="return checkNumber();">
氏名<INPUT type="text" name="personName" class="number">
会社名<INPUT type="text" name="companyName">
職業<INPUT type="text" name="jobName" class="number">
<INPUT TYPE="submit" VALUE="行けっ">
</FORM>
checkNumberしたいモノだけクラスにnumberと書く。
脳内ブラウザでしか確認していないから間違いがあると思う。
>>790 コードが厨房すぎて相手にする気にならんのだよなー。
function checkNumber(formName, elemName) {
if(document.forms[formName].elements[elemName].value.search(/[0-9]/) != -1){
alert("数字以外を入れて"); return false;
}
return true;
}
ってか search() ってはじめて見たw
いつも match か indexOf だったわ
796 :
Name_Not_Found:2006/06/22(木) 16:01:03 ID:9n72i6nd
<div> <table><tbody><tr><td></td></tr></tbody></table> </div>
この構成でなぜかDiv範囲内にあるtableにカーソルが入ると
divのmouseoutが出てしまいます。
divの枠からのマウスアウトのイベントを拾いたいんですが、方法はあるんでしょうか。
>>775 thxです。
いろいろ試したんですが、divのmouseoutが一番先に発動するようで
なんともしがたいです。
テーブルのマウスアウトにする
799 :
Name_Not_Found:2006/06/22(木) 23:48:28 ID:OHbAaKSx
1. 3を4で割った答えと余りを整数で答えなさい.
2. 3a=(3/2)b+c の等式を bについての等式に変形しなさい.
3. 数字だけを組み合わせて作る4桁の暗証番号は全部で何通りできますか?
4.キーボードから正の数を次々と入力し,0が来たら,それまで入力した数の最大値,最小値,
平均値を出力するプログラムを書きなさい.
教えてください。。HTML使ってます。
宿題は自分の力でやりなよw
ほとんどJavaScript関係なくね?
,--、
| \ 餌4つ
| \ ○ 1匹くらいかかるだろ・・・
| \v)
| ∧/
| | ̄~ ̄~~~~ ̄
| /
~~~~~~~~~~~~~~~~~~~~~~~
/゛、
/ ゛、
___/__ j
( ゚Д゚)
(l 釣 つ
(/~U
お、2匹引いたぞ・・・そらっ、食い付け
804 :
Name_Not_Found:2006/06/23(金) 00:43:36 ID:OlMfpkMJ
JavaScriptでRPGを作っているのですが、
BGのスクロールでつまずいています。
今は32x32の画像にひとつひとつIDを振って
すべてのIDに対して移動をさせているのですが、
ものすごく動作が重くなってしまいます。
というわけですべてのBGを一つのIDにまとめて
そのIDをスクロールさせるなら軽くなるのかなーと
思っているのですが、そのようなことは可能でしょうか?
できれば、具体的な例があるとありがたいです。
>>804 画像はいくつあってそれはどういう風に配置されているのかとか
説明してくれないと。
806 :
Name_Not_Found:2006/06/23(金) 01:38:37 ID:NniLSHTE
<body onunload="GUnload()">
<div id="map" style="width: 800px; height: 500px"></div>
<div id="sidebar"></div>
<script type="text/javascript" src="map.js"></script>
</body>
では動くのに
<body onunload="GUnload()">
<script type="text/javascript" src="map.js"></script>
<div id="map" style="width: 800px; height: 500px"></div>
<div id="sidebar"></div>
<br />
</body>
で動かないのはなぜ・・・?
807 :
Name_Not_Found:2006/06/23(金) 01:39:55 ID:NniLSHTE
map.jsは
if (GBrowserIsCompatible()) {
// this variable will collect the html which will eventualkly be placed in the sidebar
var sidebar_html = "";
// arrays to hold copies of the markers and html used by the sidebar
// because the function closure trick doesnt work there
var gmarkers = [];
var htmls = [];
var i = 0;
// A function to create the marker and set up the event window
function createMarker(point,name,html) {
var marker = new GMarker(point);
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml(html);
});
// save the info we need to use later for the sidebar
gmarkers[i] = marker;
htmls[i] = html;
// add a line to the sidebar html
sidebar_html += '<a href="javascript:myclick(' + i + ')">' + name + '</a><br>';
i++;
return marker;
}
808 :
Name_Not_Found:2006/06/23(金) 01:40:48 ID:NniLSHTE
// This function picks up the click and opens the corresponding info window
function myclick(i) {
gmarkers[i].openInfoWindowHtml(htmls[i]);
}
// create the map
var map = new GMap2(document.getElementById("map"));
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
map.setCenter(new GLatLng( 43.907787,-79.359741), 8);
// add the points
var point = new GLatLng(43.65654,-79.90138);
var marker = createMarker(point,"This place","Some stuff to display in the<br>First Info Window")
map.addOverlay(marker);
var point = new GLatLng(43.91892,-78.89231);
var marker = createMarker(point,"That place","Some stuff to display in the<br>Second Info Window")
map.addOverlay(marker);
var point = new GLatLng(43.82589,-78.89231);
var marker = createMarker(point,"The other place","Some stuff to display in the<br>Third Info Window")
map.addOverlay(marker);
// put the assembled sidebar_html contents into the sidebar div
document.getElementById("sidebar").innerHTML = sidebar_html;
}
else {
alert("Sorry, the Google Maps API is not compatible with this browser");
}
です。おねがいします。
810 :
Name_Not_Found:2006/06/23(金) 02:07:58 ID:NniLSHTE
>>799 1.
var Division=Math.round(3/4); //3を4で割って整数に四捨五入した数
var surplus=Math.round(3%4); //3を4で余剰した数
/*アラートで出力*/
alert("3を4で割った答えは"+Division+"です。\n余りは"+surplus+"です。");
2.
b=(3a-c)*(3/2)
3.
10*10*10*10=1万通り
812 :
799:2006/06/23(金) 06:13:45 ID:???
, -‐−-、 ヽ∧∧∧ // |
. /////_ハ ヽ< 釣れた!> ハ
レ//j け ,fjlリ / ∨∨V ヽ h. ゚l;←1
ハイイト、"ヮノハ // |::: j 。
/⌒ヽヾ'リ、 // ヾ、≦ '
. { j`ー' ハ // ヽ∧∧∧∧∧∧∨/
k〜'l レヘ. ,r'ス < 初めてなのに >
| ヽ \ ト、 ヽ-kヾソ < 釣れちゃった!>
. l \ `ー‐ゝ-〈/´ / ∨∨∨∨∨∨ヽ
l `ー-、___ノ
ハ ´ ̄` 〈/‐-、
>>807-808 ソース1行も読んでないけど、どうせHTML内で要素が設定される前に要素読もうとでもしてんじゃねーの。
onload 後にやりない。
>>812 レスつまんなす。
>>811 はそんなこと知っててやってあげたんだろうからもっと広げれ。
816 :
812:2006/06/23(金) 08:58:14 ID:???
811です。81が消えたorz....もうこの話題どうでもいいです。以後スルーで。
はあ
818 :
Name_Not_Found:2006/06/23(金) 12:35:29 ID:TQznXT63
いちばん優雅なJavaScriptのコードを教えてください。
819 :
Name_Not_Found:2006/06/23(金) 12:45:35 ID:NniLSHTE
for(var i=0;i<10000;i++){
alert("mamuko");
}
820 :
大某:2006/06/23(金) 12:48:35 ID:NniLSHTE
>>813 なるほど、ためしてみます。ありがとうございます。
日本は残念でしたね。3点目がはいったと同時にねてしまいました^^
>>820 そんな残念じゃないよw
勝敗を予想するJavaScript作って試したら日本が2点差つけて勝つ確率なんて0.1%もなかったしね。
ジーコ監督カワイソスだったけど。
>>821 その大甘予想スクリプト公開よろ。確率は0.00001%未満と思我。
off-topicですまんが、ジーコに同情なんて禁物かも。
1993年の鹿島入団以来13年も日本で仕事をしているのに、未だに「アリガトウ」くら
いしか日本語を覚えようとしない(本命は欧州での監督人生らしい)。
この4年間ジーコと彼のファミリーに破格の待遇で報酬として注ぎ込んだカネは20億円。
W杯予選最下位で一番悔しがっているのは欧州に自分を売り込めなくなったジーコ
自身かも知れない。
我爱你
>>822 ヒント:実は結構喋れるけどネイティブに比べたら全然下手。
中途半端な日本語を人前でさらすのが、ジーコは耐えられない。
>>822 言葉の機微を伝えられないから
public なコメントには必ず通訳を通すようにしていると聞いた
826 :
Name_Not_Found:2006/06/23(金) 16:04:16 ID:3YEvW2Je
「画像と文字を、2秒後に変える」ということを行いたいのですが、
うまくいきません。
(画像:close_eye.gif→open_eye.gif
テキスト:あああああああ→いいいいいいい)
自分的に問題点は、「画像を変えるの処理に、文字を変える処理が上書きされてしいる」
ことだと思うのですが。。。
どうすればうまくいくか教えてください。
827 :
Name_Not_Found:2006/06/23(金) 16:05:18 ID:3YEvW2Je
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"
http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<title>JS課題</title>
<script language="JavaScript">
<!--
var Cnt_mono = 2; // 画像(テキスト)の数
var Cnt_now = 0; // 現在表示している番号
//画像切り替え
function Change(){
Gazou = new Array(
"images/close_eye.gif",
"images/open_eye.gif"
);
if (Cnt_now != Cnt_mono){ // 最後の画像まで表示していないのなら
document.myFormImg.src = Gazou[Cnt_now]; // 画像を表示する
Cnt_now++;
}
}
828 :
Name_Not_Found:2006/06/23(金) 16:05:57 ID:3YEvW2Je
//文字切り替え
function Changetext(){
moji = new Array();
moji[0]="あああああああああああ";
moji[1]="いいいいいいいいいいい";
if (Cnt_now != Cnt_mono){
document.write(moji[Cnt_now]);
Cnt_now++;
}
}
//時間
function start(){
setTimeout( "Change()",2000 );
setTimeout( "Changetext()",2000 );
}
// --></script>
</head>
829 :
Name_Not_Found:2006/06/23(金) 16:07:10 ID:3YEvW2Je
<body>
<img src="close_eye.gif" width="70" height="120" name="myFormImg">
<script language="JavaScript"><!--
Change();
Changetext();
// --></script>
</body>
</html>
>>826-829 Cnt_nowを2箇所で増やすのはまずいのでは。もしそうやりたいの
なら画像用と文字用で別の変数にすればいいかと。
ようわからんが、
setTimeout( "Change(); Changetext()",2000 );
とか
setTimeout(function () { Change(); Changetext()}, 2000 );
じゃあかんの?
ごめん全然見てなくて的を得てない (なぜか変換できた
start() はどこから呼ばれるの?
それから内容を差し替えるときに document.write() は使えない
>>3 Q3
誰かから的を貰ったんだよ きっと
836 :
Name_Not_Found:2006/06/23(金) 17:41:26 ID:qQeKTCNn
すみません、質問させてください。
WINのIE6のインターネットオプションの詳細設定で「スクリプト エラーごとに通知を表示」にすると
以下の部分で 「エラー オブジェクトを指定してください」と出るのですが、
以下のjavascriptはそもそも何のために必要なのでしょうか?
また、この部分を勝手に削除してしまっても大丈夫でしょうか?
どうぞ宜しくお願い致します。。
<script type="text/javascript">
<!--
call_css('');
//-->
</script>
>>836 call_css()を使わないなら消してもいい。
838 :
836:2006/06/23(金) 18:13:56 ID:???
早速ありがとうございます。
ただ、削除しないで済むならその方がベターなのですが、
この部分で考えられるエラーの原因って何かわかりますでしょうか?
すみませんがどうぞ宜しくお願いします。
そんな基本的な原因も解らなかった奴に向かって
「call_css() がないから」 なんて言っても理解されないと思う。
>>838 <head>
〜<meta> とか
<script type="text/javascript">function call_css(){}</script>
〜
</head>
って書けばいいと思うよ! あとで call_css がでてきたら勝手にオーバーライドするだろうし! だからもうかえってよし!
842 :
836:2006/06/23(金) 18:45:12 ID:???
短時間に多くのレスありがとうございます。
正直なところ理解できませんでしたので、、しばらくググって勉強させて頂きます。
843 :
Name_Not_Found:2006/06/24(土) 09:01:17 ID:tpUDfOCr
質問です。
if(p==1)alert('q_'+1);
if(p==2)alert('q_'+2);
if(p==3)alert('q_'+3);
........
........
if(p==3)alert('q_'+10);
というコードをまとめたいと思い、次のようにしました。
s='';
for(n=1;n<=10;n++){
s += if(p==n)alert(n);
}
document.writeln('<script>')
document.writeln(s)
document.writeln('<\/script>')
しかし、構文エラーになってしまいます。
どうやったら、まとめられるのでしょうか。
844 :
843:2006/06/24(土) 09:03:34 ID:tpUDfOCr
書き間違えました。
s += if(p==n)alert(n);
は
s += if(p==n)alert('q_'+n);
です。ごめんなさい。
845 :
843:2006/06/24(土) 09:05:36 ID:tpUDfOCr
あ、もうイヤだ。
if(p==1)alert('q_'+1);
if(p==2)alert('q_'+2);
if(p==3)alert('q_'+3);
........
........
if(p==10)alert('q_'+10);
です。最後の行が違ってました。
> s += if(p==n)alert('q_'+n);
これは s に何を入れようとしてんの?w 読めねえ・・・
847 :
Name_Not_Found:2006/06/24(土) 11:32:06 ID:3IfEQpjX
s='';
for(n=1;n<=10;n++){
s += "if(p=="+n+")alert(q_"+n+");";
}
document.writeln('<script>');
document.writeln(s);
document.writeln('<\/script>');
>>845 if(1 <= p && p <= 10 && Math.floor(p) == p) alert('q_' + p);
たかがこんなことでscriptのwriteなんかしてもトラブル満載に
なるだけだと思うよ。
子窓を出すコードで、
window.open('x.html',null,'width=200,height=200')
のような書き方を見たのですが、子窓名をなしにする場合、nullと書
くのは正しいのでしょうか。いつもは「''」と空白を指定していました。
>>849 '_blank' とかを指定するのはよくないの?
852 :
Name_Not_Found:2006/06/25(日) 08:31:31 ID:HvV7ArX0
はじめまして。
テキストボックスに予め入力してあるテキストがあって
<input type=text name=xxxx value="ほにゃらら">
これを書き直そうとすると、「ほんとにいいですか?」っていうメッセージを
アラートで出したいのですが、これはどう書けば良いのでしょう?
うざいから却下
>>852 onkeydown="alert('ほんとにいいですか?');"
855 :
Name_Not_Found:2006/06/25(日) 08:50:57 ID:HvV7ArX0
>854
onBlurでやってみます。ありがとうございました
>852は何しに来たんだろう
てか、OK押した後が見ものだよなw
858 :
Name_Not_Found:2006/06/25(日) 10:00:23 ID:YqcMj20m
質問です。
音声合成ができて喋るWinXPなのですが、Javascriptを使ってスクリプト内に記述したテキストを読み上げさせることは可能でしょうか。
このスレも残り少なくなってきた。充実した質疑を期待する。
このスレのMVP(Most Valuable Programming)は
>>450関連のみ。
これがなければ、このスレはこれまでのところクズだ。
>>450 の件そんなよかったっけw
ちなみに前スレとか前前スレとかのMVPはどれなん?
>>450 がベストっていうのはその選定者のレベルが伺い知れるよな。
このスレは(今のところ)ホレ氏の回答も無いし、糞質問だらけだった
ということでは。ところで過去スレ全集が空っぽなんだけど…
ところで JS だけで 37KB ってサイズでかすぎ ?
(れすぽんすの ていか がぁ〜)
何作ったらそんなに・・・
と思いきや自分の作った最大のやつも25kbありました。テヘ。
ものによるんじゃねw コストパフォーマンスっていうか。
>>863 1. h2, h3 の innerHTML を読み取って Headline List 自動生成.
2. 操作ボタン自動生成 <- {title attribute 設定, 状態を色で表示}
3. hash 付きのリンク部以外を隠して表示.
4. 関連ファイルリスト自動生成 <- すべてのファイルに同一の Navigation !!!
setAttribute('onclick','~') の動作が変なので
inline statement 風にゴリ押ししたら ブクブクと...
無駄が多いと知りつつも き,きりょくがぁ〜.
お前はくるな。
nullと先生は放置が基本ですよ
>>864 うるさい。どうでもいい雑談やめてくれ。レスの無駄使いだ。
30Kとか40Kとかヘでもないだろ。このスレ「全部」だと300Kもあるぞ。
そんなことより鮫の話しようぜ
prototype.js は約54KB、他に併用するものも考慮すると100KB近くなる。
Google Maps API とかもファイルサイズは大きいんじゃないかな
俺は必要がなければ<HEAD>内で外部JS呼ばないで</BODY>近くで読み込みしてる。
それによってレスポンス向上したように感じさせることができるし
onloadからつっこめば
<body onload="document.write('<script type=\'text/javascript\' src=\'test.js\'>');">
>>871 試してないけど、それでは意図どおりの結果にならない
874 :
Name_Not_Found:2006/06/25(日) 21:45:02 ID:LPqTVIl3
入力された文字をUnicodeの数値にするスクリプトを組んでいます。
var str= "〜";
str.charCodeAt(0)でアウトプットするのですが、
40853以降の文字がIEとSafariでは数値が変わってしまいます。
これをどうにか回避したいのですが、(UAの条件分岐も含む)
SafariのJavaの処理がよくわからなく、65533を返したりある程度それっぽい数値を出したり(でもIEとは数値が違う)で困っています。
これはもう各ブラウザの仕様であきらめるしかないのでしょうか‥?
稼働確認環境はWinXP IE6,Mac OS X Safari 2.0.3(W.K=417.8)です。
すみません。書き方が悪かったようです。
"SafariのJavascriptの処理"についてです。
とりあえず番号が違う文字を教えてみれ。
Java? 考える気が失せた。
>>874 > 65533を返したり(略)
これを見る限りSafariはバグっている。
もし、encodeURI( ) で正確な値に変換されるなら、それはUTF-8の3バイトだから、
function cp(t) {
var bs = encodeURI(t).match(/[^%]{2}/g);
return parseInt(parseInt(bs[0], 16).toString(2).substring(4)
+ parseInt(bs[1], 16).toString(2).substring(2)
+ parseInt(bs[2], 16).toString(2).substring(2),
2);
}
みたいなかんじでできる。
JavaScriptをJavaと書いたぐらいでいちいち文句言う奴ってなんなの?
答えるついでにちょっと言うだけでいいじゃん
もう少し寛容さを持とうぜ
>>880 常駐してるボンクラどものレベルは数十キロバイトだ。
要するに、テキストファイルのバイト列を扱うためのテーブルを作った事も無いのが判る。
Prototype.jsとかの塵スクリプトを使えて喜んでいる程度の初心者だ。
だから相手にするな。
>>880==
>>874 //true
まずだ、寝ぼけてても酩酊してても、分かっている人間なら、
JavaScriptをJavaと間違えて書くことは、100%ないと断言できる。
要するにヴォケに用はないということなんだ。わかる?
俺が最近感動したスクリプトのソースは61kだった。
そこそこしっかりしたソースはそれくらいになるのかな。
>>1 を読まないで質問したら罵倒されるってだけのことさ。
65535はまあバグだろうけど、それっぽいけど違う値という
のはちょっと興味あるね。
885 :
880:2006/06/25(日) 23:51:11 ID:???
>>882 俺は874じゃないよ。
初心者もいるんだし、分かってない人間を排除してしまうのはどうかと思う
>>884 別に罵倒する必要なんて無いと思うんだ
見てて煩わしいし
何回も出てる話題だけど、
>>1 も読まない奴は排除していいと思ってる。
罵倒されてそれから読むようになればそれでいいじゃん。優しくとか
やってると厨房だらけになるからそれは嫌だね。初心者が悪いって
わけじゃない。学習する気のない奴はいらんってだけ。
887 :
874:2006/06/26(月) 02:41:54 ID:???
ありがとうございます。
おかしくなる文字はUnicode 40853以降の文字すべてです。
私用区域内では65533になったり、IEの数値から少しずれた感じのものだったりです。
>>879さんのやり方を試してみようと思います。
はじめに"SafariのJavaの処理がよくわからない"と書いたのは、
Javascriptは内部でjavaを呼んでいると勘違いをしていたからです。
書き込みをみて、改めてJavascriptとjavaに直接的な互換性がないことを知りました。
すみませんでした。
>>887 洩れは「具体的にどの字が」おかしいか聴いている。IEと同じでなければ
「おかしい」というのは変だろ?IEがおかしいのかも知れない。私用区域
に何のあるの?普通そのあたりで日本人に関係のある文字というのは全角
英数記号と「¥」くらいだよな。実験してみたが、Safariでは全角英数記号
は対応するASCIIのコードを返すようにできてるような気がする。
「おかしい」をちゃんと説明しろ。それができなければ帰れ。
889 :
874:2006/06/26(月) 10:29:40 ID:???
おかしいのは頭です。
ほらほら、こういうヤシなんだよ、所詮。まともに考えてない。
雑談はこれにて終了。
ついでに言っておくが「¥」で実験したらSafariでも正しい
UNICODEのコード0xffe5が返されたよ。もちろん40853より大きいし
IEともMozillaとも一致していた。だから40853より大きいのが
すべて「おかしい」ていうのは嘘だろ。あとはもう知らん。
とんだ時間の無駄使いをした。
function test() {
a = document.getElementById('hoge');
b = a.document.getElementsByTagName('ul');
alert(b.document.getElementsByTagName('li').length);
}
onload = test;
<div id="hoge">
<ul>
<li>test</li>
<li>test</li>
<li>test</li>
</ul>
</div>
これで、b.documentは云々のエラーがでるんだけど、どこおかしい?
どうしたらいい?
DOMって知ってる?
>>892 デタラメのヤマカンで書いているようにしか見えない。
ちゃんとreferenceと照合して存在しているメソッドや
プロパティを使うようにしろ。修行が足りなさすぎ!!!
とりあえず「a.document」「b.document」を「a」「b」
だけに直すんだろ、修行が済むまで2度と来るな。
function test() {
a = document.getElementById('hoge');
b = a.getElementsByTagName('ul');
alert(b.getElementsByTagName('li').length);
}
onload = test;
<div id="hoge">
<ul>
<li>test</li>
<li>test</li>
<li>test</li>
</ul>
</div>
今度はオブジェクトでサポートされていない云々が出ます。
896 :
874 ◆7c/hotxGFw :2006/06/26(月) 15:37:29 ID:zKJFLtfN
889は偽です。
http://rbox.sakura.ne.jp/ck.html ここにサンプル作ってみました。
各3文字のchaeCodeAtとUserAgentをdocument.writeで書き出します。
結果はIEが正確です。
文字はATOKの文字パレット->Unicodeの部分から抜粋しています。
文字詳細でUnicodeのhexをdecに戻して調べてみたところ、IEはすべて正確な値を出しています。
ちなみに今のSafariだと、
65533 : 65533 : 20102 : Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/417.9 (KHTML, like Gecko) Safari/417.8
と表示されます。IEでは
58645 : 59042 : 20102 : Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
です。
>>896 で、具体的にどの字がおかしいの?
ソース見たけどSJISで定義されていない文字が載っているだけだったよ。
(なぜSJISでソースを書いているのか理解できないけど)
>>896 ソースをUTF8で書かないと駄目なんじゃないの。
SJISで未定義の文字だったらそんなのうまくいく保証がないだろ。
>>895 エラーが出ましたじゃなく、ちょっとは自分の頭で考えろよ。
「a.getElementsByTagName('ul');」は配列(collection)を
返すんだから「b = a.getElementsByTagName('ul')[0];」
だろ。たのむから修行が済むまで2度と来ないでくれ。
ECMAScriptの内部エンコーディングはUTF18BEと仕様で決まっていた、気がする(それともUnicodeだっけ)。
少なくともJavaScriptの実装はUTF16BE。なのでUTF16にマッピングできない文字に関しては未定義の結果になって
俺の直感的にはおかしくないんだけど、何をもって「Safariは正確でない」と言っているのかさっぱりわからん。
macのIEでspliceがエラーになりますが、みなさんはどうされてますか?
2度と来るなといったろ。帰れ。アンタにはJavaScriptは無理なんだろ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test() {
a = document.getElementById('hoge');
b = a.getElementsByTagName('ul')[0];
alert(b.getElementsByTagName('li').length);
}
onload = test;
</script>
</head><body>
<div id="hoge">
<ul>
<li>test</li>
<li>test</li>
<li>test</li>
</ul>
</div>
</body></html>
口は悪くても優しいんだね。
ほれ氏、意外と口が悪いらしい
なぜかソースの保存がSJISになっていました。。
ご迷惑をおかけしました。
おいおい…脱力。まあ、そんな状態でも無理矢理つじつま合わせる
IEの犠牲になったと言うべきなんだろうな。
Safariがおかしいのではなく、IEがおかしい(おかしいわけではないかもしれないけど)のですね。。
JavascriptでSJISやUJISの文字をUTF-8にする関数とかあるのでしょうか?
仮にさっきの場合だったらSJIS->UTF-8に変換->その文字をcharCodeAtでできる気がしたので‥
ちなみに今は無事UTF-8で動作しています。
だから、おかしいのはお前の頭だって
>>908 あのね、ある文字がUNICODEにはあるけどSJISにない場合、
つまりSJISの規格(文字集合)にその文字が存在しない場合、
そういう文字を含んだファイルを無理矢理SJISに変換すると
どうなると思う?たとえば中国漢字とかハングルとかさ。
どうなると思う? 変換できないことを表す「?」とか「65535」
とかにされてしまっても不思議ではないだろ?それともどう
なるかアンタには説明できるのか?
>>908 IEおかしくないって、なんで理解できないのかな
JavaScriptの内部エンコーディングはUTF16BEだから、それに固定なの!
UTF-8なりSJISなりに変更したいなら自分でやればいいけど基本的に全く無意味!
なぜならブラウザが勝手につじつまをあわせてくれるから!
死ね
>>911 > 変更したいなら自分でやればいいけど基本的に全く無意味
そだね。
前に「JavaScriptで文字コード変換」を頼まれて、
サーバサイドスクリプトに文字列渡して変換させて受け取る仕様で作ったことあるけど、
その後、あんまり使い道ないなあ。
下記のjavascriptをHTML内に書くとうまく動作するのですが、外部ファイルで読み込むと動作しません。
このまま外部ファイルに書いているのですが、外部ファイルで使うときは何処か直さなければいけないのでしょうか?
ご教授お願いします。
function getCookie(obj,cookiename){
var i,str; c = new Array(); p = new Array("",""); str = document.cookie;c = str.split(";");
for (i = 0; i < c.length; i++) { if (c[i].indexOf(cookiename+"=") >= 0) { p = (c[i].substr(c[i].indexOf("=")+1)).split("<>"); break; }}
if(cookiename == "SN_UPLOAD"){ obj.pass.value = unescape(p[0]);$postval }
else if(cookiename == "SN_DEL"){ obj.delpass.value = unescape(p[0]);}
return true;
}
$postval ってなに
>>914 見落としていましたorz
それが原因で動作してなかったみたいです。
有り難うございました。
>>915 エラー出てただろ。エラーの位置と内容が報告できるように
なるまでは2度と来ないでくれ。
むしろお前が来るな
オマエモナー
なんでここはこんなに喧嘩腰の人が多いんですか?
教えてください><
まあ、すげえ厨な質問ぶつけてくる人もいるから、バランスとれてるんじゃねw
すいません。
下記はDHTML&JavaScriptクックブックに載っている
オブジェクトを文字列に変換する関数です。
ここで、オブジェクトの要素を順番に取り出して、
もしそれがオブジェクトなら再帰的に呼び出す処理をするところで
もし、そのオブジェクトがに添字[0]で呼び出した結果がtrueなら
配列を文字列に変換する関数を呼び出しています。
でも、オブジェクトの中身の要素が配列ではなく、オブジェクトでも
添字[0]は成立するように思いますが、なぜですか?
924 :
更紗 ◆SARAHxmkr. :2006/06/27(火) 19:03:16 ID:mCvys6tG
function object2STRing(obj) {
var val, output = "";
if (obj) {
output += "{";
for (var i in obj) {
val = obj[i];
switch (typeof val) {
case ("object"):
if (val[0]) {
output += i + ":" + array2STRing(val) + ",";
} else {
output += i + ":" + object2STRing(val) + ",";
}
break;
case ("sTRing"):
output += i + ":'" + escape(val) + "',";
break;
default:
output += i + ":" + val + ",";
}
}
output = output.subsTRing(0, output.length-1) + "}";
}
return output;
}
function array2STRing(array) {
var output = "";
if (array) {
以下、配列に変換するコードが続く
925 :
Name_Not_Found:2006/06/27(火) 19:04:21 ID:R4seB+MF
thicboxという画像表示スクリプト(
http://jquery.com/demo/thickbox/)を
ヘッダー部分にて外部ファイルから読み込ませ使用しています。
Google Adsenseより後ろで使用した場合、この挙動がおかしくなってしまいます。
(Win IE6では最初のクリックではスクリプトが動作せず、戻って改めてクリックすると動作。
Win FF1.5では全く動作しない)
原因、対処方法などございましたら教えてください。
926 :
更紗 ◆SARAHxmkr. :2006/06/27(火) 19:12:12 ID:mCvys6tG
すいません・・・・おもいっきり私が勘違いしてました。
オブジェクト内にアクセスするのにObject[0]という構文は
JavaScriptで使えないんですね。
なんか、とぼけたレスでスレを汚してしまい、
大変申し訳ありません。
>>926 var x = {abc : "abc"};
alert(x[0])
とはできないけど
var x = {"0" : "abc"}
alert(x[0]) //abc
とはできるよ
だから配列かどうかチェックするならinstanceof使って
if(obj instanceof Array)〜
の方がいいと思う
a = {
0:"い",
1:"ろ",
2:"は",
3:"に",
4:"ほ",
5:"へ",
6:"と"
}
これで配列が作れるなw
>>927 なるほど、オブジェクトも配列もJavaScriptでは
ほぼ同じように扱えんでしたっけ。勉強になります。
ありがとうございます
配列は Arrayオブジェクト だもんな。
931 :
Name_Not_Found:2006/06/28(水) 15:26:13 ID:VjJAr/r9
初歩的な質問ですみません。
ツリーメニューと折りたたみメニューの違いを教えて下さい。
>>931 「ツリーメニュー」「折りたたみメニュー」とやらの
用語を説明してくれんとわからん
説明できたのならそれが答えだ
【ツリーメニュー】
root
├menu1
│├sub1
│├sub2
│└sub3
└menu2
├sub1
├sub2
└sub3
【折りたたみメニュー】
┌───┐ ┌───┐
│ menu1 | │ menu2 |
├───┤ ├───┤
│ sub1 | │ sub1 |
│ sub2 | │ sub2 |
│ sub3 | │ sub3 |
└───┘ └───┘
ツリーメニューと言うのは、正にその名の通り「釣り」メニューな訳よ
煽って、スカして、釣り上げる
その場を荒らして行くだけなんだよね
おりたたみってのはその逆で、荒れた場を折り畳むように治める訳だ
自分で釣って治める、おりたたみツリーメニューってのもあるからチェックしとけ
座蒲団全部取れ。
釣だな。天気もいいし。
937 :
Name_Not_Found:2006/06/28(水) 21:36:06 ID:lPUbHOu+
Firefoxで、
function subjectFunction(event){
alert('subject');
}
function proxyFunction(event){
alert('proxy');
this.removeEventListener('mouseover',proxyFunction,false);
this.addEventListener('mouseover',subjectFunction,false);
this.dispatchEvent(event);
}
//<span id="foo">test</span>
var el = document.getElementById('foo');
el.addEventListener('mouseover',proxyFunction,false);
が動かないのはなんで?
Exception... "Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIDOMEventTarget.dispatchEvent]"
ってエラーが出る。
938 :
Name_Not_Found:2006/06/29(木) 00:35:27 ID:Zg7tXSff
外部JavaScriptの呼び出し元の情報をしらべるのって
どうすればよいのでしょうか?
hoge.js
-----------
var id = ???????????;
alert(id+"から呼び出されました");
-----------
本文中
-----------
<head>
・・・
<script src="hoge.js" type="text/javascript" id="AAA"></script> --> 「AAAから呼び出されました。」
<script src="hoge.js" type="text/javascript" id="BBB"></script> --> 「BBBから呼び出されました。」
・・・
</head>
-----------
というのができるのかな?と。
どっちもhoge.jsから呼んでおいて、AAAからかBBBからかなんて分かるはず
ないじゃん
>>938 ホイ
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="
http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<title>呼び出し元のscript要素を識別</title>
<script id="AAA" type="text/javascript" src="identify-caller.js"></script>
<script id="BBB" type="text/javascript" src="identify-caller.js"></script>
</head>
<body>
<script id="CCC" type="text/javascript" src="identify-caller.js"></script>
<script id="DDD" type="text/javascript" src="identify-caller.js"></script>
</body>
</html>
//identify-caller.js
var scripts = document.getElementsByTagName("script");
var id = scripts[scripts.length - 1].getAttribute("id");
alert(id + "\u304b\u3089\u547c\u3073\u51fa\u3055\u308c\u307e\u3057\u305f");
IE 6、Opera 8.5では期待通り。
ただしFirefox 1.5ではhead要素内のscript要素がうまく取得できない。
(「AAA」「AAA」「CCC」「DDD」と表示される)
またFirefox 1.5ではXMLとして読み込ませるとうまくいかない。
(「AAA」「AAA」「AAA」「AAA」と表示される)
>>940 IEでも稀に上手く動かず、次のIDを拾うことがあるみたいです
BBB BBB CCC DDD
942 :
940:2006/06/29(木) 03:29:23 ID:???
別版
// identify-caller.js
function getLastElementOfType(tagName, refNode)
{
if (!(tagName instanceof RegExp))
tagName = new RegExp("^" + tagName + "$", "i");
refNode = refNode || document;
for (var i = refNode.childNodes.length; i--;) {
var child = refNode.childNodes[i];
if (child.nodeType != 1) continue;
if (tagName.test(child.tagName)) return child;
var descendant = getLastElementOfType(tagName, child);
if (descendant) return descendant;
}
return null;
}
alert("Called from " + getLastElementOfType("script").getAttribute("id"));
手元(WinXP)で試した限りではIE 6 SP2 (HTML)、Firefox 1.5.0.4 (HTML/XML)、Opera 8.54 (HTML)、Opera 9.00 (HTML/XML)でうまくいった。
(Opera 8.54でXMLとして読み込ませると「DDD」「DDD」「DDD」「DDD」となった)
ただ
>>941の報告もあることだし確実に取得するのは無理だと思う。
document.body.innerHTMLでも解析した方が確実じゃね?
新スレは975超えたら。テンプレの変更予定なし。
944 :
938:2006/06/29(木) 08:24:58 ID:Zg7tXSff
>940,941さんありがとうございました。
外部JavaScriptの動的ロードとくみあわせるとおもしろいかなとおもいました。
headじゃなくてbodyにいれると動作も安定しそうですね。
---------------
var gHandle;
function setEventQue(url,callback)
var dt = (new Date()).getTime();
var scriptEle = document.createElement('script');
scriptEle.charset = 'SHIFT_JIS';
scriptEle.src = url;
scriptEle.id = dt;
gHandle[dt] = handle;
document.body.appendChild(scriptEle);
}
function onComplete(data,id) {
var mFunction = gHandle[id];
mFunction(data);
}
function getLastElementOfType(tagName, refNode) {
・・・
}
---------------
foge.js
--------------
var id = getLastElementOfType("script").getAttribute("id");
onComplete('データ',id);
--------------
連続で同じデータを使ってAJAX風にしても、別の関数を割り付けられそう。
JavaScriptって実装の違いが大きすぎて、
ちゃんと理解してる人ってほとんどいないんじゃないか
と最近、思えてきた。
例えば、HTML領域内にあるインラインフレームの
大きさを調べるためにはW3CのDOMとIEの構文で
以下のようにプロパティへのアクセス方法が違うらしい。
Document.body.scrollHeight;
contentDocument.body.offsetHeight;
でも、私のみた限り、こういう構文の違いがある事を
ちゃんと説明してて、どの構文がどのブラウザに対応してるか
説明したサイトが、まったくといっていいほど見当たらない。
どうなってるんだ・・・
>>945 あんたが知らないだけだろ。そんなの常識もいいところだ。
>>946 そうなんですか、何か勉強になるサイトや書籍をお教え願えませんか?
自分はイベントモデルの違い程度までは分かりますが、それ以外の実装の
違いを調べたくても良いリファレンスがなくて困ってます
だいたいMSとGecko押えれば残りはだいたいどっちか
に合わせてるんだからその2つのサイトだけでいいんでは。
これらのreferenceはテンプレにあるよな。
>>949 ありがとうございます。
面倒でもやっぱりそうするしかないんですね。
2つずつみなきゃいけないのは、けっこう大変ですよね。
>>950 ありがとうございます。
そのサイトかなり詳しそうですね。
英語のなので時間がかかるかもしれませんが、じっくり読んでみます。
>>951 洩れはまず標準準拠でやってみて、駄目だったときに駄目な
ブラウザのreferenceを見るようにしてる。意外と駄目なこと
は少ないという印象。
NN4対応時代のことを考えれば、DOMによってかなり楽になった。いかんのは
あいかわらずM$IEの独自仕様だ。この協調性のない企業、何とかならんのか。
IE7 できっと丸く収まりますよ! ・・・きっと・・・
IE6までのシェアが十分減るのに10年掛かるんでは。今だって
IE5とか完全に現役だよな。
> IE5とか完全に現役
え?
NN4とIE4を参考に後付の仕様を勝手に決めたのがW3C。
むしろ、IE4用に書いた8年前のスクリプトがIE7ベータでも動くのは驚異の企業努力だろう。
OSでもたまに思うけど、MSの下位互換に対する執念はすさまじいよな。
無理やりケツを上げようとしても誰も上げないから、
新機能だけで引っ張り上げてる感じだな。
一方地デジは(ry
鉛筆を使った
Appleの下位切り捨ての容赦の無さも凄まじいよな。
ワロタ
963 :
Name_Not_Found:2006/06/29(木) 22:23:48 ID:rW+1HTK3
非常に困っていることがあります。
Googleアドセンスで表示したくないジャンルの広告があるのですが、
(Googleの提供するURLフィルタリングでは対応できない範囲)
javascript使用してキーワードでフィルタリングするのは実現可能ですか?
iframeの中のテキストなのでどうかな?と思ってるんですが
>>963 この場合 iframe 内は必然的に別ドメインになるのでその方法は無理
ブラウザが
ペアレンタルコントロール機能か user js 機能を持っていれば
何とかなるかも
もしくはプロクシ系でオミトロンとか
次スレは975超えたら。テンプレの変更はない予定。
あるHTMLがサーバ上に出現するまで、
しつこくリロードするコードがほしい。
while(1)
{
win=window.open( URL );
if win.status == OK then break;
else
sleep 1sec
}
こんな風。
具体的にはどうやろう。
open した Window のステータスってどうやってとるの?
xmlhttp
なにその迷惑スクリプト
田代砲?
ちがうよーん。
ある種の更新チェッカーみたいなの。
当然、sleep 1 じゃなくて、sleep 60 とかにする。
で、window.open したウインドウが、404かどうかって、
どうやって親ウィンドウが知るわけ?
つーか、よく考えたら、refresh tag + frame でもOKな気がするが、
いまやったら、404 ならジャンプせず戻ってくる、ということができないんだよな。。。
なんとかならないですかね。
とにかく、404ならやり直し、とかできればいいんですよ。
>>971 XMLHttpRequestを使えば問題なくできるよ。その勉強をしろ。
それでおしまい。勉強をしたくない場合、勉強しない奴には
これ以上言うことがない(帰れというしかない)からやっぱりおしまい。
>>971 更新チェックはサーバーサイドでやれば良い。
Ajaxが盛り上がったからって、わざわざJavaScriptを使う必要はない。
非効率的だと思う。
>>973 いや、サーバサイドでやったって更新されたときブラウザ画面が
更新できないでしょ。サーバの負荷に応じてチェック間隔を調整
してあれば別にいいんじゃないかな。
>>971 ところで別鯖をチェックしようとしてないだろうね。別鯖
だったらどうさか立ちしても無理だからね。
>>972 一行目だけで十分なのになんでだらだら書くの?
>>975 問題は便利さよりも、不便さ。
サーバー、クライアント両者にとってリクエストを一定間隔で行うのは無駄すぎる。
第一、更新したときに人がちょうどページにアクセスしている可能性は少ない。
そのためにJavaScriptを使うよりも、CGIからHTMLでも生成しとけば十分だし確実。
977 :
976:2006/06/30(金) 00:49:38 ID:???
訂正:975へじゃないな、974へのレスだった。
更新チェッカーならわざわざJavaScriptでやらずにperlあたりでやったらよくね?
げげ…洩れのプロバでスレ立てらんないな。誰か頼むよ。
971の人気に嫉妬
だいたい更新チェッカーって何?
田(ry