+ JavaScript の質問用スレッド vol.49 +
【質問を書く上で】
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/06/30(金) 12:22:40 ID:ZVznzLws
javascriptでid要素を拡大縮小して描画したいのですがうまくいきません。
複数の画像をレイヤーに重ねて表示して、それを同時に拡大縮小したいのです。
いい方法があれば教えてください。
>>9 id要素?
<id></id> ?
見たことねえ。
ようわからんが そのレイヤーとやらに id属性つけて、
document.getElementById(id).getElementsByTagName('IMG');
でIMG要素のリスト取ってきて、あとは for でループすればいいんでねーの?
12 :
Name_Not_Found:2006/06/30(金) 13:09:07 ID:mW7XSb4C
一日も早く、雅子が皇室から駆除されるを希求す。
皇太子の妻である雅子は、跡取りを作ろうとせず、精神病を装ってぐうたらな生活をし、
挙げ句の果てにはオランダで療養するときた。
バカ面の娘の授業参観に行く体力があるなら、夜な夜な励んで男を産め。
音楽会に出て行く暇があるなら、まじめに公務しろ。
皇太子が繁殖能力を有しているうちに、新しい皇太子妃を迎え入れなければ、
我が国の「天皇制」は根幹から揺るがされることになる。
この期に及んでも、雅子は、ありもしない色気を駆使して、
女性に免疫のない皇太子をたぶらかしたり、娘の養育を盾に取って、
お心優しい皇太子を言いくるめるなど、実に罪深い悪女である。
日本国民は、この歴史上最も怠惰な皇太子妃・雅子を徹底的に糾弾し、
一日も早く皇室から追放すべきである。
なお、この際、万が一、皇太子が雅子の肩を持って、我が国のあり方を脅かす場合、
皇太子も皇籍を剥奪し野に追放されることやむなしとする。
あんたも不敬罪やむなしとする。どこの誤爆?
いーんだよ別に、女帝で行くから。ただ、月経の女は立入り禁止の場
所が皇室には意外と多いらしくそういう制限を変えなきゃならんらしい。
14 :
9:2006/06/30(金) 16:02:35 ID:???
>>11 意味不明な書き込みにレスくださりありがとうございました。
各imgにlay0〜nのidをつけてループで動かそうというところまではたどり着いたのですが
for (i=0; i < document.getElementById("obj").getElementsByTagName('img').length; i++){
var layimg = 'lay'+i
layimg.width= w;
layimg.height= h;
}
とりあえず思い浮かんだとおり書いてみましたがこれでは動きません(;´д⊂)
オブジェクトの指定でどこがまずいのかご指摘お願いします_(._.)_
> var layimg = 'lay'+i
何これw これで動くと思ってるのがすごいな!
getElementsByTagName とかでぐぐれw
>>14 document.getElementById("obj").getElementsByTagName('img')
が何を返しているのか考えればすぐわかるよ。
ボタンを押すと画像が入れ替わるjavaについて質問です…
<SCRIPT language="javascript">
<!--
gazou=new Array();
gazou[0]=new Image();
gazou[0].src="image1.jpg";
gazou[1]=new Image();
gazou[1].src="image2.jpg";
-->
</SCRIPT>
ボタン(TABLE等は省略してます
<FORM>
<INPUT type="button" value="画像1" onclick='document.syasin.src="image1.jpg"'>
<INPUT type="button" value="画像2" onclick='document.syasin.src="image2.jpg"'>
</FORM>
としているのですが最初にページを開いた時、画像が表示される場所に×が表示されてしまいます。
ボタンを押せば画像は表示されるのですが…。
最初から画像を表示されるようにすればどうすればいいでしょうか。
document.getElementById('lay'+i)ってやってもいいんだっけ?
>>18 なんでできないと思うのか全然分からん。文字列連結したら文字列
ができて、それをパラメタにメソッド呼ぶのは普通だろ。
>>17 JavaScriptのことをjavaと呼ぶ奴は帰れ!
>>1を読んでないだろ。
その×が出る<img>要素に何か最初の画像を指定しとけ。
21 :
9:2006/06/30(金) 17:06:04 ID:???
皆さんありがとうございます。
おかげさまで意図するように動かすことができました。
23 :
Name_Not_Found:2006/07/01(土) 05:40:15 ID:7hHGNx6J
windowsを使っている者なんですが、JavaSctriptを埋め込んだHTMLファイルを作り、
これをmacの人に見てもらうおうと思っているのですが、そこで質問があります。
1.
例えば、このHTMLファイルをmacで見ると、文字化けしたりする恐れがありますか?
ファイル名は日本語を使わない方がいいのでしょうかね??
機種依存文字は、@などは知っているのですが、他にはどのようなものが
あるのでしょうか?
2.
このHTMLファイルは、macのOSのどのバージョン以上だったら、
動くでしょうか?(JavaScriptのヴァージョンは対応しているとして。)
macの人が見た場合、どういう不具合があるのかがぜんぜんわからないので、
ウィンドウズ⇔macの互換性についてなにか参考になるサイトがあればお教えください。
よろしくお願いします。
>>23 すごいものを埋め込んだなw
あんたの訊きたいことはすべてググればさがせる。自分では何もしないでも、
懇切丁寧に教えてくれるスレではない。ヤなら、そういう教えたがりのいる質
問板は他にいくつもあるのからそっちへ行け。
調べて疑問の点を質問すれば、ここの常連はスキルも高いしよく教えてくれる。
Windowsだろうと、もともとファイル名の日本語は
標準外(URIのRFCに含まれていない)ではなかったっけ?
しまった、またスレ立て時の名前が残っていたよ…
>>23 javascriptのことを質問する前にもっと知らなきゃいけないことが100年分
ぐらいあるな。
28 :
Name_Not_Found:2006/07/01(土) 10:24:29 ID:rB7RWiYu
>>23 実際に文字化けするか、どのヴァージョン以上だったら動くかは
そのHTMLを見ないとわからないので質問には答えられないと思います
あと、Mac OSならすべて同じブラウザを使っているわけではなく
Safari、Firefox、Opera、IEなど色々あるので
一概にOSのバージョンが何以上だったら動くよ、とはいえません
29 :
Name_Not_Found:2006/07/01(土) 12:29:36 ID:xi0G4L0R
内容がスレ違いだろ。ここで解答すな。初心者スレへ誘導しろ。
解答でageるんじゃない。シロートかよ!?
30 :
Name_Not_Found:2006/07/01(土) 12:40:31 ID:rB7RWiYu
回答者が素人
>>29 なんで解答でageちゃだめなの?
無意味なレスでageるのはいいの?
なんでもかんでもsage進行であるべきだとは思わないが、
ageて一番上にスレがあると厨が来やすいのも事実だから。
そんなん言われなくても理解できなきゃマは向いてないわ
>>34 バカかてめーはw
わざわざ、噛み付くおまえみたいなのが、厨を引き付けているんだろうが
36 :
34:2006/07/01(土) 14:05:15 ID:???
俺
>>34しかレスしてないから誰にも噛み付いてないです。
女の二の腕カミカミするのは大好き
37 :
Name_Not_Found:2006/07/01(土) 14:43:02 ID:VTgQWtbb
>>34 >厨が来やすい
関係なくね?
しかもそんなこと言ったら質問もsageなきゃだめじゃん
agesageなんてどーでもいいやん・・・
>>39 おまえもそのバカといい勝負してんじゃんww
そんなことより鮫の話しようぜ
一番の問題は
>>23の質問がHTMLの質問であること。
age/sageは勝手にしてくれ。
誰が何と言おうと俺はsage続けるだけ。
一番の問題って、
>>23の質問がなんで関係あるんだよ。
あげ、さげとか、おまえが騒いでるだけだろ。何が勝手にしてくれだよ
>誰が何と言おうと俺はsage続けるだけ。
勝手にさげてろよ糞
チャットを作っているのですが、
ボタンを押すと下のフレームを更新させたいのですがどうすれば良いですか?
ちなみにフレーム名は
上はtopFrame
下はmainFrameです。
window.top.mainFrame.location.reload();
46 :
44:2006/07/01(土) 21:39:27 ID:???
すみません、どなたかお答えいただければ嬉しいです。
チャットを作っているのですが、発言/リロードを押すと下のフレームもリロードさせたいのですが
どのようにすればうまく動作しますか?
上はtopFramem下はmainFrameです。
<script type="text/javascript">
<!--
function reload(){
parent.mainFrame.location.href='logpage.php';
}
-->
</script>
<input name="Submit" type="submit" id="Submit" value="発言/更新" onclick="reload()" />
PHPで、
if($_POST['Submit'] == "発言/更新"){
書き込み処理
}
このように記述しています。
テキスト欄に入力して発言をすると、ファイルにログが書き込まれフレームは更新されず、
空白の状態でボタンを押すと更新されます。
発言したうえで更新したいのですが、どのようにすれば良いのでしょうか?
48 :
44:2006/07/02(日) 02:48:54 ID:???
教えてもらえませんか?
教えてもらえません。
絶対に断る
>>48 php下質と同じような反応しかないと思うよ
姿勢の問題
他にもあちこち質問してんのかも知れんが
つーか、
>>45 で答えてもらってるのにどういうことだと問いたい。
もしかして onsubmit 使えよとかそういうこと?
マ板、ム板、WebProg、Web制作
板は違えど住人は同じ場合が多いからな、マルチはむりぽ
ほのぼの板のくだ質辺りにも出没してるぜ。
外部ドメインのJavaScriptファイルを読み込んで、
外部JavaScript内でクッキーを操作すると、
外部ドメインのクッキーとなりますか?
クッキーのドメインは変えられないだろ。変えられたら
セキュリティ上の大穴になりそうだしな。
どっちのドメインになるの?
JavaScriptソースがどっから来たかなんて「何にも」影響しない。
クッキーのドメインはそのクッキーに対応するdocumentのドメイン
と常に同じ。ともかく「変わらない」というだけ。
親ウィンドウの情報を子ウィンドウから取得する場合、
それができる限界についてお聞きします。
ちょっとした、簡易ポータル(リンク集)みたいなのを考えています。
window.open(_BLANK) (じゃなくても、とにかくなんでも)で、
新しいウィンドウを開くとします。
その場合、子ウィンドウから、window.parent.document.title とかで、
どこまで情報を読めますかね。
具体的にいうと、
・タイトル ( <title> sample </title> で指定できるもの)
・REF (つまり、親ウィンドウのURL)
この二つが読まれるとマズいんですよ・・・。
それとも、これを阻止するためには、JavaScript じゃなく、
「< a href target=blank >」じゃないとダメ?
>>63 どっちだって同じで、ドメインが違えば読めないし同じなら読める。
cellspacing/cellpaddingが0のテーブルを隙間無く並べて
擬似的にグリッドを演出しています。
テーブル自体はinnerHTMLで増やしたり減らしたりしていて、
増やすときは問題ないのですが、消したときに不自然なスペースが開いちゃいます
これってどうにかならないものでしょうか?
| ̄| ̄| ̄| ̄| ̄| ̄| ̄| ̄|
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
↓ 行(テーブル)を増やす
| ̄| ̄| ̄| ̄| ̄| ̄| ̄| ̄|
| ̄| ̄| ̄| ̄| ̄| ̄| ̄| ̄|
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
↓行を消す
| ̄| ̄| ̄| ̄| ̄| ̄| ̄| ̄|
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| ̄| ̄| ̄| ̄| ̄| ̄| ̄| ̄|
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
なぜか隙間が・・・
それだけじゃわからん
>>65 最小限のコードを貼れ。そうテンプレに書いてあるだろ?嫌なら帰れ。
68 :
65:2006/07/03(月) 17:30:54 ID:???
不甲斐なくてすみません○凹
IE6で以下をコピペhtmlで再現確認して貰えれば・・・
---------
<html><body>
<script>
function fnc_viewtable(){
var strhtml;
strhtml = "";
strhtml += "<table border=1>";
strhtml += "<tr><td>x</td><td>y</td><td>z</td></tr>";
strhtml += "</table>";
//テーブル表示
document.getElementById('viewhere').innerHTML = strhtml;
//onclick先変更
document.getElementById('viewbutton').innerHTML = "<button onclick=\"fnc_distable()\">bbb</button>";
}
function fnc_distable(){
//テーブル非表示
document.getElementById('viewhere').innerHTML = "";
//onclick先変更
document.getElementById('viewbutton').onclick = "fnc_viewtable()";
}
</script>
<table border=1><tr><td>aaa</td><td id="viewbutton"><button onclick="fnc_viewtable()">bbb</button></td><td>ccc</td></tr></table>
<div id="viewhere"></div>
<table border=1><tr><td>hhh</td><td>iii</td><td>jjj</td></tr></table>
</body></html>
>>68 その「馬鹿の1つ覚えinnerHTML」をやめれ。トラブルの素だろ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><title>???</title>
<script type="text/javascript">
function fnc_viewtable(){
document.getElementById('viewhere').style.display= "block";
document.getElementById('viewbutton').onclick= fnc_distable;
}
function fnc_distable(){
document.getElementById('viewhere').style.display = "none";
document.getElementById('viewbutton').onclick = fnc_viewtable;
}
</script>
</head><body>
<table border=1><tr><td>aaa</td><td><button id="viewbutton" onclick="fnc_viewtable()">bbb</button></td><td>ccc</td></tr></table>
<div id="viewhere" style="display:none"><table border=1><tr><td>x</td><td>y</td><td>z</td></tr></table></div>
<table border=1><tr><td>hhh</td><td>iii</td><td>jjj</td></tr></table>
</body></html>
見えなくするだけじゃダメだろ?
どうなんだろう。別にDOMで削除したり戻したりするのも
難しいわけじゃないけどね。まあ質問者のニーズ次第だな。
何度か既出だと思うが、DOM-HTMLのテーブルまわりのメソッドを使ってみれば?
75 :
Name_Not_Found:2006/07/03(月) 23:31:52 ID:950UWm57
function getCursorPos(e)
{
if(navigator.userAgent.search("Opera(\ |\/)6") != -1 )
{
return {x:e.clientX,y:e.clientY};
}
else if(document.all)
{
return {x:document.body.scrollLeft + event.clientX,y:document.body.scrollTop + event.clientY};
}
else if(document.layers ||document.getElementById)
{
return {x:e.pageX, y:e.pageY};
}
}
D ivのパネルをクリックした場所に表示させるようにしたんですが、スクロールさせてても
なぜかdocument.body.scrollLeftとdocument.body.scrollTopがゼロのままです。
どなたか原因がわかるかたいませんか。
>>75 さんざん既出だからもうちょっとぐぐるか
>>1 のまとめサイト行って検索して来い。
>>73 だからdivを見えかくれさせて中身はdivのinnerHTMLを
設定すればいいんじゃね?
>>77 そういうデータのリファクタリングをやる奴はいないだろ。
その変更は少なくとも、CSS、ビュー、モデル、に及ぶ。最悪だと分からないか?
グリッドレイアウトしたいんなら、
なんも考えずにrelativeな外箱にabsoluteな箱つめればいいのにと思うんだが、
それはそれで面倒か。
>>78 いや、元質問者のコード
>>68がdivのinnerHTMLを設定するように既に
なってたのでそれと
>>69を最小限の手間で混ぜるなら
>>77だろうと。
すみません、Javascriptを独学で始めて2日目のド素人です。
W.documentという名でテキストの出力フォームを作り
出力ボタンを押すとランダム生成された文章が出力フォームに表示される
スクリプトを作ったのですが、
出力ボタンをもう一度押すと、既に表示された文章の下に
再度ランダム生成された文章が表示されてしまいます。
出力フォームにある以前の表示結果を消去し、かつ新しい文字を表示するためには
どうやって出力フォームをクリア(空白化)すれば良いのでしょうか。
教科書も何もなく、ネットで調べても見当たらないので、
出力フォームのクリアの方法を是非教えてください。
W.document.before.value = "";や
W.document.result.value='';という行を
文章書き出しより前に置くと、ウィンドゥ内部が消えるのですが
今度はそれではなぜか文章自体が表示されなくなってしまいます。
どなたかご教授お願いします。
>>81 W.document.before なんて書き方どこで勉強したの?
getElementById でぐぐって、せめてそれ使うようにしなさい。 まずはそれから。
その後できなかったら、そのように動く"最低限のソース"を貼ること。
>>82 スクリプトを使った様々なサイトを回って
そこのソースを見て、使えそうなスクリプトを切り貼りして
試行錯誤した結果です。
ご教授ありがとうございます。早速調べる事にします。
>>83 そもそもそれがいけない。諦めなさい。
10年繰り返してもまともなコードは書けない。
初めまして。
Javascriptの二次元配列作成方法について教えてください。
配列の配列を作ればおk
java入れてrihno入れてMatrix使えwwwwwww
>>86 こんな感じで作るんでしょうかね?
TABLE=new Array(4)(3)
TABLE[0][0] = "初春";
TABLE[0][1] = "仲春";
TABLE[0][2] = "晩春";
TABLE[1][0] = "初夏";
TABLE[1][1] = "仲夏";
TABLE[1][2] = "晩夏";
…
TABLE[2][0] = "初秋";
…
TABLE[3][0] = "初冬";
それともこんな感じでしょうか?
TABLE=new Array()
TABLE[0] = HARU = new Array()
HARU[0] = "初春";
HARU[1] = "仲春";
HARU[2] = "晩春";
TABLE[1] = NATSU = new Array()
NATSU[0] = "初夏";
NATSU[1] = "仲夏";
NATSU[2] = "晩夏";
TABLE[2] = AKI = new Array()
…
>>88 それでもいいけど、それは全体を把握しにくい例。
TABLE = [
[
"初春",
"仲春",
"晩春"
],
・・・
[
"初冬",
"仲冬",
"晩冬"
]
];
var a = new Array();
a[0] = new Array("あ","い","う","え","お");
a[1] = new Array("か","き","く","け","こ");
a[2] = new Array("さ","し","す","せ","そ");
window.alert(a[1][3]); // け
>>90 おおーわかりやすい
是非使わせて頂きます
a = [["あ","い","う","え","お"],["か","き","く","け","こ"],["さ","し","す","せ","そ"]]
a=[[[[[]]]]]
{
default xml namespace = "";
const H =
<H>
<v><a>あ</a><i>い</i><u>う</u><e>え</e><o>お</o></v>
<k><a>か</a><i>き</i><u>く</u><e>け</e><o>こ</o></k>
<s><a>さ</a><i>し</i><u>す</u><e>せ</e><o>そ</o></s>
<t><a>た</a><i>ち</i><u>つ</u><e>て</e><o>と</o></t>
<n><a>な</a><i>に</i><u>ぬ</u><e>ね</e><o>の</o></n>
<h><a>は</a><i>ひ</i><u>ふ</u><e>へ</e><o>ほ</o></h>
<m><a>ま</a><i>み</i><u>む</u><e>め</e><o>も</o></m>
<y><a>や</a><i>い</i><u>ゆ</u><e>え</e><o>よ</o></y>
<r><a>ら</a><i>り</i><u>る</u><e>れ</e><o>ろ</o></r>
<w><a>わ</a><i>い</i><u>う</u><e>え</e><o>を</o></w>
<nn>ん</nn>
</H>;
}
alert("".concat(H.k.o, H.nn, H.n.i, H.t.i, H.h.a));// こんにちは
a=[[[[ ';゚Д゚']]]]
E4Xかしら
101 :
Name_Not_Found:2006/07/05(水) 06:27:18 ID:DcrSQT1R
JavaScriptの質問じゃないかもしれないけど、
GoogleMapsみたいにある枠の中だけで画像をスクロールさせたいのですが、
あの枠のつくり方ってどうやればいいですか?
>>101 CSS質問スレ行け。つうか、それのソース読め。
>>101 ホレ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var xpos = 0, ypos = 0;
function mov(dx, dy) {
var img = document.getElementById('i0');
img.style.left = (xpos += dx) + 'px'; img.style.top = (ypos += dy) + 'px';
}
</script>
</head><body>
<div>
<button onclick="mov(-5,0)">←</button><button onclick="mov(5,0)">→</button>
<button onclick="mov(0,5)">↓</button><button onclick="mov(0,-5)">↑</button>
</div>
<div style="width:100px;height:100px;overflow:hidden;border:solid blue 4px">
<img id="i0" src="t0.png" width="200" height="200" style="position:relative">
</div>
</body></html>
>>103 あきらかなスレ違いに回答しないで欲しい
ふつーJavaScriptで動かすとこと一体なんだからいいと思ってるけどね。
>>105 マウスでドラグしてみせたら許すとかね。
神経質な人だな
108 :
Name_Not_Found:2006/07/05(水) 19:57:12 ID:oI/Y9M2M
javascriptで簡単なタイピングゲームを作ろうと思っているのですが、どう組んでいいのか分かりません。
30程度の長文の中からランダムで5個取り出して打たせ、
結果表示にミス数と時間と総合的なランクを表示させたいのです。
自分が思いついた方法としては、
1、30個の配列に長文を収め、それをランダムで取得するようにする。
2、時間はストップウォッチを作る要領で。
3、ランクはミス数と時間でif文で表示する。
の3つがありますが、合っているか分かりません。
また、ミス数をどうやってカウントすればいいのか検討もつきません。
ご教授願いますm(_ _)m
さて, どういう流れになるんでっしょ ? (わくわく...)
>>109 助言はしてやらないのかよ。性悪だなぁ。
111 :
Name_Not_Found:2006/07/05(水) 20:09:50 ID:yrRge+tk
関数の引数をそのままコンストラクタに渡したいんだが、なんかいい方法無い?
function Cons(a,b){
alert('a:'+a);
alert('b:'+b);
}
function foo(){
new Cons(???); // 引数を丸投げしたい
}
foo('A','B'); // => 'a:A' 'b:B'
>>110 ここでの僕の立場はわきまえてますっ !
客引きもやめますた.
こんばんは。
現在下記のような方法でOnmouseイベントで画像を変更しています。
<a href="./xxx.html" target="_self">
<img onmouseover="this.src ='img_1b.gif'" onmouseout="this.src='img_1.gif'"
height="25" alt="button1" src="./img_1.gif" width="205" border="0"
name="button1" ></a>
これを、リンクにカーソルを乗せると2箇所の画像が切り替わるようにするにはどうしたら良いでしょうか?
>>114 サンクス。こんな感じかな?
function foo(){
var eval_str = 'new Cons(';
for (var i=0; i<arguments.length-1; i++){
eval_str += 'arguments[' + i + '],';
}
eval_str += 'arguments[' + (arguments.length-1) + '])';
return eval(eval_str);
}
arguments.lengthでswitchするよりだいぶいいぜ
>>108 とりあえず、空白でsplitして各単語ごとに等しく
なければ減点1とかでいいんじゃないの?あとの方針は
あってると思うよ。
>>111 evalしない方がいいでしょ。
return new Cons(arguments[0], arguments[1]);
じゃ駄目なの?
>>113 「onmouseover="1つ目の変更;2つ目の変更"」とかでしょ。
117 :
111:2006/07/05(水) 21:20:17 ID:???
>>116 いや、引数は可変個なのよ
紛らわしくてすまん
そういえば115は引数が0個の時まずいな
>>111 あえてevalを使わずにやるならこんな感じかな。
組み込みオブジェクト(Array、Date、…)には使えないだろうけど。
function foo(){
var Traits = function(){};
Traits.prototype = Cons.prototype;
var instance = new Traits();
Cons.apply(instance, arguments);
}
参考:
ttp://nanto.asablo.jp/blog/2005/10/24/118564
120 :
Name_Not_Found:2006/07/05(水) 22:53:40 ID:G0+6jRp5
htmlのテーブルをエクセルのように、
マウスで横幅を変更することってできます?
>>120 ホレ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<style type="text/css">
#d0 { width: 20px; height: 20px; border: solid blue 1px }
#d0 { position: absolute; left: 190px }
#t0 { width: 200px }
</style>
<script type="text/javascript">
function move(e) {
var t = document.getElementById('t0');
var d = document.getElementById('d0');
var x = e.pageX; if(!x) x = e.clientX;
t.style.width = x + 'px'; d.style.left = (x-10) + 'px';
}
</script>
</head><body>
<div id="d0" onmousemove="move(event)">X</div>
<div style="height: 20px"></div>
<table id="t0" border="2"><tr><th>A</th><th>B</th><th>C</th></tr></table>
</body></html>
122 :
Name_Not_Found:2006/07/05(水) 23:14:47 ID:G0+6jRp5
>>121 非常に参考になります、ありがとうございます。
ずうずうしくて申し訳ないんですが、
テーブルのヘッダセルの橋をドラッグして、
各列の幅を個別に伸縮する制御ってできますか?
>>122 少しは自分で改造してくる心意気見せろよw
125 :
Name_Not_Found:2006/07/05(水) 23:20:26 ID:G0+6jRp5
>>124 おっしゃる通り。
自分の知識と技術の無さがはがゆいです。
>>122 それをやるには全部のカラムの幅を自前で計算しつつ伸縮
になるんで、面倒だよ。
>>121の5倍くらい大変と思う。今
作る気にはならないね、自力でやるならがんばって。
129 :
Name_Not_Found:2006/07/06(木) 09:28:32 ID:PzUl6Z89
CSSでdiv要素にoverflow:hiddenを適用させ、div内のコンテンツの半分だけを表示させたとします。
ここでJavascriptを使い、見えないもう半分のコンテンツ部分までスクロールさせたいのです。
つまりスクロールバーを使わずにJavascriptのイベントでページのスクロールを制御したいのですが、
サンプルやヒントなどいただけませんでしょうか。よろしくお願いいたします。
上の質問の一部に語弊を招く箇所があるので訂正します。
>>129 つまりスクロールバーを使わずにJavascriptのイベントでページのスクロールを制御したいのですが、
↓
つまりスクロールバーを使わずにJavascriptのイベントで「overflow:hiddenが適用されたdivタグ内」のスクロールを制御したいのですが、
ごへい 【語弊】
言葉の使い方が適切でないために生じる弊害。
誤解を招いたり、意味が通じなかったりする言い方。
五平さんキタコレ
134 :
129:2006/07/06(木) 14:13:41 ID:???
同じ方法・・・(´-`)y-。oO
なんで false == 0 なんだ
1時間くらい嵌まったorz
型変換は罠が多い
falseが0ならtrueは-1
=== とか !== とか、型の定義があいまいな言語では常套の演算子
ファイルアップロード時に
サーバー側に送る前にJavaScriptでデータのサイズを
知るにはどうすればいいですか?
>>136 ちゃんと規定されてるのに読んでないだけ。
143 :
Fredo Motrani:2006/07/07(金) 10:18:25 ID:+PjB5YUf
Bonjour à tous,
dans ma page html j'ai une boite d'entrée de texte dont je veux lire la
valeur lors du click sur un bouton et lui appliquer un traitement avec une
regexp.
var Pattern = /\d+/gi;
function FonctionAppeléeLorsDuClick(){
Resultat = Pattern.exec(MaBoitedeTexte.value);
}
lors du premier click Pattern.exec() retourne null et lors du second un
resultat valide. j'ai deja essayé de jouer avec les propriétés blur() et
focus() de ma boite de texte mais sans succes. quelqu'un aurait-il la
solution ?
>>143 Bonjour, may I write in English? :-)
I didn't see anything wrong with your code, so I suspect
your HTML dosen't match the JavaScript code. Especially,
I recommend you use document.getElementById() to access
the input element. I also don't understand why focus() and
blur() come in here. Here's my test code for your case; hope it helps.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test() {
var i0 = document.getElementById('i0');
var pat = /\d/gi;
alert(pat.exec(i0.value)?'OK':'NO');
}
</script>
</head><body>
<div><input type="text" id="i0"><button onclick="test()">Test</button></div>
</body></html>
>>144 GJ!
でも英語か仏語で ホレ って言ってYO!
146 :
Name_Not_Found:2006/07/07(金) 15:45:58 ID:LBTBD01j
質問です。
<input type="radio" name="Tokyo" onclick="P(this.name)">Japan
で、「Tokyo」を開いた子画面の<div id="x"></div>に表示させたいので、
function P(n){
win=open('a.html','sub','width=300,height=300');
win.document.getElementById('x').innerHTML=n;
}
のようにしました。出ません。
「Tokyo」と出すにはどうすればいいのでしょうか。
>>146 別にできるけどなあ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var win;
function init() {
win = window.open('about:blank', 'sub');
win.document.write('<div id="x">test...<\/div>');
win.document.close();
}
function p(n) { win.document.getElementById('x').innerHTML = n; }
</script>
</head><body onload="init()">
<input type="radio" name="tokyo" onclick="p(this.name)">
</body></html>
148 :
146:2006/07/07(金) 17:26:22 ID:???
>>147 ありがとうございます。
予め用意した子画面用の「a.html」に<div id="x"></div>を仕込んでおいて、
それに渡したいのですが、そのやり方で出来ますでしょうか。
>>148 ぜんぜん同じでしょ。それよりアンタ何を間違ってたのか分かった
のかよ。テキトにやっても何も進歩しないぞ。
150 :
Name_Not_Found:2006/07/07(金) 21:20:00 ID:VSkk1uHD
innerHTMLでフォームを出力した場合、そのフォームの値をJavaScriptで取得することは無理?
やりたいことは、以下の一連。
1.セレクトフォームの中のある値を選択すると
2.新たにテキストフォームが出てきて
3.そのテキストフォームに入力した値をJavaScriptで扱う
innerHTMLで無理だとするとvisibilityで表示・非表示にするぐらいしか他に思いつかない。
何か妙案があればご教示下さい。
>150
innerHTMLがだめならcreateElementをつかってみれ。
154 :
150:2006/07/07(金) 21:57:02 ID:???
>>152 createElement?聞いたことないぞと思って調べてみたら...なんてこったorz.
最後にまともにJavaScriptを触ったのが6年ぐらい前のオレにとっては
もうほとんど新しい言語になっちまってるw
ともあれレスさんくす!
input の createElement は IE のバグあるから気ーつけてね
156 :
150:2006/07/07(金) 22:30:06 ID:???
>>155 助言ありがと!
新しい関数が増えたどころか仕様自体も色々変更してるのな。
<SCRIPT LANGUAGE="JavaScript">からしてもう間違ってるだなんてショックだわ...
また発病か。この板もIDくらい出した方がいいな。
>>157 IDあるとどうなの?なんも代わらんだろ。
うちもIDはだしてほしいとつねづね。
インラインフォームの内容をクリアする方法を教えてください。
テキストボックスの内容をクリアする方法を試してみたのですが無意味でしたので。
インラインフォーム・・・新オブジェクトか?
インラインフレームだった
>>161 window.フレーム名.open();
166 :
Name_Not_Found:2006/07/08(土) 13:22:50 ID:C6YUdEkX
質問です。よろしくお願いします。
こういうラジオボタンの選択を作り
<FORM name="color"><INPUT type="radio" value="赤" checked>赤
<INPUT type="radio" value="青">青
<INPUT type="radio" value="白">白
<INPUT type="radio" value="黄">黄
<FORM name="年齢"><INPUT type="radio" value="十代" checked>十代
<INPUT type="radio" value="二十代">二十代
<INPUT type="radio" value="三十代">三十代
<INPUT type="radio" value="四十代">四十代
</FORM>
用意したテキストエリアの中に、
「あなたが選んだ色は<選択した奴>色です。
あなたの年代は<選択した奴>です」と返す関数は
どうつくればいいんでしょう?
>>166 ラジオボタンより<select>の方が楽
<script>
function getMyValues(){
alert("color:"+document.getElementById("color").value+"\nage:"+document.getElementById("age").value);
}
</script>
<select id="color">
<option value="赤">赤</option>
<option value="青">青</option>
<option value="白">白</option>
<option value="黄">黄</option>
</select>
<select id="age">
<option value="十代">十代</option>
<option value="二十代">二十代</option>
<option value="三十代">三十代</option>
<option value="四十代">四十代</option>
</select>
<input type="button" value="OK" onclick="getMyValues()">
ところで、ラジオボタンとドロップダウンメニューはどう使い分けたらいいの?
テキストエリアの中に表示するんじゃなくて
alertで出してるんじゃねーか
>>168 有難うございます。
どーしてもラジオボタンの必要性があるので(クライアント指示)
ラジオボタンは譲れないのです。
OKボタンをおしたらテキストエリアに書き出しとしたいのですが、
>>168はテキストエリアに書き出す関数のように見えないのですが
<FORM><INPUT type="button" name="OK" onclick="getMyValues()" value="OK">
</FORM>
とやれば、OKボタンを押して指定エリアに書き出せますか?
初心者なので間の抜けた質問をしていましたら申し訳ございません
172 :
171:2006/07/08(土) 14:05:59 ID:???
すみません、
>>168の最終行の
<input type="button" value="OK" onclick="getMyValues()">
を見落としていました。
実際にコピペして作ってみましたら、
確かに
>>170さんの仰るように、アラートで表示されます。
ページ下部にテキストエリアを作り、そこに表示させたいのです。
よろしくお願いします。
おまえなぁ、金もらってやってる仕事なら自分でなんとかしろよ。
できないんならそんな仕事うけた自分の責任だろ。
>>164も大嘘だしな
結局ロクな知識のない人間がそれ以下の人間を騙して喜ぶスレだな
175 :
171:2006/07/08(土) 14:32:27 ID:???
>>173 正論ですが、こっちも単なるWebサイトの更新で
ホームページビルダーでちょこっとやってくれるだけでいいから
と言われて派遣されたら、なぜかJavaScriptで
社内のフォーム作りになっていて……orz
Webサイトによく使われるJavaScriptくらいはなんとかなったんですが
テキストエリア書き出しって、色んなサイトを回ってもどこにもなくて
自分の持っているJavaScriptの本を色々見ても解らず……
どなたかお願いします
>>175 内製なら、尚の事、周りに聞けば良いのでは?
これから先、問題が出る度に、ここで聞くの?
177 :
175:2006/07/08(土) 15:12:08 ID:???
はい。出来ればお願いします。自分はホームページビルダーでちょこっとやるくらいの
知識しかありません。ここで修行させていただきます。
これもって帰れ。ここで修行はやめれ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="ja">
<head>
<script type="text/javascript">
function proc() {
var ret = "";
var list = document.getElementsByName("aaa");
for (var i=0; i<list.length; i++) {
if (list[i].checked) { ret = list[i].value; }
}
document.getElementById("disp").value = ret;
}
</script>
</head>
<body>
<p>
<form onsubmit="return false;">
<input type="radio" name="aaa" value="hoge1">ほげ1</input><br>
<input type="radio" name="aaa" value="hoge2">ほげ2</input><br>
<input type="radio" name="aaa" value="hoge3">ほげ3</input><br>
<br>
<input type="button" onclick="proc()" value="click"><br>
<input type="text" id="disp">
</form>
</body>
</html>
しかし確かにサンプルコピペレベルとDOM使いレベルを埋めるための教材は
あんまないんだよなぁ…。DOMになるととたんにリファレンス臭くなるし…。
179 :
171:2006/07/08(土) 15:37:55 ID:???
>>176 派遣先にJavaScriptに詳しい人間がいないから派遣されたわけで
派遣元にJavaScriptに詳しい人間がいないから、私ごときが派遣されたわけで
>>177 騙らないでください
>>178 <input type="radio" name="aaa" value="hoge1">ほげ1</input>
初めて見たw
DOC氏はJSはできるけどHTMLはボケボケだよなあ……(笑
DOM使いはちゃちなサンプルコード作ろうなんてあんま思わないので、サンプル少ないんだろーなー。
とりあえず 171 は仕事ならちゃんと勉強しなさい。
あぁそうかwwwwwなにぼけてんだおれわwwwwwwwwww
そりゃ変だなwwwwwwwwwww
<input type="radio" name="aaa" value="hoge1>ほげ1<br>
でwwwwwwww
なんでradioはselect/optionじゃないんだと思うことしきり。
DOCTYPE氏はhtmlにlang="ja"を入れないと思う。
んむ、DOCTYPE氏ではない。
お前ら通だなw
よく見たら確かに改行具合も氏と違った^^;
>>182 些細なことだけど quotation 閉じてない(笑
>>178 ブロックレベルの記述めちゃくちゃだな。HTML初等科やり直せ。
190 :
Name_Not_Found:2006/07/09(日) 01:12:06 ID:Do168ODf
こんばんは。
JavaScriptを初めて勉強してみようと思うのですが、
具体的に初心者はどうやって勉強すればいいのでしょうか?
どなたか教えていただけませんか?
191 :
190:2006/07/09(日) 01:20:04 ID:Do168ODf
やっぱり結構です。
192 :
Name_Not_Found:2006/07/09(日) 03:21:22 ID:ebYkgGVP
<html>
<head>
<title>ウィンドウオープン</title>
<script language="JavaScript"><!--
newWin=window.open("","new","width=480,height=360");
newWin.location="menu.html";
-->
</script>
</head>
<body>ウィンドウオープン</body>
</html>
の「newWin」は変数
「location」はプロパティでOK?
NG
>>190 まともな入門書を読む。テンプレに書籍スレの
案内が載ってただろ?
>>192 そんなことよりスクリプトの重大な問題に気が着かんか
インラインフレーム内のテキストの消し方についてご教授くださった方、
どうもありがとうございました。
きょうじゅ【教授】
(1)
(ア)児童・生徒に知識・技能を与え、そこからさらに知識への興味を呼び起こすこと。
(イ)専門的な学問・技芸を教えること。 「国文学を―する」「書道―」
(2)
大学などの高等教育機関において、専門の学問・技能を教え、また自らは
研究に従事する人の職名。助教授・講師の上位。
とすると、(1)の(ア)か。
ご教示くださった、の誤用
知性もしくは教養の低さを垣間見せてしまうから誤字は怖いな
「教示」の方が一般的だが、特に誤用でもない。「須く」と並んで半可通が半端な認識で誤用を指摘しがちな用語。
で、JavaScriptの質問はないの?
どっちでもいいよそんなこと。JavaScriptの話しようぜ。
じゃあ、len個の引数を取る関数fをカリー化する関数curry(f,len)を作ってください。
例:
function sum(x,y,z){
return x+y+z;
}
curry(sum,3)(1)(2)(3); // => 6
>>199 あるよ
インラインフレーム名.document.write("<font color="+任意の文字色+">"+ "任意の文字"+"</font>");
でフレーム内に文字を書けたんで
インラインフレーム名.document.write("<font size="+任意のフォントサイズ+">"+ "任意の文字"+"</font>");
にしたら書き出される文字のサイズを変更できた。
ただここで指定できる文字のサイズが「ポイント」と対応していない上
フォントサイズの細かな指定ができず(異なった数値を入力しても同じまま)、
僅か数段階しか大きさを変更できない。(極大の文字を書き出したいのだが無理だった)
これをポイントまたは級数と対応させて細かく指定するためにはどんな記述が必要なの?
それからインラインフレーム内に書き出される文字は自由に変更できるけど
セレクトメニュー内の文字色を変更する方法はないの?
文字色選択用セレクトメニュー内のコンテンツを
1行ごと別の色で表示したいんだけど
203 :
Name_Not_Found:2006/07/09(日) 17:42:43 ID:3AA4j6rI
forで回す数字をfor文の中で使うことってどうやるのか分からないので教えて下さい。
Perl風に書くと
for($i = 0; $i < 10; $i++){
$hoge = "document.getElementById('TableStyle$i').href=\"./style$i.css\"";
}
こいうイメージで$iにforで回した数字を入れていきたいんだけど、
for(i = 0; i < 10; i++){
document.getElementById('TableStyle[i]').href="./style[i].css";
}
じゃ、意味違うよなぁ…。
どうすれば良いんでしょか?
>「教示」の方が一般的だが、特に誤用でもない。
なら、その根拠を言ってみそ
俺は
>>199ではないが
きょう‐じゅ【教授】ケウ‥
@学術・技芸などを教えること。養護・訓練とならぶ教育上の基本的な作用とされる。
A大学・高等専門学校など高等教育の学校で、専門の学術・技芸を研究し教える人。その官名または職名。「医学部―」
→教諭。
→ ―‐かい【教授会】クワイ
→ ―‐がく【教授学】
→ ―‐さいもく【教授細目】
→ ―‐し【教授師】
→ ―‐だんかい【教授段階】
→ ―‐ほう【教授法】ハフ
(広辞苑より)
普通に物事を教える事を教授するって言うじゃん
きょう‐じ【教示】ケウ‥
(キョウシとも) 教え示すこと。「ご―を仰ぐ」
(広辞苑より)
教授が相手に確かに知識を「授けた」事を示すのに対し
教示は相手に教えを授けたとは限らない。ただ教えを示しただけの意味。
そういう点でふたつの言葉には意味の相違がある。
「須く」は「べし」がないと気持ち悪いな。
>>203 'TableStyle[' + i + ']'
"./style[" + i + "].css"
sprintfがあったらいいのになあとよく思う。
日本語の問題は言語学板へ
208 :
203:2006/07/09(日) 18:05:20 ID:???
>>206 そのまま書き換えたらエラーだたよ。
エラーでないように書き換えたら意図した動作しないな…。
JavaScript…難しすぎるぜ…。
ともあれ、レスさんくす。
インラインフレーム内に表示するフォントを指定する方法教えて
>>201ですが自己怪傑しました。
px pt %による3種の指定方法と
それぞれの指定方法での文字サイズを使い分ける事にしました。
解決だった…
>>203のやりたいのはこうじゃねーの?
document.getElementById('TableStyle'+i).href="./style"+i+".css";
>>203 ごめ
下のスクリプトを見て書き換えてしまった
214 :
203:2006/07/09(日) 18:46:28 ID:???
>>212-213 JavaScriptって独特の記述方式だなぁ、と色々悩みながら
206の誤解にさっき気付いて、読み直したら無事通ったよ。
ありがと!
199だけど、気になる人は「教授 教示」でぐぐってください。
スレ違いすまそ
>>203 まあ、perl わかるなら、文字連結の 「. (ドット)」 が 「+」 になっただけって解釈すればおk
クオーテーション中の変数展開が一切ない、って感じ。
>>214 Perl から入った人にとっては違和感あるんだろうけど
C からは言った自分にとって JS の方が自然に感じる
まあそんなもんかと
インタープリタ言語で String 内に変数を埋め込めてしまう仕様だと
それを解釈するのに相応のオーバーヘッドがあるから
個人的には JS の仕様の方が好きだったり
perl でも "〜" 内に変数書かない人いるしね。 "〜" はやだけど qq() ならいいとかね。
まあそれが TMTOWTDI だから :-)
>>217 そんなにオーバーヘッドあるかな?
ほとんど無いと思うんだがな。
変数が多いときはやたら複雑になるんで、埋め込み式は大分欲しい。
JavaScriptでページをロードしたときに、「戻る」とか「進む」の履歴を
最新のもの1件のみ消すという方法はありますでしょうか?
宜しくお願いいたします。
>>220 このスレに書き込むことが許されるものは以下のとおり
・ユーザーに迷惑となるスクリプトを書かない者
人がしようとすることを迷惑と決めつけるのはいかがなものかと
>>223 JS切っても落ちてくるので違うと思います。
226 :
Name_Not_Found:2006/07/10(月) 02:11:59 ID:N8wo60Q9
document.writeで書き込んだ文、イメージを消すにはどうすればいいでしょう?
例えばdocument.write("こんにちは");
で「こんにちは」を表示させた後、alertを設けてOKが押されれば
その「こんにちは」を消すようにしたいのです。
document.close、document.clearなど試しましたが出来ませんでした。。
ご教授願います。
>>226 document.write() は出力をするものであって、それを特定して削除することはできません。
しかし、もしあなたが
<p id="hello"><script type="text/javascript">document.write("こんにちわ");</script></p>
と書いてるのであれば、後で、
document.getElementById("hello").innerHTML = "";
とすれば、そのテキストを消すことができるでしょう。
そういう用途ならdocument.writeを使わない方がスマートに書けるんだけど
勉強する気は……ないかな?
229 :
Name_Not_Found:2006/07/10(月) 03:01:57 ID:N8wo60Q9
勉強する気はあります。が、朝までに仕上げなければならないため
切羽詰ってる状態なのです。
そのスマートな方法とはどのような方法なのでしょうか。
調べるヒントを頂けるとありがたいのですが。
DOM
231 :
【質問】:2006/07/10(月) 05:34:19 ID:???
A〜Iまでの配列10組を結合する。
配列A.concat(配列B.concat(配列C.concat(配列D.concat(配列E.concat(配列F.concat(配列G.concat(配列H.concat(配列I.concat(配列J)))))))))
↑
これをもっと簡略化する事はできないの?
インラインフレーム内に表示する文字のフォントはどうやって指定するものか
>>233 配列A、Bって名前じゃなくて
文字数バラバラで別々の名前の配列なんで
ループが使えないから訊いてるんだけど
後からいろいろ配列を追加・削除・合併・分裂するから
連番で配列の名前をつけるワケにはいかないし
>>233 インラインフレーム内に生成する文字のフォント変更方法を訊いてるんであって
スタイルシートのフォント変更なんて訊いちゃいないんだが
>>234 二次元配列使え。
>>235 インラインフレームだろうがなんだろうが同じだろ。何でできないのか逆にわかんねえ。ソース書いてみろよ。
>>236 じゃあ例として、インラインフレームを定義し、セレクトメニューから枠のデザインと文字色を指定した後
インラインフレーム名.document.write("<font color="+任意の文字色+">"+ "任意の文字"+"</font>");
というコードで、
「FG松慶行書体」か「CRバジョカ廉書体」という名のフォントで
インラインフレーム内に文字を書き出すには、上気の文をどう書き換えればいいのか教えてくださいな。
勿論フォントはインストール済で、
<FONT style="FONT-SIZE: 指定サイズpt; COLOR: 指定色; FONT-FAMILY: フォント名"> 任意の文字 </FONT>
のフォント名のところに任意のフォント名を代入すれば
インラインフレーム外に指定フォントで文字が書けるが。
>>237 ほんとに教えてほしいのか煽りたいだけなのかわからんなw
>>236 具体的に言え。
//【ハーブ系】
ハーブ系 = new Array()
ハーブ系[0] = new Array("ナスタチウム", "金蓮花", "ノウゼンハレン科", "多年草", "4月上旬〜11月中旬");
ハーブ系[1] = new Array("ローリエ", "月桂樹", "クスノキ科", "常緑木本", "4月上旬〜11月");
(略)
ハーブ系[23] = new Array("コリアンダー", "香菜", "セリ科", "一年草", "5月〜7月");
//【洋蘭】
洋蘭系 = new Array()
洋蘭系[0] = new Array("ネオフィネティア・ファルカタ", "風蘭,富貴蘭", "ラン科", "常緑・着生", "6月〜8月");
洋蘭系[1] = new Array("マキシラリア", "なし", "ラン科", "着生・複茎性", "周年");
(略)
洋蘭系[18] = new Array("ファレノプシス", "胡蝶蘭", "ラン科", "着生・単茎性", "4月下旬〜10月中旬");
(以下略)
みたいに二次元配列が300行くらいあって
テキストメニューで30種ぐらいの中からメニューを選び
メニューに合わせて二次元配列同士を結合し、結合した配列一覧を表示するタイプのスクリプトなんだが
例 (メニュー1…… 鉢花と一年草と二年草と多年草と宿根草と球根植物と庭木と花木と果樹の配列群を結合
メニュー2…… 鉢花と宿根草と多肉植物と観葉植物と葉ものとハーブと野菜と山野草と洋蘭の配列群を結合
以下略)
いちいち配列群を結合するのが面倒臭いんで、どうすれば
>>231のコードを省略できるかって訊いてんだよ。
>>239 ハーブ系 = new Array()
が通るJavaScriptってどこのJavaScript?
せめて
herb = new Array();
って書いてくれよ^^
tree.herb = new Array();
とか
tree['ハーブ系'] = new Array();
ならもっとずっと楽にできるしw
で、なんでキレてんの? 火病?
大辞林 第二版 (三省堂) 【火病】 の検索結果
キーワードに該当する結果が見つかりませんでした
>>239 いまいちよくわからんのだが、
[A,B,C,D,E]っていう配列を作ってループしたらいいんじゃない?
>>240 日本語変数名は俺の環境では通るな。使って欲しくは無いが
>>242 > 日本語変数
うわ、ほんとだw IE5.5 までは通らなかったのになあ・・・。
オススメの初心者用サイトを教えてください。
テンプレのは括弧書きでショボイとかあって不安。
245 :
Name_Not_Found:2006/07/10(月) 13:05:07 ID:3YJg6wVy
DOM オブジェクトの内容を文字列として取り出すための
メソッドって用意されていますでしょうか?
IE では XSLT での変換結果は文字列として返ってくるので
それをいじりたければパーすすればいいのですが、
Firefox では XSLT での変換結果が DOM オブジェクトとして
返ってくるので、その内容を覗いてみたいと思っています。
>>245 なんか、どっかのdivの下にでもくっつけてinnerHTMLでも取るのが簡単かも。
>>239 var a = ['array1','array2','array3'], b = [];
for(i = 0; i < a.length; ++i) b = b.concat(window[a[i]]);
とかかな。試してないけど。
>>239 var a = [ ハーブ系, 洋蘭系, ... ];
var ret = [];
for (var i=0; i<a.length; i++) { ret = ret.concat(a[i]); }
Array.prototype.concat.apply([], [ ハーブ系, 洋蘭系, ...]);
でいいんでは。その方が速いだろうし。
249 :
Name_Not_Found:2006/07/10(月) 14:26:07 ID:3YJg6wVy
>>246 ありがとう、思いつかなかった。
無事変換後の HTML 文書を文字列として取得できました。
XSL/XSLT のデバッグに役立ちそうです。
250 :
220:2006/07/10(月) 21:06:50 ID:ku1R08Xr
訳あって前のページに戻れなくしたいのです。
別に、ユーザーを困らせようという意図は全くありません。
戻ると2個前のページに戻るようにしたいのです。
宜しくお願いします。
外部JSでページをdocument.writeで書き出しているんだが、
外部CSSで指定しているフォントが適応されない。(他の項目は適応される)
恐らく文字コードの指定が原因だと思われるのだが、
CSS、JSはEUCで保存。
もちろん<meta http-equiv="Content-Type" content="text/html;charset=EUC-JP">も、指定している
心当たりはないだろうか
>>250 ブラウザが標準的に準備している機能を無効にすることで
問題を回避するのは得策ではない。
ちょっと悪意のある奴ならすぐ抜けられるし。
>>251 すべてUTF8に揃えるってのはためしてみた?
>>250 前のページからこのページに来る時に普通に来る代わりに
「location.replace('URL');」で来ればいいんじゃないの?つまり
「<a href="JS OFFの行き先" onclick="location.replace('URL');return false">...</a>」
にするわけだけどね。
>>251 metaタグを書き出しても効果ないと思うな。
>>251 CSS の上部に @charset "euc-jp"; は入れてるのん?
255 :
250:2006/07/10(月) 23:20:26 ID:ku1R08Xr
>>253さん
location.replace()を使うとそれまでの履歴が全部消えてしまうんです。
そうすると完全に戻れなくなるので。
前1件だけ消す方法ないですかね。
じゃあ、ない、ってことで。
>>255 ということは、A→B→C→D→E というふうに移動しているとき、
Cまで来た時は前に戻るとAで、Dまで来た時は前に戻るとB、
Eまで来た時はD、のように1つ遅れで履歴がつくようにする
わけね?となると、CからDに行こうとしたとき直接行かずに
まずBへ行き、Bからlocation.replace()でDに行く。DからEに
行こうとしたときもまずCへ行きCからlocation.replace()で
Eへ行く、というふうにすればできるわけだろ。それを全部
cookieとかで場所情報を管理しつつやればいいんだろうね。
>>257 逆だ、「まずlocation.replace()でBへ行き、そこからDに行く」
とかだね。
質問です。
以前どこかで教えて頂いたのですが、記述をなくしてしまったのでもう一度お願いします。
テキストエリアにあらかじめ「こちらへお書き下さい」等記載されている状態で
記入しようとクリックした瞬間「こちらへ〜」が消える命令文を教えてください。
(確かヘッダ記述無しで、数文字で命令できたような・・・)
260 :
259:2006/07/11(火) 12:41:19 ID:???
過去スレ32で見つけました
スレ汚しすみませんでした
261 :
255:2006/07/11(火) 18:20:42 ID:EQ/BcU4B
>>257 すいません。説明不足でした。
余計なページを履歴から消すことが目的なので、
A→B→C→Dと移動し、Bが余計な場合、
BからCに行くときにBを消すか、C行った後にBを消すかして、
Cで戻るとAへ、Dで戻るとCに行くようにしたいです。
location.replace()でBからCへ行くとAも消えてしまうのでCから完全に戻れなくなります。
説明分かりづらくてすいませんでした。
Aは消えないでしょ。
>>261 馬鹿じゃん。そんな馬鹿の相手をしてたのかと後悔している。
ハハハ。今ごろ気がついてやんの。洩れは知ってたよ。
1つだけ遅れてついて行くという問題は面白そうだったんだが。
266 :
251:2006/07/11(火) 21:25:13 ID:EQ/BcU4B
UTF-8にしたらできたが、EUC-JPでやる方法はないか?
>>266 >>254 ブラウザによってはだめなこともあるのでUTF8が無難かと。
もしくは和名じゃなく英名での指定も並べとけばできるかも。
これも実装依存だろうが。
ってか日本語かかないでさ、バイト列?で日本語書けばいいんじゃね?
269 :
Name_Not_Found:2006/07/12(水) 16:45:00 ID:XowhurIL BE:186127698-#
最近重いswfファイルが多いので
OBJECTタグ内の<PARAM NAME="Quality" VALUE="High">を
DOMで<PARAM NAME="Quality" VALUE="Low">に
変更するブックマークレットを作ってみようとしたんですがうまくいきません。
PARAMタグは普通のタグとは扱いが違うんでしょうか?
>>269 こっちからPARAMを書き換えてもOBJECT側は既にその
パラメタを読み終わってるので見てくれないだろう。
それをやりたいのなら、OBJECTを含む範囲全体のinnerHTML
を取って、HighをLowに取り替えてから再度innnerHTMLを
設定するのでどうかな。
271 :
Name_Not_Found:2006/07/12(水) 18:08:11 ID:XowhurIL BE:31021834-#
>>270 そのやり方でできました。ありがとうございます。
272 :
Name_Not_Found:2006/07/12(水) 22:52:49 ID:CJyvPw6f
textareaのスクロールバーの位置を一番下まで移動させたい
(JavaScript上から一番下の行を表示させたいです)
のですが、可能でしょうか?
Firefoxの最新版で動けば良いのですが。。。
宜しくおねがいします。
>>272 ホレ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test() {
var e = document.getElementById('a0')
e.scrollTop = e.scrollHeight - e.clientHeight;
}
</script>
</head><body>
<textarea id="a0" rows="5" cols="20">
a
b
c
d
e
f
g
</textarea><button onclick="test()">Test</button>
</body></html>
274 :
272:2006/07/12(水) 23:39:25 ID:CJyvPw6f
>>273さん
出来ました!!一日これで悩んでいたので非常に助かりました。
ありがとうございました!!
HTML 4 Strictではbody要素直下にtextarea要素、button要素は来れない。
でもそんなところもお茶目♥
ストリクトなんて書いてないじゃn
277 :
Name_Not_Found:2006/07/13(木) 00:22:20 ID:Fo1Vjm0C
自分のスタートページ用のスクリプトを書いていて、外部サイトを
表示しているフレームのURLを取得しようと思ったのですが、
出来なくて困っています。制約があって普通にはできないみたい
ですが、どうにかして実現する方法はないでしょうか。
278 :
Name_Not_Found:2006/07/13(木) 00:23:54 ID:ArheLiP/
C言語で行くところの%1.2fの様な文章整形はJavaScriptで出来るのでしょうか?
1,815 という数値を 1.81 といった形で表示させたいのです。
ちなみにこの数字は1.8153.....と言った形でどんどん続いていておりまして
リアルタイムで数値が変わることになっています。
数値そのものを弄りたく無いので文章整形で何とか出来ればと考えています。お願いします。
279 :
278:2006/07/13(木) 00:24:33 ID:???
すみません、1,815 → 1.815 の間違いでした。
>>277 「絶対に」できない。FAQ
>>3 を読め。読んでない奴は来るな。
>>278 数値.toFixed(桁数)でいいんじゃないの?もしかして四捨五入
じゃなくて切捨てなの?だったら文字列に変換して先頭から
4文字取るとかだろうな。(String(数値)+'0000').substring(0,4);
まあ整数きっかりの時に困るけど。
overflow:visible; を指定したテキストボックスで、
不幸にも横太りしてしまった場合、どのようにwidthの値を取得したらよいでしょうか?
document.activeElement.style.width; で覗いてみても、最初の設定値しか取得できなくて
困ってます。
element.offsetWidth
285 :
Name_Not_Found:2006/07/13(木) 20:02:40 ID:tbrInIEP
ageで質問させてください。
prototype.jsのinsert.bottomを使い<head></head>内にcssのlinkタグを入れるscriptを作ったのですが、
主要ブラウザの中でsafariだけ対応できないっぽいのです。
他のブラウザだと、<head>にlinkタグが書き込まれた場合はそのCSSを読み込んで、
再度デザインを変更してくれるのですが、safariの場合は一度CSSを読み込んだら
<head>部分のCSSを読み込み直すなんてことはしないみたいです。
#というよりも前の行に戻って読んだりしないのかな?
htmlのルールを破ってlinkタグをbody内にベタ書きして、
if (safariだったら)
document.write("cssのリンク");
みたいに書くといけるのですが、他の方法がないかなと思いまして質問しました。
以下、やってみたことです。
---
linkという変数に<link>タグ入れて
new Insertion.Bottom(document.getElementsByTagName('head')[0], link);
を実行した後、その後のalertを飛び越えてscript抜けてました。
#alertでdocument.getElementsByTagName('head')[0]を表示すると、
#「Object HEAD」となる。
#この後に追加されてるかどうかは確認の方法がわからず
new Insertion.Bottom(<bodyタグ内の適当なID>, link);
ってやるとちゃんとscriptが全部実行されてるみたいなのでinsertできてそう。
#実際にlinkタグでなく文字列を挿入してみると挿入できてる
でもdocument.writeと違ってInsertion。Bottomで挿入したcssは読み直されない。
#やっぱり前の行に戻って読んだりしないから?
>>285 prototype.jsをちゃんと全部見てないので(不勉強すまそ)あれなんだけど、
Insertion.Bottomって、DOM的に追加してるんじゃないかね。
>>285 その質問は何がやりたいわけさ。prototype.jsの動作が追求したい
のなら洩れは関心ないからご勝手に。DOMでスタイルシートをいじり
たいのなら、prototype.jsでうまく行かないならそんなの捨てて自前
でやるんじゃないの。それが嫌ならここでは何のアドバイスもないな。
>prototype.jsでうまく行かないならそんなの捨てて自前でやるんじゃないの
この発想は無かった。天才だな
ホレ氏はやはり天才なのか
現状のフレームワークのほとんどは自分で作ったほうがマシだと思うのだが
291 :
285:2006/07/14(金) 14:31:58 ID:???
>>286,287
ありがとうございます。
今prototype.js使わないで実現できるか試してるとこです。
もともと使った理由が、「それぞれのブラウザ依存考えるのが面倒だった」って話なので、
今の問題がsafariだけになった以上「prototype.jsを使ってできるか?」と
「使わないとしたらどうやって実現できるか?」を試してる感じです。
「DOM的に追加するとCSSを読み込まないのか?」とかその辺もわからないので
とりあえず試し試しやってます。
>>291 これでブラウザ依存があるんだったらどうやっても駄目そうだが。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<link id="l0" rel="stylesheet" href="c0.css">
<script type="text/javascript">
function test() {
var e = document.getElementById('l0');
var f = e.cloneNode(true); f.id = 'l1'; f.href = 'c1.css';
e.parentNode.insertBefore(f, e);
}
</script>
</head><body>
<p><button onclick="test()">Test</button></p>
</body></html>
--- c0.css, c1.css : 適当に ---
>>285 自分が馬鹿なのかもしれないけど、
head内でdocument.writeってやっちゃいけないの?
>>292 e.parentNodeはhead要素だよね?
まだ閉じられてないのにinsertBeforeはまずいような気がする。
295 :
294:2006/07/14(金) 18:23:32 ID:???
ごめん、忘れてくれ
なんかよく分からないんだが、ページが表示され終わってから
操作するのか、ページ書き出し途中に指定したいだけなのか。
途中だったらdocument.write()するのが簡単には決まっている。
297 :
285:2006/07/14(金) 18:56:26 ID:???
>>292-295 おぉ!こんなにレスが。みなさんありがとうございます。
headの中に元々linkタグがなくてもいけるようにしたかったので
>>292だとできないのかな?
それで<head>要素からbottomでinsertしようとしていたのです。
bodyからheadに向かってinsertで実現するのは難しいのかもしれません。
今回は
>>287の助言を受けて、結局prototype.jsを使わずに実現しました。
if(IEなら){ // IE
document.createStyleSheet(css);
}else{ // IE以外(Ff,opera,safari,NN)
createElementでlinkタグを作る;
setAttributeで属性付加
appendChildでheadに追加
}
prototype.js使えばもっと綺麗にいけたのかもしれないですが、
今回はこれで行こうと思います。
みなさんありがとうございました。
>>297 > prototype.js使えばもっと綺麗にいけたのかもしれない
prototype.jsってそういう類のものなの?
教えて詳しい人。
>>297 条件があれば最初に言ってくれないと。SafariとMozで確認。
だから別に振り分けなんて要らないんじゃないの。prototype.js
の方がこれよりシンプルに書けるとはあんまり思えないなあ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head id="h0"><title>???</title>
<script type="text/javascript">
function test() {
var l = document.createElement('link');
l.rel = 'stylesheet'; l.href = 'c1.css';
document.getElementById('h0').appendChild(l);
}
</script>
</head><body>
<p><button onclick="test()">Test</button></p>
</body></html>
すいません。質問です。
現状:
function open(file)
{
opener = _opener(); //opener = new XMLHttpRequest();
opener.onreadystatechange = function()
{
if (opener.readyState == 4)
{
alert(opener.responseText); //読み込んだらalert()
}
}
opener.open("GET", file, true);
opener.send(null);
}
open("test.txt");
alert("done");
IE6だと"test.txt"の内容がalert()されてから"done"がalert()される。が、
FireFox1.5だと先に"done"がalert()される。
※他のブラウザは未だ未確認。
やりたいこと:
FireFoxで、ファイルの読み込みが全て完了してから次のステップに行くような仕様にしたい。
prototype.jsでは実現出来ているようなのですが、ソースを見ても複雑でどのように実現しているか読み取れません。
方法がわかる方居ましたら、宜しくおねがいします。
>>300 「次のステップ」を別の関数に分けてonreadyState == 4のときにその
関数を呼ぶようにしろ。JavaScript的にはそういうスタイルが普通。
prototype.jsでどうやってるかは知らない。
openという関数を定義するのはやめた方がいいのでは。window.open()
が上書きされて使えなくなってると思うが。
302 :
Name_Not_Found:2006/07/15(土) 09:40:58 ID:+X2p1tUG
IEでのJavaScriptのデバッグってみんなどーしてるんでしょう
うちのヘッポコ開発チームは一生懸命alert埋め込んでデバグしとります
JavaScriptDebuggerは、FireFoxでかなりよさげに動いてたけど、
うちのAP、FireFoxだと動かない・・・
IEだったらコレ!っていうデバッガあればぜひ教えて下さい
ふつーMS ScriptDebuggerを使うんではないの。でもIEとFFx
の両方で動くように直す方が結局ラクという気がするけど。
alertデバッグの山なんて不毛すぎ。
>>300 XMLHttpのopen()メソッドの第三引数をfalseにすればいいとかではない?
>>304 それちゃんと動く?ブラウザによって危うい気がするが…
306 :
300:2006/07/15(土) 13:47:29 ID:???
>>301 ごめんなさい。
勘違いをしてました。prototype.jsでも出来ていないようです。
やはり、ステップ毎に別の関数に飛ばすしかないみたいですね。ありがとうございます。
>>304 ありがとうございます。
>第三引数をfalseにすればいいとかではない?
試したところ、FFだとonreadystate自体、実行されないようです。
JavaScriptを極力スクリプト言語のPythonに近い状態にするライブラリ的なものを作ろうと思っていたのですが、
無理っぽいです。ご迷惑お掛けしました。
prototype.jsは単純なソースなので、しっかり読めば「複雑でどのように実現しているか読み取れません」ということはないはず
CGI掲示板に設定より大きな画像を貼る方法を教えてください
>>309 <img src="shaishai.gif" width="設定より大きな幅" height="設定より大きな高さ">
altはなくていいのか
ネタにつっこむなよ
altがアルトいいなぁ
>>310 管理ではなく画像掲示板に貼る時の裏技が知りたいのです○厂乙
何でわざわざ好き好んでこのスレに来たのかkwsk
何でここの方が詳しい人がいそうなどと思ったのかかわさき
_質問です。
セレクトメニューからリンク先を選択して、ポチッとボタンを押すと移動する
というやつなんですが、ポチットを画像にしたくてやってみたんですが動かんのです。
教えて下さいよろしこお願いします。
<form>
<td>
<select name="number">
<option value="">選択</option>
<option value="index1.html">index1</option>
<option value="index2.html">index2</option>
<option value="index2.html">index2</option>
</select>
</td>
<td><input type="image" src="images/go.gif" width="30" height="20" onclick="location.href=number.options[number.selectedIndex].value"></td>
</form>
onclick の最後に ; return false; でもしとけば。
じゃなかったらCSSで普通のボタンの背景に画像使えば。
ひどい html だし
省略しすぎだし
あるマシンのIEだけでJavaScriptエラーが出てしまいます。
OSはXP SP1で、他のXP SP1ではエラーになりません。
エラーが出るマシンでFirefoxだとこれも問題ありません。
エラーになっている部分はopenerを使っている部分のようです。
勝手な想像だとローカルのセキュリティポリシーとかで、
引っかかっているような気がしますが、何かご存知無いでしょうか。
宜しくお願い致します。
325 :
Name_Not_Found:2006/07/16(日) 09:19:54 ID:TR7DgThd
>>324 エラーの出る最小限のサンプルを作って貼る。エラーの内容と
どの行で出るかの情報も。それが嫌なら帰れ。
入れてるセキュリティソフトとかは関係ないのかね
327 :
Name_Not_Found:2006/07/16(日) 19:25:49 ID:xhKvpZfK
↓の時にinnerHTMLを変更する場合はどうすればいいでしょうか?
<a> にIDを付けてgetElementByIdの方法は分かるんですが、thisの場合が…
<a onclick="test(this);">テスト</a>
<script type="text/javascript">
function test( obj ){
alert( obj.innerHTML ); // 当たり前だと思いますがこれだと未定義
}
</script>
>>327 嘘だろ。それが動かないブラウザってどれだよ?
329 :
Name_Not_Found:2006/07/16(日) 19:56:55 ID:xhKvpZfK
>>328 XPSP2、IE6、WindowUpdate最新全て適応済み
DOCTYPE宣言は↓
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
// INPUTだとobj.valueで参照できました
<input type="button" onclick="test(this)" value="テスト">
// Aだと参照できないのですが、もしかするとスキーマが原因でしょうか?
// Tabフォーカスやa:hoverが動作するようにしていたのですが…
<a href="javascript:test(this);">テスト</a>
>>329 > <a href="javascript:test(this);">テスト</a>
これと
>>327 は違いすぎるだろwwwwwwwwww
これはアドレス欄に直接 javascript:test(this); って書いてるのと同じことだぞ? this とれるわけがない。
331 :
Name_Not_Found:2006/07/16(日) 20:11:12 ID:xhKvpZfK
うわー、なるほどありがとうございます。
hrefでjavascript:とするのは、アドレス欄での動作と同じだったのですね
マウスなし環境なのでTabフォーカスがないとダメなのですが、
<a href="#" onclick=""> だとページ内移動が起こってしまいます。
リンクのフォーカスを作るには何か方法はありますでしょうか?
いろいろ方法あるだろー。
>>329 のやつに id 振るとか
onclick 、 onkeypress の最後に return false するとか
まあ自分でいろいろ試したり探したりして、それでもできなかったらまたおいで。手とり足とりするとこじゃないんで。
333 :
327:2006/07/16(日) 20:53:53 ID:???
>>332さん
ありがとうございます。
このスレ的にはスキーマはよくないみたいですが、↓にすることにしました。
<a href="#" onclick="test(this);">
function test(obj) { 〜; return false; }
>>333 <a href="#" onclick="return test(this);">
にしるw
335 :
327:2006/07/16(日) 20:58:06 ID:???
あーやっぱ function内だとダメでした。
334の方法でOKです、ありがとうございました。
誰か連投スクリプトください
いや、作るなよw
JS関係ないしw web初心者かflashスレに逝けよー。
341 :
質問させてください:2006/07/17(月) 17:40:11 ID:n6FLnWOE
どう検索したらでてこないんだw
onmouseout="text.innerText='ほげほげ'"
ってやろうともしないんだな、君は
<object data="movie.wmv" type="video/x-ms-wmv" id="Player">
<param name="src" value="movie.wmv">
</object>
<script type="text/javascript"><!--
document.write(document.Player.Duration);
// --></script>
<script for="Player" event="EndOfStream(lResult)" type="text/javascript"><!--
alert(document.Player.Duration);
// --></script>
document.write 0
alert 取得できる
document.writeのほうでもちゃんと取得するにはどうしたらいいですか?
344 :
フロートメニューの質問:2006/07/17(月) 18:03:57 ID:xFDe0CJ3
345 :
341:2006/07/17(月) 18:16:01 ID:???
>>342 ありがとうございます!
onmouseover="inner('Topページへ戻ります。')" onmouseout="inner('Topページへ戻ります。')">
このようにしたらできました!
thx!
>>344 画面の幅を調べて、その中央になるように横方向も調整するんでしょ。
どっちもちょっと検索すりゃ分かるだろ。頑張ってね。
>>343 objectの直後じゃまだメディアファイルが読めてないんだろね。
document.writeする代わりにonloadハンドラでinnerHTMLに書き込む
とかじゃいけないの?
むしろ作ってくれ
349 :
フロートメニューの質問:2006/07/17(月) 19:21:06 ID:xFDe0CJ3
>>346 すみません。。。
どう検索してよいのか分かりません。
教えていただけないでしょうか?
答えとかできあがったものだけを求めるひとにこのスレは向いてないと思うよ。
>>349 「JavaScript ウィンドウ 幅」とかでぐぐるんじゃないの?
ぶっちゃけ「Javascript 中央」でずばりでる。
>>347 <span onclick="this.innerHTML=document.Player.Duration;">Undefined</span>
正常取得
<span onload="this.innerHTML=document.Player.Duration;">Undefined</span>
Undefinedのまま
<body onload="document.getElementById('movie_time').innerHTML=document.Player.Duration;">
<span id="movie_time">Undefined</span>
0で正常に取得できない
<object data="movie.wmv" type="video/x-ms-wmv" id="Player" onload="document.getElementById('movie_time').innerHTML=document.Player.Duration;">
<span id="movie_time">Undefined</span>
Undefinedのまま
bodyのonloadだけ反応しましたが、正常に取得できません
ページを開いてクリックなどの操作なしで表示させたいのです
ちなみにonloadはbodyにつけないといけないのでしょうか?
spanのonloadはalert('Hello')で確認したら動かないぽいです
>>354 innerHTMLでだめならcreateElementもためしてみれ。
>>355 そういう問題じゃない気がするw
>>354 それは setTimeout とかでタイマーしたらとれるの?
それか、>343 で初めて見たけど
<script for="Player" event="EndOfStream(lResult)"
↑こういうのがいるんでないの?
>>354 HTML的にonloadハンドラがつけられるのはbodyとかframesetとか
iframeとかだけ。HTMLの勉強はちゃんとやった方が…
>>341 全然反応しないからどんなサンプルなのかわからんかった。
Firefoxは動かないのね。
359 :
343:2006/07/18(火) 00:53:17 ID:???
公開串禁止のCGIに串を通して書き込めないのでしょうか?
少なくとも JavaScript の範疇じゃないな
362 :
フロートメニューの質問:2006/07/18(火) 15:42:42 ID:WsWePvkh
>>362 だからできるに決まってるだろ。自分で考えたこととやってみたこと
を書け。何も思い付かないのならアンタのレベルが低すぎるのだから
しばらく地道に勉強するしかない。このスレでは全部書いてやる奴は
いないと思え。自分で修行する奴のためのスレなんだ。
プルダウンメニューを変更したときに以下のjavascriptを動作させています。
function pulldown_change() {
document.form1.submit();
}
htmlはこう書くとします。
<form name="form1">
<input type="submit" name="test" value="ボタン">
</form>
そこで質問なんですが、
上記のpulldown_change()を実行するときにhtmlで書いたように name="test" という値を
hiddenなどで持たせる方法はあるでしょうか。
本やネットなどいろいろ調べてはみたのですが、
よくわからないので質問しました。
すみませんが、よろしくお願いします。
> name="test" という値をhiddenなどで持たせる
え? 日本語でおk
>>365 testという値です。
消し忘れていました。
>>366 それでもわからんてw
どこに持たせて何に渡すんだよ?
クエリに渡すならもう渡ってるだろ?
>>367 文章へたくそですみません。
PHPなんですが簡単に言うと document.form1.submit(); を実行したときに
$form['a'] と $form['test']にデータを入れたいんです。
HTMLではこうするとデータが渡るんですが
同じことができるのか迷いました。
<form name="form1">
<input type="hidden" name="a" value="テスト">
<input type="submit" name="test" value="ボタン">
</form>
どっちかというかjavascript かと思って質問したんですが
やっぱりスレ違いですかね。。。
>>368 ああ、submit の name と value は、そのボタン押したときじゃないと渡らないからね。
普通に
<input type="submit" name="test" value="ボタン">
↓
<input type="hidden" name="test" value="hoge">
<input type="submit" value="ボタン">
ってやるしかないんでない?
それか submit() する前にノード追加するくらいかな。
>>368 つまり<input type="hidden" ...>は絶対に書きたくないと。
しかしPHP側で$form['test']に値が渡って欲しいと。だったら
JavaScriptで<input type="hidden">を生成するとかなな。
しかし普通は<input type="hidden">はHTMLに書いておいてその
値だけJavaScriptで設定すると思うが。ID振っておいて
「document.getElementById('ID名').value = '値';」ね。
>>368 onsubmit で input を差し込んでから submit すればいいじゃん
>>369 そういうことね
だったら form を submit するんじゃなくて
submit ボタンを click() すれば
373 :
368:2006/07/18(火) 20:00:58 ID:???
375 :
368:2006/07/18(火) 20:44:33 ID:???
>>370 その方法でうまくいきました!
ありがとうございました!
>>364-375 結局、一番アタリマエな質問じゃんか。「フォームを送信するときに
値をJavaScriptで設定してから送信するには?」この日本語ができない
がために皆右往左往して10レスくらい浪費してえらい迷惑だ。
>>362 とりあえず「なんとか.style.top = ...;」のすぐ次に
「なんとか.style.left = '200px';」とかやって位置が変化するか
確認してみれば。それができればあとはその「200」の代わりに適切な
値を計算するって問題に帰着するわけだろ。
>>376 そうカリカリすんなよ。わかんないヤシのための質問すれっどなんだから。
「わかんない」にも程度ってものがある
379 :
Kathy:2006/07/19(水) 13:02:08 ID:VE07dBOk
Hi JavaScripters!!
I need a script that basically does the following:
A + B = X
X being the final answer, depending on what A and B are.
A is going to be at least 5 diff. places
B is going to be at least 5 diff. times
A + B will than equal which X is the closest to them, do you follow? I just need it to work once, and I'll try to make it work the other .. however many times there are.
Could anyone help? Thanks!
>>379 I understand your problem as following, is it correct?:
(1) You give one X value, several A values (A1, A2, ...)
and several B values (B1, B2, ...).
(2) You want to know which combination of Ai value and Bj value
gives Ai+Bj which is closest to the X value you have given.
If the above statement is correct, here is the code (data values
are all examples of course):
var A = [100, 101, 200, 250], B = [115, 223, 248], X = 300;
var Aindex = 0, Bindex = 0, Min = Math.abs((A[0] + B[0]) - X);
for(var i = 0; i < A.length; ++i) {
for(var j = 0; j < B.length; ++j) {
var t = Math.abs((A[i] + B[j]) - X);
if(t < Min) { Aindex = i; Bindex = j; MIn = t; }
}
}
alert(Aindex + ':' + A[Aindex] + ' ' + Bindex + ':' + B[Bindex]);
381 :
Name_Not_Found:2006/07/19(水) 18:43:00 ID:uebGllel
以下のように書いたのですが、エラーが出てしまいます。
replace(/平成/g,"昭和")の部分が無いと、正常に動くのですが、日本語を扱う場合、何か細工しないといけないのでしょうか?
function Replace(txt)
{
txt=txt.replace(/\</g,'<').replace(/\>/g,'>').replace(/平成/g,"昭和").replace(/\n/g,'<br/>');
tele.innerHTML=txt;
return txt;
}
383 :
Name_Not_Found:2006/07/19(水) 18:59:05 ID:uebGllel
replace(/平成/g,"昭和")をreplace(/aaa/g,"昭和")のように、アルファベットにするとエラーは出ないのですが、「昭和」のはずが「???」と表示されます。
>>381 そのJavaScriptコード、別ファイルになってない?
HTMLの中に直接<script>...</script>ではさんで埋めてみたら?
それでOKになるようなら、文字コードの認識がおかしい。
385 :
Name_Not_Found:2006/07/19(水) 19:09:34 ID:uebGllel
おっしゃる通り外部ファイルです。
ありがとうございました。
386 :
Name_Not_Found:2006/07/19(水) 19:36:54 ID:9V7tW15i
onload="window.top.defaultStatus='こんにちわ'"
iframeで読み込んだページのbodyにこれをつけました。
NN7では動作しました。
でもIE7では動作しませんでした。
IE5〜IE7でも動作させるにはどうすればいいでしょうか?
>>386 うーん、手元のIE6で動くけどなあ。iframeの中と外は
同じ鯖だよね?エラーは出ていないよね?
388 :
386:2006/07/19(水) 20:43:43 ID:9V7tW15i
>>387 同じサバです。エラーもないんです。おかしな記述にするとチャントエラーも出ますので、
エラーではないと思います。
IE6では動くのでしたか。
そうなるとIE7がまだベータ版だからかもしれませんね。
もしかしたらIE7ではステータスバーはいじれないようになっちゃうのですかね。
まあこれはあきらめモードですかね。
すみませんですせっかくレスもらったのに。
また後で覗きにきます。
まあステータスバーに文字出されると迷惑だしね。出なくていいよ。
390 :
Name_Not_Found:2006/07/20(木) 00:59:35 ID:6jmiihqe
ボタンを押すとその隣に新しいボタンを出現させる、
というスクリプトを作りたいのですが上手くいきません。
当初は出現させるボタンを<input type="hidden">とかにしておいて
いざボタンが押されたらonclickで飛んだ関数先にてhiddenになってるのをbuttonにすればいいじゃん!
なんて考えていたのですが上手くいかず・・(そもそもそんな処理は出来ないような気が・・・)
document.writeで無理矢理と書いてみても
ボタンクリック→ページが切り替わったその所にボタン出現という形になってしまって
自分のしたいこととは違ってしまいます。
どうすれば上手くとボタンを出現させることが出来るのでしょうか、よろしくお願いします。
>>390 俺はよくCSSでデフォルトで表示されないクラスを定義しておく
<style type="text/css">
<!--
.hidden
{
display: none;
もしくは
visibility: hidden;
}
-->
</style>
〜略〜
<input type="button" id="button1" onclick="document.getElementById('button2').style.display='block'" value="ボタン1">
<input type="button" id="button2" class="hidden" value="ボタン2">
392 :
390:2006/07/20(木) 02:19:15 ID:6jmiihqe
>>391 うわわ、凄いです!
なるほど、CSSと組み合わせて使うというやり方もあるんですね・・・勉強になりました!
おかげ様で無事行いたい処理の方も出来ました!感謝です!
>>389 んなこと言ったらjavascriptなんていらねけどな。
('A`)?
>>390 ボタンを「出現させる」なら要素を作る方が簡単では。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head id="h0"><title>???</title>
<script type="text/javascript">
var count = 0;
function test(n) {
var e = document.getElementById('b'+n);
var b = document.createElement('button');
b.innerHTML = ++count; b.id = 'b'+count;
b.onclick = function(x){return function(){test(x)};}(count);
e.parentNode.insertBefore(b, e);
}
</script>
</head><body>
<div><button id="b0" onclick="test(0)">0</button></div>
</body></html>
そもそもボタンなど出現させなくてよい。
うっとおしいだけ。
398 :
Name_Not_Found:2006/07/20(木) 10:33:25 ID:1N/W3VG6
onload="window.top.defaultStatus='こんいちわ';setTimeout(window.top.defaultStatus='',1000);"
iframeで呼び出した先のHTMLにこう記述して数秒表示したらメッセージが消えるというのをやりたいです。
NN7でうまく動作しません。
こんにいわのメッセージなしに後述の空欄メッセージになってしまいます。
関数にしたくありませんのでonloadに一行で書ききりたいのです。
何か方法はありますか?
399 :
Name_Not_Found:2006/07/20(木) 10:54:55 ID:poNu/fOV
>>398 アンタが確かにそういう動作をするコードを書いているだけだろ。
...;setTimeout(function(){window.top.defaultStatus='';},1000);
解説する気はないから自分で勉強すれ。
400 :
Name_Not_Found:2006/07/20(木) 10:54:59 ID:1N/W3VG6
クオート問題でした。
うっとしいことに\でのエスケープもまともにどうさしませんでした。
あきらめてヘッダ部分に関数作っておわりました。
>>400 関数リテラルを知らない奴の悲しさだな。
402 :
Name_Not_Found:2006/07/20(木) 11:00:00 ID:1N/W3VG6
>>399 なるほど。それならクォートなしでいけますね。
onload=".....;setTimeout('window.top.defaultStatus=1',1000);"
ならokで、
onload=".....;setTimeout('window.top.defaultStatus=\'aiuwo\'',1000);"
が動作しなかったんですよ。
要は基本的にsetTimeoutの第一引数にスクリプトをそのまま埋め込まず、
関数の呼び出しにしとけばokってことですね。
403 :
Name_Not_Found:2006/07/20(木) 11:04:03 ID:1N/W3VG6
>>401 ほう。つまり
「何かハッキリしろやボケナス」って私は言われたわけですね?
404 :
Name_Not_Found:2006/07/20(木) 11:05:01 ID:1N/W3VG6
ん?違うのかな。もしかして、
「てめえ、第一は関数リテラルよこせやこのオタンコナス!」
でしょうか?
どちらでしょうか。
ちょっと煽られただけでこれじゃ2ちゃんやる資格ないだろ。帰れ。
406 :
Name_Not_Found:2006/07/20(木) 11:31:03 ID:1N/W3VG6
>>405 いや、質問してるんです。
どっちですかね?
なら教えてやろう。setTimeoutの第一引数に文字列入れてるヤシはダサい
と漏れは思う。だから煽る。終了。これでブチキレかどうか興味あるな(w
//ダサい?初心者の下らない感想なんぞどうでもいい。
HTMLの属性値 setTimeout('... = \'aiuwo\'', 1000)
がそのままスクリプトエンジンに渡されて、
いったんevalみたいな処理をされてから暗黙の関数本体になる、
という事実を知ることが大切だろう。
つまり、\\ しろと。
現に
>>400があるわけだがそれでも文字列エスケープがすきなのね。かわいそうに。
煽られてムキになってるようにしか見えない(w
411 :
Name_Not_Found:2006/07/20(木) 12:39:23 ID:1N/W3VG6
>>407 いや・・・あなたの個人的な趣向ではなくてですね^^;
>>408 なるほどね。\ではなくて\\しておかないといけないわけですか。
しかしそれでは'のクォートができませんよね?HTMLレベルでの?
というよりですね関数リテラルについての理解は
>>403-404のどちらだったのかなという質問なのです。
>>409 あれ?あなたは関数リテラルを知らないんですか?
>>410 ムキムキです^^
kimow
はい次の質問どぞ。
サムハンキンポー!
415 :
Name_Not_Found:2006/07/20(木) 15:11:00 ID:r9wk7evp
質問です。たとえば、
obj.onclick=function(){
this.xx;}
という関数があるとき、このthisは何を指しているのでしょうか。
416 :
Name_Not_Found:2006/07/20(木) 15:11:29 ID:pEngeJAT
外部のHTMLファイルをメインHTMLファイルに読み込ませるにはどうすればよいのでしょうか?
メニューの部分を毎回変更するので、その部分だけを別のHTMLファイルにしようと思っています。
>>415 thisは関数が呼び出されたときの状況に依存。
>>416 1. SSIを使う
2. frame/iframe化する
3. XMLHttpRequestでテキストとして取ってきてwrite
420 :
Name_Not_Found:2006/07/20(木) 23:40:02 ID:CEMj91R5
JavaScriptのバージョンによってできることが違うわけですが、
どのバージョンで何ができるのかが書いてあるような書籍orサイトをご存じないでしょうか?
JSONはいつから使えるようになったかなど、
JavaScriptの歴史的なものがまとめてあると初学者(自分含め)
にとって有益だと思っているのですが、なかなかそういった情報が得られなくて困っています。
>>420 それって普通のReference本じゃないの。JSONは用語が後から
できたんで、言語的にはJavaScript 1.5からずっとできるでしょ。1.5は
N4の時代だから今更「それができないブラウザ」なんて調べても無意味。
はっきりいって、歴史なんて不要。言語仕様自体はECMAで無問題。
ライブラリ類は現在の最新ブラウザの標準仕様外の部分だけ頭に
入ってれば用は足りる。
画像にattachEvent('onmouseover', function (){this.src=hoge});ってしたんだけど、画像が変わってくれません。
どこがおかしいのでしょう?
頭
>>423 そこにthisを書いた場合それはwindowになってるから。
HTMLのonmouseover属性と同じってわけじゃないので。
document.images['名前'].src = ...
にすれば動くでしょ。
ありがとうございました。
for(i=0;i<category.length;i++){
a=document.createElement('img');
a.id=hoge[i];
a.attachEvent('onmouseover', function (){document.images[hoge[i]].src=hage.gif});
}
とやってもエラーになってしまうので悩んでいます。
>>426 ・"hage.gif" って囲めよwww
・hoge[i] はクロージャじゃないのでその値は生きない。
ってか
>>423 で hoge が有効になってれば動くはず・・・はず・・・。
これでどうよ?
a.attachEvent('onmouseover',
function (img) { return function () { this.src=img; }; }( hoge )
);
>>426 だからさー、その無名関数が呼ばれた時にはiの値が変わって
しまってるだろ。そういう場合はこう。
a.attachEvent('onmouseover',
function(x){return function(){x.src='hage.gif';}(a));
429 :
Name_Not_Found:2006/07/21(金) 18:53:02 ID:sC231uOR
なたたち、すごい
アラートウィンドゥに表示されるメッセージを
複数行で記述したいんですけどどうすれば良いんでしょうか。
alert("1行目<br>2行目");
でも出ない…
alert("1行目\n2行目");
複数のテキストボックス上下方向に並んでいて、入力すると自動でフォーカスがしていきます。
ウィンドウの下端まで移動したときに、フォーカスされたテキストボックスをウィンドウの上端まで
スクロールさせる方法はありませんか?
仮にそれができないならjsイラネ
436 :
Name_Not_Found:2006/07/22(土) 12:38:52 ID:u9rmrC8t
言っていることがよくわからないわけだけど。
>>436 藻前の読解力がないだけでは。入力するにつれてスクロール
させたいんでしょ。
>>434 全部の入力欄に「onfocus="this.scrollIntoView()"」をつける
のではだめなのかな。
438 :
434:2006/07/22(土) 13:32:06 ID:???
表現があいまいで申し訳なかったです。。
結局は自動でページをスクロールさせる方法が知りたくて。
@フォーカスが当たってるテキストボックスにアンカーつけて、そのテキストボックスに飛ばせるかな
Aウィンドウの高さ、フォーカスが当たってるテキストボックスの位置を取得してスクロールさせればいいかな
などなど、あれこれ妄想してる段階で質問したのが間違いでした。
437さん、ありがとうございます。早速ためしてみます
439 :
434:2006/07/22(土) 15:46:40 ID:???
scrl = 0; //グローバル変数
・
・
function 〜//フォーカス移動の関数
・
・
if(scrl != document.body.scrollTop){
document.body.doScroll();
scrl = document.body.scrollTop;
}
}
拙いですが、これでなんとかイメージしてた動作になりました。
できればグローバル変数を使いたくないので、もうすこし考えてみます。
「フレーム」という名のインラインフレームを作り
スクリプトとして
document.getElementById("フレーム").width =1000;
document.getElementById("フレーム").height=500;
を実行すると、フレームに設定した縦横のサイズが偏向声されます。
ところが
document.getElementById("フレーム").frameBorder=0;
document.getElementById("フレーム").borderColor= "green";
等にしても、フレーム枠の有無や
フレーム枠カラーが変更されません。
document.getElementByIdを使ってフレーム枠の有無、フレーム枠カラー等を変更するには
どうすれば良いのでしょうか。
labelじゃダメなのかなーとか思ったり
ダメ、勘違い
難しいなコレ
>>440 documentじゃないからじゃない?
>>440 強制再描画には次のような間接的方法が昔からある。
* ブラウザウィンドウを1px動かして戻す。
* blur(), focus() とか、モーダルダイアログ出して消すとか、ウィンドウ出して消すとか。
* document.body.style.visibility = "hidden" して "visible" に戻す。
とりあえず、最後のやり方で、IEはできた。
分かってると思うが、この場合のdocument.bodyとは、DOMインターフェイスで言うHTMLFrameSetElement。
JSで改行(行の終わり)を判別させるには、どうすれば良いのでしょう?
function Marlynn(str){
str = str + "\n";
str = str.replace(/(だ。|だ\r\n|である。|である\r\n|です。|です\r\n)/g,'ですが何か?');
うぎあぁぁ…書き込みボタンをウッカリ押してしまった。やり直し。
----------------------------------------------------------------
JSで改行(行の終わり)を判別させるには、どうすれば良いのでしょう?
function convart(str){
str = str + "\n";
str = str.replace(/(だ。|だ\r\n|である。|である\r\n|です。|です\r\n)/g,'ですが何か?');
return(str);
}
こんなふうにやってるけど、うまくいかないです。
「変換」という意味の英語はconvertだが。そのはずい名前は
直しておいた方がいいかと。
どこの話?
function convart(str) ...
452 :
Name_Not_Found:2006/07/26(水) 09:22:08 ID:ht6TnoFL
JavaScriptで選択範囲に含まれるタグごと取得したいのですが可能でしょうか?
<p>hogehoge</p>
というソースがあるとして、ブラウザ上でテキスト『hogehoge』を選択すると『<p>hogehoge</p>』を返すようなイメージなのですが…
>>452 IEかOperaならouterHTMLで。
<html><body><p onclick="alert(this.outerHTML)">hogehoge</p></body></html>
非標準だしGeckoエンジンだと動かないけど。
>>452 ogehが選択されていた場合は何を返すんだ?
hogehの場合は?
<div>abc<p>def</p>ghi</div> でcdeが選択されていたら何を返せばいいんだ?
>>452 「ogehoge」を選択したときはどうなるの?また
<p>hoge<em>ho</em>ge</p>
でemの内側のoから次のgにかけて選択したときは?また
<p>hoge<em>hoge</em></p>
で最後の「ge」を選択したときは?
456 :
454:2006/07/26(水) 13:26:06 ID:???
457 :
Name_Not_Found:2006/07/26(水) 16:26:03 ID:19iREuHQ
458 :
Name_Not_Found:2006/07/26(水) 18:35:22 ID:XUO28zVq
別のウィンドウから、親ウィンドウをリンク移動させています。
以下。
<script language="javascript">
<!--
function ChangeParent()
{
window.opener.location.href="test.html","","width=500,height=500";
}
//-->
</script>
//フォーム部分
<input name="products_id" value="28" type="hidden">
<input type="image" src="button.gif" alt="テスト" title="テスト" border="0" onClick="ChangeParent()","window.close()">
上記の記述は、仮で書いているのですが、ウィンドウを操作したあとに、
子ウィンドウは、同時に消すようにしたいのですが、
どのように記載すればいいでしょうか?
//今は、以下のように無理やり書いていますが、当然、反応しません。
onClick="ChangeParent()","window.close()">
よろしくお願いします。
459 :
Name_Not_Found:2006/07/26(水) 19:04:51 ID:wWe1BHaN
>>453 ありがとうございます。
でも、そゆんじゃ無いんですよ。
説明不足でしたね。すみません。
>>454-456 >ogehが選択されていた場合は何を返すんだ?
ogehだけ。
>hogehの場合は?
hogehだけ。
><div>abc<p>def</p>ghi</div> でcdeが選択されていたら何を返せばいいんだ?
c<p>deだけ。
>「ogehoge」を選択したときはどうなるの?また
ogehoge
><p>hoge<em>ho</em>ge</p>
>でemの内側のoから次のgにかけて選択したときは?また
o</em>geです。
><p>hoge<em>hoge</em></p>
>で最後の「ge」を選択したときは?
geです。
とにかく、ブラウザ上に表示された文字列を選択したとき、ソースのその部分を取得したいんです。
>>458 過去ログを5スレぐらい探せボケ!
>>457 ブラウザに読み込んだ後は「ソースそのまま」はもはや無くなって
いる。「それらしいもの」程度しか得られないがそれでいいのね?
それよりも、選択の開始位置と終了位置のオブジェクトなんてわからないんじゃないか?
>>461 ちからわざでそれに近いことはできそうだが
要するにできないってことだろうな
>>461 DOM:range.commonAncestorContainer
ちがった。質問者用だった。
>>461 DOM:range.startContainer
DOM:range.endContainer
>>459 これで力尽きた。もっとやりたければ誰か頑張ってくれ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title><script type="text/javascript">
document.onmouseup = function() {
var r = null, a = [];
if(window.getSelection) r = window.getSelection().getRangeAt(0);
else if(document.selection) r = document.selection.createRange(); else return;
trv(document.body, r.startContainer, r.startOffset, r.endContainer, r.endOffset, false, a); alert(a.join(''));
}
function trv(node, snode, soff, enode, eoff, cont, arr) {
if(node.nodeType == 1) { // element
if(cont) arr.push('<' + node.nodeName + '>');
for(var i = 0; i <= node.childNodes.length; ++i) {
if(node == snode && i == soff || node == enode && i == eoff) cont = !cont;
if(i < node.childNodes.length) cont = trv(node.childNodes[i], snode, soff, enode, eoff, cont, arr);
}
if(cont) arr.push('<\/' + node.nodeName + '>');
} else if(node.nodeType == 3) { // text
for(var i = 0; i <= node.nodeValue.length; ++i) {
if(node == snode && i == soff || node == enode && i == eoff) cont = !cont;
if(i < node.nodeValue.length && cont) arr.push(node.nodeValue.charAt(i));
}
}
return cont;
}
</script></head><body><div>tst..<p>hoge<em>ho</em>ge</p>tst..</div></body></html\
>
すごいwwwww
467 :
番組の途中ですが名無しです:2006/07/27(木) 02:13:03 ID:trZqrB6x
【FAQ】 読んだ上ですまないんですが。。
Q1. 開いた別窓/フレームの内容にアクセスできないのですが…
A1. ページ内容が別サーバの場合セキュリティ制約により絶対無理です。
コレに変わる手法ってないですか。。。
下frameのURLさえ取れればいいんですが。
なんでwwwww
470 :
Name_Not_Found:2006/07/27(木) 05:42:50 ID:YwvmVb57
Cやphpなどのように、条件に応じてインクルードするファイルを変えたいのですが、
どのような方法がありますでしょうか?
具体的には、JavaScriptの読込先(他サイト)のCharacterSet(EUC or SJIS)に応じて
読み込むJSファイルを変えたいのです。(EUCとSJISの文字コードのJSファイル)
>>470 過去スレ読めば複数回出ている話題だボケ!
ちなみにC言語で「実行時に」includeを変更する方法なんかないぞ。
>>467 安心しろ。「絶対に」できない。できる方法が見つかったとたんに
大騒ぎになってセキュリティパッチが出るようなことだからね。
>>470 そんなことするより、日本語を全部「\uhhhh」形式に
して入れておけばSJISでもEUCでも同じに動作するだろ。
473 :
Name_Not_Found:2006/07/27(木) 09:22:10 ID:YwvmVb57
>>471 >過去スレ読めば複数回出ている話題だボケ!
どういう風にして解決するのか教えて頂けませんか?
>ちなみにC言語で「実行時に」includeを変更する方法なんかないぞ。
できますよ。
>>472 メンテナンス性も必要なんです。文面を作るのは担当デザイナーなので。
>>473 過去スレを調べられない奴はこのスレに来るな。帰れ。
#includeを実行時に変更したら実行時にコンパイルするのかアホ。
担当デザイナーの作った文面を\uhhhhに変換して設置する程度の
ツールすら作れない厨房はこの仕事辞めたほうがいいと思うね。
473はLoadLibraryやdlopenの事を言っているのだと思われる。
プリプロセッサ命令の"#include"とは違う話なので誤解を生む
誤った表現であるが、実行時に変えられるのは確かだ。
スレ違いでもあるのでこれ以上この話題で煽るのはよそう。
>>473,474
476 :
Name_Not_Found:2006/07/27(木) 11:34:42 ID:YwvmVb57
>>474 過去スレを2つまで遡りましたが、見当たりませんでした。
全てを調べるのは難儀なので、知ってるなら教えて下さい。
知ってるふりなら止めて下さい。
>>475 失礼しました。
>>470 document.writeでscriptタグ吐くとか
>>476 Vol.42 No.29, Vol.41 No.887 Vol.40 No.302
自分の検索能力のなさを思い知れ。
479 :
Name_Not_Found:2006/07/27(木) 12:53:18 ID:FxiIssTc
会員規約とかを呼んでもらって同意しましたってボタンを押してもらったら次へのボタンを押せるようにするのは
JavaScriptですか?
だとしたらどんな風なScriptになりますか?
>>479 最初押せなくしておくボタンはHTML側でdisabledを指定。
その同意しましたボタンの動作の中でdisabled属性にfalseを入れる。
この説明だけで分からないようなら勉強してくれ。
>>477 便乗なんだけど、
scriptタグ吐く方法で文字列中に</script>が有ると実行が終了するから
"<"+"/script>"の様に分けて書いてるんですが
スマートな書き方知ってたら御教授してくださいです。
ふつー '<\/script>' でOKだろ。激しくガイシュツだ!!!
ありがとうございますm(__)m
Javascriptでサーバのファイルを書き換えたりすることはできるのでしょうか?
divタグをドラッグ&ドロップできるようにしており
そのtopとleftの座標をどうにか保存したいのですが、できなくて困っております
>>484 JavaScript単体では無理です。
サーバ側で動くCGIなどを作っといて、XMLHTTPRequestを使うとか。
覚えるだけならクッキーでいいかもよ。サーバ側でその
情報を使ったり、他の人とやりとりするなら、CGIは必須。
返信ありがとうございます
function saveData() {
//省略
xmlhttp.open("POST", "save_file.php", true);
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlhttp.send("test=test");
}
<form method="post" action="save_file.php" style="margin-top:0px;margin-bottom:0px;" onSubmit="saveData()">
<input type="submit" value="Save" style="font-size:12px;">
</form>
こういう感じでphpに送信のテストをしてみましたが、データで飛ばないという状況です
490 :
Name_Not_Found:2006/07/27(木) 22:27:07 ID:memXxxSY
googleのブログの編集ってどんな仕組みですか?
That has nothing to do with JavaScript, huh?
492 :
Name_Not_Found:2006/07/28(金) 02:27:44 ID:5zQwITWH
前期の追試です。この2問に単位がかかっています。ぜひ、お願いします。
2.通常プログラムカウンタはプログラムの実行にしたがって一定の大きさだけ増えていく.
しかし,時に,プログラムカウンタに直前の値とは大きく異なる値がセットされる
時がある.それはどんな時か?
3.次のプログラムは何を行うプログラムか.簡単に説明しなさい.また,
結果を得るまでに,A[k]==aの比較が行われた回数を書きなさい.
A=new Array(3, 8, 19, 20, 22, 24, 45);
i=0;
j=A.length-1;
a=19;
k=Math.floor((i+j)/2);
while(i<=j){
if(A[k] == a){
break;
}
else if(A[k] > a){
j = k - 1;
}
else{
i = k + 1;
}
k = Math.floor((i+j)/2);
}
if(i>j) k=-1;
document.write(a," ",k);
お前素直に単位落としたら?w
手取り足取りにも同じ追試受けてるやつがいたな。
おともだちにきいたほうがいいとおもいますよ。
>>492 2. 作者の設計ミス
3. 作者の腕の度合いを測るプログラム
その単位って製作現場で役に立つんですか?
宣伝乙
>>500 ありがとうございます。まさにこれです。
最近、こんな感じのが流行ってますよね。
そうか?w
いいえ
どこで?
505 :
501:2006/07/28(金) 16:18:05 ID:???
見るサイトみんな使ってますよ!
506 :
Name_Not_Found:2006/07/28(金) 16:55:02 ID:aYZuYJ+z
下の様なプログラムで、親ウインドウから子ウインドウを開いて
画像を表示させる物を作っているのですが
WinのIE6でうまく動作しません。(firefoxなどは大丈夫)
どうしたら良いのでしょうか?
親ウインドウ側
function subwindow(num)
{
childwindow=window.open(theurl)
childwindow.c_num=num;
}
子ウインドウ側
document.write('<img src="img/photo'+c_num+'.jpg" height="100" width="100">')
>>505 どこのローカルインターネッツだよ(笑)
好きなようにしたらいいよ。
洩れも年なのかなあ。トランジションだのチャラチャラしたのだの、ウザくて堪らん。
切り替わるならスパッと変わるのがいい。小細工はいずれ飽きる。
Simple イズ Best だな。
なんでイズだけ半角カナなんだよ
うちもパッと変わるのがいい。 マウスでクリックして閉じるという動作しなくちゃ切り替わらないのも面倒。
511 :
Name_Not_Found:2006/07/28(金) 23:10:26 ID:+e/4InHI
<span id='windowid'></span>
document.getElementById('windowid').style.heightで縦のサイズが習得したいと考えているのですが
空の値しかかえって来ません・・・。どうしてなのでしょうか?。
<span id="windowid1">あああ</span>
<script type="text/javascript">
alert(document.getElementById('windowid1').style.height);
</script>
<span id="windowid2" style="height:10px;">いいい</span>
<script type="text/javascript">
alert(document.getElementById('windowid2').style.height);
</script>
513 :
Name_Not_Found:2006/07/28(金) 23:35:59 ID:+e/4InHI
>>512 ありがとうございます。
classで設定しても習得できない事がわかりました。
514 :
Name_Not_Found:2006/07/28(金) 23:57:45 ID:lnAtdvZU
alert(eval('{hoge:3}')) // => 3
alert(eval('({hoge:3})')) // => [object Object]
Firefoxでこうなったんだが、これは仕様?
>>511 >>3の8と同じでok
>IEではe.currentStyle、Geckoではwindow.getComputedStyle()を使います
517 :
Name_Not_Found:2006/07/29(土) 16:19:40 ID:Svwgy7b0
iframeのURLが変更された時のイベントを取得したいのですが
何か方法があれば教えてください。
環境はIE5以上です。
518 :
Name_Not_Found:2006/07/29(土) 19:25:57 ID:Svwgy7b0
自己レスです
<iframe height=100 width=100 onload=IframeOnLoad()></iframe>
しておいてIframeOnLoad()を定義してそこでゴニョゴニョすることで解決しました。
なんだその裸は?
orelib.setHoge(100);
とかいう風にネームスペース付けて使いたいんですけど、こんな風に
var orelib = new Object();
function _setHoge(i){
...
}
orelib.setHoge = _setHoge;
一度別名で定義してやってます。何かもっとスマートな書き方無いですかね?
コードが短ければ new Function() で済ませられるんですが。
>>520 ん?
orelib.setHoge = function () {
〜
};
じゃだめなの?
523 :
522:2006/07/30(日) 09:01:30 ID:???
すまん、誤送信。
あるいは
orelib = {
setHoge: function() {
〜
}
};
じゃだめなの?
告白するとヲレ様は
iframeを脳内では
愛フレームと独自読みです
きゃっwwwwww
別にいいんじゃね
インラインフレームって長いし、アイフレームって言う人も普通にいるっしょ
アィフレェインム
いフレーム
iframe要素なんだからそのまま読んだらいいんでないの。
529 :
524:2006/07/30(日) 17:58:47 ID:???
釣れたみなさん、どうもありがとうございました
ついでにGeckoは月光と…(ry
ではでは(´・д・`)つ
イフらめぇ
if(rame)window.iframe.location.href=rame;
>>531 これからはiframeを見るたびにおっきしてしまいそうだ
イフらめぇええぇぇぇぇぇえぇぇっ・・・・・・!
<iframe width="40" height="140" border="2" src="自主規制">
こんなもん?(何が)
<iframe width="55,40,60" height=150>
ttp://www.drk7.jp/MT/archives/001011.html >Ajax は大変便利な技術なのですが、セキュリティの観点から自ドメインへのアクセスしか許可されていません
>(正確には、XMLHTTPRequest のクロスドメイン制限)。
>JSON は JavaScript 上でそのまま使えるデータ形式でクロスドメイン制限がないという特徴を持ちます。
とありますが、そもそもXMLHTTPRequestがクロスドメイン制限してるんなら、データ形式がXMLだろうが
JSONだろうが、XMLHTTPRequestのクロスドメイン制限にひっかかるんじゃないでしょうか?
どういう仕組から、JSONだとクロスドメインを回避できるのか、根本的に説明してるところとかないでしょうか?
JSONでもクロスドメイン制限はあるのだけれど、JavaScriptのオブジェクトに変換しちゃった時点で、
ドメイン情報も消えちゃって、制限もなくなるっていう感じでしょうか?
うん
白人に一度も対峙した事のない半万年奴隷の朝鮮人が
アジア人全体に対する蔑称"Monkey"を 白人になったつもりで日本人に呼び
米国人のつもりで日本人を"JAP"と呼び
中国人になったつもりで日本人を"倭人"と呼ぶ
4万人の同胞が被爆死亡しているにも係らず"戦勝国民"になったつもりで原爆投下を喜び
韓国人が実行不可能な"中国人の有人飛行"で日本人を冷やかす。
そして風呂に入る習慣を日本人から教わった朝鮮人が中国人のことを軽蔑して
「テノム(垢野郎)」という有名な悪口を頻繁に口走る。
「韓国の歴史とはただ強い者に媚びへつらい、弱いものを圧殺するというそれだけの
歴史である。」
朴泰赫"醜い韓国人"より
>>536 JSON自体は単なる表記法であり、そこに書いてあることは間違い(っていうか言葉不足)。
サンプルみればわかるが、クロスドメイン制限のない<script src="">を使ってるのがミソ。
>>539 それでデータが来なかったらどうするんだよなぁ。酷い話だ。
timeoutも処理できないし、XMLHttpRequestの安定性に比べてゴミのようだ。
自分のサーバにプロキシを置くほうがどれだけましなことか
>>540 俺はけっこう面白いアイディアだとは思うけどな。postできないのが悲しいが。
bodyにつっこむのもなんだからheadにつっこんで、
onloadに完了フラグ立てさせて、終わったら挿入したタグを除去とか。
通信エラーは実際上は検知できるかどうかのみが肝だし、
ポーリングでカウントしとけばどうにでもなるんじゃないかと。
>>541 言っている意味がわからないのだけれど、
リアルタイムに通信したいわけだよね。JSONの場合などは特に。
だからスクリプト中に、
document.getElementsByTagName("head")[0].appendChild(scriptElement);
みたいにスクリプトを埋め込むという話だと思ったんだけど、
そうだとするとonloadとかそういう話は完全に的外れになってしまうよね。
そうではない読み込み方を想定していたのかな?
>>542 サイトのサンプルソース見ればわかるけど、lww1.onloadのことね。
…と思ったがこれはきっと読み込んだscriptから呼ばれてるのかな。おっかけてないけど。
まぁそのへんの手順をパッケージングすればそれなりに使えるんじゃね?
単に呼び出し先のスクリプトが document.load_complete = true; なりを最後に付けるようにしといて、
あとは回してload_completeを監視するだけ。
544 :
Name_Not_Found:2006/08/01(火) 23:52:17 ID:PkNgezVx
画像のwidthとheigtを取得する方法ってありますか?
img.width
img.height
>>543 相手スクリプトにそういう制約をつけなければいけないからなぁ
別ドメインで、相手がそういう監視用の何かを付けてくれるということは
あまり期待できないからね。両方自分で管理できるなら普通は同じドメインだし。
〜hoge.html?fuga=1
としたときの、fuga=1を取得するJavaScriptのコードはありますか?
location.search.slice(1)
サンクス。やってみる
>>546 逆に、自分がサービスを他ドメインに提供したい場合に使える。
パッケージングしたアクセスAPI入りJSと、動的JSの組合せ。
あと、HTMLだけはカスタマイズできるASPから他ドメインサービスを利用するとか。
やってみよ
552 :
Name_Not_Found:2006/08/02(水) 17:45:46 ID:dxTBGwAF
VBAがちょっとできるだけの初心者です
最近ホームページにjavaがついたのがありますが、これは解析できるんですか?
たとえば時計とか・・・
世界の時刻ってありますよね、そのデータをリアルタイムで取得したいんですが
java勉強すればデータを取得できますか?
ちなみにjavaはまったく勉強してません
JavaScriptスレにJavaは板違いだけど、Javaアプレットの時計のこと?
で、データを取得とか大げさに考えすぎで、時差を計算してるだけ。
タイムサーバーからデータ持ってくることもできるけど、そこまでやる意味があるかも謎。
JavaScriptでの時計のことなら、そのままのキーワードでググれば、目移りするほど出てくるからすきなのを。
そして最後に、
>>1の12行目を声に出して嫁。
555 :
Name_Not_Found:2006/08/02(水) 19:01:38 ID:VsPKmLRG
[画像aa][画像bb][画像cc][画像dd]
を
<img src="aa"><img src="bb"><img src="cc"><img src="dd">
と言う風にURLだけそのままに返還することは出来ますか?
557 :
Name_Not_Found:2006/08/02(水) 20:37:29 ID:1TMA2IGt
>>555 '[画像aa][画像bb][画像cc][画像dd]'.replace(/\[画像([^\]]*)\]/g, '<img src="$1">');
558 :
Name_Not_Found:2006/08/02(水) 23:30:47 ID:aOCb11dw
カタカナを入れるようにformを設定したいんだけど、
CGIでなくてJavascriptでカタカナを判別させることできます?
カタカナ以外の文字を記入したら アラートを出したいのだが、、、。
>>558 str='アイウエオ(中略)ラリルレロワンアイウエオ(中略)ラリルレロワン';
>>558 String.prototype.isKatakana = function() {
return /^[ァ-ヶヲ-゚]+$/.test(this);
}
alert("アイウ".isKatakana());//true
alert("あイウ".isKatakana());//false
おまえらさっきから何うめいてるんだ?
562 :
Name_Not_Found:2006/08/03(木) 00:14:34 ID:FC54Od3F
>>559 560
なるほど。50音のカタカナを直接記述して参照させればいいのか、
「^[ァ-ヶヲ-゚]+$/」の意味はよく分からないけど、、、。
ありがとう。
>>560 さりげにStringを汚染しているのにワラタ
>>563 あ、俺もそこが気になったんだけど、
ビルトインオブジェクトのprototypeに勝手に追加するのはやっぱりまずい?
それが直接的に他のスクリプトに影響を与えることは少ないとは思うけど…
>>564 俺もなんの制約もない状況なら普通にやる。
そのスクリプトがサイトで公開されたのち、
運用フェイズで第三者が書き足したりする可能性がある場合は、
やらない方を選択することが多い。
>>564 俺はめったにやらないな。
制約無ければどちらでもいいと思うけど、書いたコードを再利用することを考えてやらないことが多い。
Stringなら正直いいとは思うが、ObjectではやってはいけないのにStringではやってもいい、というのも統一感がないし…
ObjectにはやらないがStringとかArrayならやる。
というかString.prototypeにisKatakanaを追加するのと
グローバルにisKatakanaを追加するのだったら前者を選ぶ。
MyLib.isKatakanaとかやるなら話は別だが。
>>567 俺は一番後者、MyLib.isKatakanaだな。
俺もグローバルはちょっとやりたくない
569 :
Name_Not_Found:2006/08/03(木) 08:39:51 ID:fPHrPt31
ちょっと質問なのですがスクリプトでSVGを操作したいのですが。
なんだか色々種類があるようで困っております。
アドビが出しているSVGビューワに付属の
スクリプト(これってJScriptなのでしょうか?)を使えば良いのか
それともIEやネスケについてるJScriptを使えば良いのか。
SVGにも色々種類があるようなので
これらの間にIEとネスケみたいな非互換があるのかどうかも気になります。
始めてのSVGみたいな、簡単な線を表示して
その長さや色をスクリプトで変えたりするような処理とか
そういうのを一通り試してみたいのですが。
一応検索して見たのですがよいサンプルが見つかりませんでした。
どこかによい資料ございませんか?
JavaScriptでクライアントがcookieを有効にしているか確認したいのですが
そのための関数はありますか?
571 :
Name_Not_Found:2006/08/03(木) 12:54:20 ID:4WU4rnCR
なんでJavaScriptスレがWEB制作板にあるの?
プログラム板にあるべきだと思う。
ム板に適正なスレは無かったが?
ム板はECMAScriptのスレなので微妙に違う。
あっちのテンプレ読め。
ノウハウの無駄。ム板のECMAの方に統合したほうが良い。
今更だなw
ttp://pc8.2ch.net/test/read.cgi/tech/1088298991/l50 2 名前:デフォルトの名無しさん メェル:sage 投稿日:04/06/27 10:17
2. - JavaScriptについて -
JavaScriptは動的Webページ作成専用言語ではありません。
このスレでは、★言語★としてのECMAScript(JavaScript、JScript等)の話題を扱います。
ブラウザ環境でのJavaScriptはWeb製作板へ。ASP、CGIなどはWebProg板へ。
●スレ違い●なレスの例
+ JavaScriptによるWebページの挙動実現に関する疑問/質問、は、
■スレ違い■です。→Web製作板へどうぞ
+ Webブラウザの動作挙動に関するの疑問/質問 は、
■スレ違い■です。→Web製作板へどうぞ
+ そのほか、Webページ作成に限定した内容の疑問/質問 は、
■スレ違い■です。→Web製作板へどうぞ
>>577 スレ分け自体が無意味だと言っている。
そこのテンプレ書いた奴は馬鹿
スレタイにECMA「-262」まで書いてないと完全に馬鹿だよね。
ECMA-357とかも含めるなら「ECMAScript」のほうがあってるんじゃないか。
ム板のほうは言語のスレでこっちはDOM関係(DOM0含む)のスレということでいいんじゃないか。
ECMAScriptというと262の3rdだと思い込んでいたけど、他にもあるの?
583 :
Name_Not_Found:2006/08/03(木) 15:59:35 ID:PS7GcVwA
javascriptでわからないことがあって困っています。
myarray = new Array();
function myfunc (myval) {
myarray.push(myval);
document.myform.mytextarea.value = myarray;
}
<form name="myform">
<img src="" onclick="myfunc('hogehoge')">
<textarea name=""></textarea>
</form>
上のjavascriptを書いたのですが、IEのみ上手くうごきません。
画像をクリックすると、その下のテキストエリアにhogehogeという文字列が
入るようにしたいのですが、IEだとページでエラーが発生しましたと言われます。
アドバイスお願いします。
584 :
583:2006/08/03(木) 16:00:45 ID:PS7GcVwA
<textarea name="mytextarea"></textarea>
でした。すみません。
>>583 > エラーが発生しました
エラーの内容を書け
587 :
Name_Not_Found:2006/08/03(木) 17:10:57 ID:PS7GcVwA
>585
レスどうもです。
IEのウインドウ左下(ステータスバーでしたっけ?)に黄色い三角形のびっくりマークのアイコンが出て、ページでエラーが発生しましたと表示され、
テキストエリアには何も表示されません。
このフォームにはほかのjavascriptのfunctionも書かれていて、それらは問題なく動きます。
ちなみに上に書いたコードは、実際は<img>が沢山並んでいてそれぞれ('hogehoge')の内容が違います。画像をクリックするたびにjavascriptの配列にhogehogeの部分をを入れて、その都度その配列の内容をtextareaに表示させたいです。
宜しくお願いいします。
588 :
Name_Not_Found:2006/08/03(木) 17:12:02 ID:PS7GcVwA
>586
レスどうもです。
584は書き忘れました。すみません。
584のように書いてもうまく動かないのです。わかりますでしょうか?
とりあえず
>>587で書いた「色い三角形のびっくりマークのアイコン」
をダブルクリックして
「詳細を云々」という奴をクリックすれば
エラー内容が出てくる
590 :
Name_Not_Found:2006/08/03(木) 17:24:04 ID:PS7GcVwA
すいません!自己解決しました。
functionの名前とtextareaのname=""の名前が同じなのが不味かったようです。
function hoge
textarea name="hoge"
みたいな。
勉強不足でお騒がせしました。
>589
貴重な情報ありがとうございます。知らなかったです。
592 :
Name_Not_Found:2006/08/03(木) 17:30:02 ID:PS7GcVwA
>586
上のコードですか?
テキストエリアのnameをmyfuncにすると動かないと思います。
もしくはfunctionの名前をmytextareaとか。
あまり無いことだとは思いますが、急いで書いていたので
あまり考えずに名前をつけていった結果、招いたエラーでした。
593 :
591:2006/08/03(木) 17:34:08 ID:???
>>569 FFxで動く例。SVGスレに逝った方がいいとは思うが。
<?xml version="1.0" encoding="iso-2022-jp"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "
http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="
http://www.w3.org/1999/xhtml" xml:lang="jp">
<head><title>???</title></head>
<script type="text/javascript">
var s0, e0, x = 100, v = 3; r = 0, d = 3;
function init() {
s0 = document.getElementById('s0'); s0.onclick = function() { v += 1; };
e0 = document.getElementById('e0'); e0.onclick = function() { d = -1.1*d; }; setInterval(step, 50);
}
function step() {
x = (x+v)%450; s0.setAttribute('x', x);
r += d; e0.setAttribute('transform', 'translate(300,75) rotate('+r+')');
}
</script>
<body onload="init()"><p>SVG Sample</p>
<svg width="400" height="150" xmlns="
http://www.w3.org/2000/svg">
<g fill-opacity="0.3">
<rect id="s0" x="100" y="20" width="50" height="50" fill="blue"/>
<ellipse id="e0" cx="0" cy="0" rx="70" ry="40" fill="red"/>
</g></svg></body></html>
595 :
Name_Not_Found:2006/08/03(木) 19:41:52 ID:39X+sxhx
innerHTMLで書き出したリンクがちゃんとリンクされないんですけど、どうにかなりませんか?
ケアレスミスだと思うので、ソース晒して
597 :
Name_Not_Found:2006/08/03(木) 23:19:47 ID:39X+sxhx
なんかしんないけど、直ってました。
ありがとうございます。
ほら、こんなレベル低いスレ、マ板に置けるわけ(ry
ブラウザがIEだった場合、再描画がうまくいかなくて、アンカーが見えなかったり、変なところに残ったり、画像がずれたり、z-indexが狂ったりする。
自分のぐっちゃぐっちゃなソースを棚にあげてブラウザのせいに
する奴がいるから、ソースを見ないことには信用できない。
ソースが見せられないくらいぐっちゃぐっちゃなら、さらに怪しい。
んでもIEだけ他と見え方や動作が変るってのはガチ
いや Opera もけっこー違うけどね。 前はひどかった・・・。
IEよりもOperaの方が正しい解釈。
火狐がベストだけど。
何を持って正しいと言うのか
正しいと思ったこと
____
/ ノ ヽ、_\
/( ○) (○)\
/::::::⌒(__人__)⌒::::: \ そう!その個ゴーマンが世界をダメにするんだお!
| |r┬-| |
\ `ー'´ /
____
/ \
/ ─ ─\
/ (●) (●) \
| (__人__) | ・・・・・
\ ` ⌒´ ,/ .
/´ ヽ
| l \
ヽ -一''''''"~~``'ー--、 -一'''''''ー-、.
ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
W3Cこそ正義
また孫か
610 :
Name_Not_Found:2006/08/04(金) 22:42:15 ID:sHVYd5AF
うは <span id="drag"> が複数あるwww
>>611 ?? 配布元のスクリプトが間違っているということですか?
同じidがいくつもあるのはおかしい。HTMLの文法的に。
ちなみにそのサンプルはFirefoxでは動かない。
>>610 複数ある前提のスクリプトなので1つだと動かないから、次のように修正
//オブジェクトのリスト
document.all.item("drag").onmousedown = onMouseDown;
しかし、IDは本来同一名を許可していないので、ちゃんと勉強したいなら違うサイトを見つけたほうがいいと思う。
615 :
610:2006/08/04(金) 23:20:51 ID:???
なるほど。これは無理矢理動かしてる感じなのですね。
アドバイスありがとうございます、似たものを探してみます。
追記。
どうしてもやるなら
objlist = document.all.tags("span");
にして、
id="drag"は削除
かな。
dragでちょっと思い出した。
drag処理を書いているとマウスイベントをキャプチャしたくなることって良くあるんだけど、
みなさんどうやってますか?
・全てのイベントハンドラに if(isMouseCaptured) {return false;} を書く
・一番前面にスクリーンを覆い尽くすような透明DIVを作成し、
マウスイベントを全部そいつが拾うようにする
たいていはこういう方法で処理しているけれど、どちらも美しくないですよね。
もっといい方法があれば是非教えてください。よろしくお願いします。
setCapture()
>>618 標準じゃないよね。FirefoxやSafariで動くの?
すいません 何時間も考えてるのですが分からないので質問させて下さい。
スレ違いだったら誘導お願いします。
<form>の内容を新しいウインドウでSubmitしたい(残念なことにせざるを得ない)のですが、
target属性を使わずに実現する方法がさっぱり浮かびません。
target="_blank"を使わないために、JavaScriptで新しいウインドウを作ることは考えたのですが、
作成したウインドウ名を<form>のtarget属性で指定する羽目になって本末転倒になってしまいました。
そこでJavaScriptで該当form.target = "作成したウインドウ名";
とやることは考えましたが、正直同じことの繰り返しです。
もし解決法をご存じの方がいらっしゃいましたらご教示願います。
散々考えましたが私の頭ではどうにもなりませんでした。
GETは楽そうだけどPOSTは思い浮かばないなあ。
type=file さえ使わないなら、逆に window.open で開いた窓に form つくって、フォームの内容そのままコピーして入れて、その窓の form を submit() させればいいかも。
素直に target 使うのが一番簡単なんだけどw
>>620 とりえあず
>>621が素直と思うが、なぜ「targetを使わない」という
制約があるのか書いてみない?
>>620 「target属性をhtmlに書かない」でよければ、
<form id="hogehoge">
としておいて、
document.getElementById("hogehoge").target = "fugafuga";
なんてしてみたりして。
>>623 >>620 > そこでJavaScriptで該当form.target = "作成したウインドウ名";
> とやることは考えましたが、正直同じことの繰り返しです。
フガフガ
ごめんねぼけてた。
626 :
620:2006/08/05(土) 10:34:07 ID:???
レスしていただいた方々本当にありがとうございます。
>>621,622
すいません、type=fileです…
掲示板の投稿画面に外部のアップローダ(rapidshare等から選択可)にファイルを
アップロードする機能を付けるためのコードなので…
具体的には、ファイル選択の<input type="file">とアップロード先選択の<select>、
及びsubmitボタンがあるだけの簡単なフォームで、
ダウンロード用のアドレスなどはアップロード先のサーバーのページを表示させて入手し、
そのアドレスを投稿画面で投稿内容にコピペして、ファイル添付もどき機能を実現させるというものです。
そのため、これを同じウインドウでSubmitしてしまうと、戻っても書き込み途中の内容が消えてしまう可能性があります。
また、掲示板書き込み用のフォーム内容を一時的にcookieに保存するという手もありますが、
それではアップロードが終わるまで投稿内容を書くことが出来ず、投稿の際極めて非効率です。
なので、いくらW3Cが「新しいウインドウ禁止!」と言っても、
この場合どう考えても新しいウインドウに開くのが現実的なわけです。
それで、これはある掲示板スクリプトのMODとして書いているわけですが、
MODとして(個人的な使用のみでなく)一般的な配布を考えていて、
またコード自体はほとんど弄らずに他の掲示板やその他のScriptに移植可能なように、
出来る限り汎用性が高いものにしたいと思っています。
と、上記が「出来ればStrict系XHTMLでは使用できないtarget属性は用いたくない」という理由なのですが、
こんな説明でよろしいでしょうか?
現実的な話をするならば、このMODの対象である掲示板ScriptはXHTML 1.0 Traditionalで書かれているので、
target属性を使うことは(非推奨ながら)出来ますので、targetで妥協することは出来ます。
しかしながら上記の汎用性の問題以外にも、
「target属性を利用せずにformを新しいウインドウでSubmitする方法を知りたい」、
という個人的な理由もありまして、質問させていただいた次第です。
627 :
620:2006/08/05(土) 10:34:58 ID:???
>>623 結局の所本来使えないはずのtarget属性をJavaScriptで使っているだけなので
その案は却下しましたが、一般的にはそのラインで妥協するのかも知れませんね。
>>624 フォローありがとうございます。
「外部のアップローダ」 ってとこでもういかんわw
>>626 iframeの中にフォームが入っている奴を生成してその中を
送信すれば外側には影響がないけど。もちろんそのiframeは
見えなくするのも簡単だけど。
レスありがとうございます。遅くなってすいません。
>>628 どこら辺がダメなのか教えていただきたいです。
問題点を指摘していただければ今後注意します。
想像できる範囲では、
1.アップローダの話題自体がタブー
2.外部のファイルホスティングサービスに他サイトのフォームからアップロードできるようにするのはcheat的実装である
の2つくらいしか思い浮かばないのですが…
1.に関しては自分の利用しているサーバーにアップロードさせるよりも、
一般的なファイルホスティングサービスにアップロードさせる方が、
ディスク使用量、転送量、負荷等で問題になりにくいうえ、
望まないファイルを自分の利用しているサーバーにアップロードされないという利点もあり、
アップローダがタブーになる原因となる主たる問題はクリアしているのではないか、と私は考えました。
2.に関しては、このMOD自体は他の方が作成されたほぼ同機能のMODのアイデアを利用したもので、
しばらくアップデートされていないため選択可能な多くのサーバーで利用できなくなっていたうえ、
HTMLのコードにかなり問題を抱えていたそのMODの代替品を作成しようと思い立って始めました。
元となっているMODは掲示板スクリプトの公式サイトで配布されていますし、
ファイルホスティングサービスの収益モデルという見地からも、
一般的に許される範囲のcheatであろうという認識を私は抱きました。
>>629 元となったMODはiframeを使用していましたが、何故かtarget="_blank"でした。
確かにiframeを使用して、使わないときはdisplay:none ;とかした方が、便利な実装ではありますが、
iframeを使うとstrictなXHTMLで使えないという点ではtargetと何ら変わりがないので、
「JavaScriptで新しくウインドウを作成し、アップロードフォームを記述したページをそこに開く」
という方法をとることにしました。
フォームを投稿画面内に表示できないので、MODで新しい機能が追加された感がありませんが、
汎用性という意味ではよい実装方法と言え、取り得るベストの選択肢ではないかと思いましたので。
ということで一応解決ということにさせてください。
今までレスしていただいた方々本当にありがとうございました。
スレ汚し申し訳ありませんでした。
>>630 「別サイトにスクリプトを利用してローカルファイルをアップロードできる」
これがどういうことか考えてみよう。
ふつうのブラウザならそういうのは実装しない。注意も糞もない。
またフォームから他サイトへのスクリプトによる自動的な情報送信もほぼ同様。
ふつうのブラウザは「別サイトにスクリプトが情報送りおるで」と(ry
var referThis = this;
element.addEventListener('click', function(event){referThis.method.call(referThis, event), false};
みたいに書いてるんだけど、もちっとスマートに書く方法、教えて。
633 :
632:2006/08/05(土) 19:07:42 ID:???
あ、括弧の対応が変だった、
var referThis = this;
element.addEventListener('click', function(event){referThis.method.call(referThis, event)}, false);
て事で、教えて。
>>633 このスレ的によく使われてる手法は
, function (obj) { return function () { obj.method() } }(this),
みたいな感じだよ
635 :
Name_Not_Found:2006/08/05(土) 19:17:53 ID:/4dDX4XU
element.addEventListener('click',
function(x){return function(e){x.method.call(x,e);}(this), false);
>>634,636
サンクス、ややこしいなぁ…
obj(x) を引数とし、関数リファレンスを返す、無名関数に、thisを引数として渡すって事か。
>>635 無かった…
DOM2、3仕様書の日本語訳知らない?
641 :
620:2006/08/06(日) 01:02:49 ID:???
>>631 レスありがとうございます。
>>626 でも書きましたが、
<form>はファイル選択の<input type="file">とアップロード先選択の<select>、
及びsubmitボタンがあるだけで、実際に送信される情報はファイルだけです。
また、ファイルのアップロード自体は
<form>のaction属性でアップローダのアドレスにPOSTしているだけで、
アップロード行程にはJavaScriptは利用せず、単なるHTMLで実装しています。
私が調べた範囲(Win IE,Firefox,Opera)では、アップロード時にブラウザから警告は出ませんでした。
<form><fieldset>内の<legend>に外部にアップロードするフォームであることは明記している、
ユーザーがアップロード先のリスト選択の際には
自分で送ろうとしているホスト先を選択、つまり認識していると言える、
送信の際にはSubmitをユーザー自ら押している、という点からも
ユーザーに無断で情報を送ろうとしているとは決して言えないと思います。
セキュリティの観点からも(他サイトのフォームからアップロードできるのは)
望ましくはないかも知れませんが、
アップロード自体にはクライアントサイドのスクリプトは関わっていない以上、
特に危険性がある実装だとは思いません。
というと完全にスレ違いっぽくなってしまうので補足しておきますと、
「<form>のtarget属性を使わずにJavaSciptで同様のことが出来ないか?」
という質問でしたので、こちらに質問させていただきました。
とりあえずやりたいことを箇条書き5行でまとめれ。長くて読む気にならんし。
理由とか言い訳とかいらん。
外部アップローダのスポンサーを馬鹿にしてるような使用だからもう相手しなくていいよ。
想像するに、やりたいことは「やったことない人でも簡単にアップローダ
が使えるようにお善立てしてファイルアップロードさせる」んでしょ。
技術的には普通にアップローダのページからアップロードするのと同じ
わけだから問題なくできるでしょ。
マナー的に問題あるかどうかは、アップローダのポリシー次第だよな。
アップしたところで
そのURLはどうやって取得するの?
もし可能だとしても、そっこーでその掲示板からのアップロードはシャットアウトされちゃうだろうね
ところで、君のとこの掲示板にうちのサイトから投稿する手段はあるだろうか?
なぜそう言うことをしたいかと言うと、うちのサイトが荒らしの目標になっても掲示板は君のとこの掲示板だからうちのサイトは痛くも痒くもないからだ。
647 :
Name_Not_Found:2006/08/07(月) 07:02:37 ID:wsk4HgaU
javascriptの質問かどうか判断がつかないのですがお願いします.
データをhtmlファイルに書いておいて,直後のscriptでそれを加工して表示したいと思っています.
<div id=data>データ</div>
<script>kakou_print(data)</script>
とやれば一応望む動作はするのですが,数十カ所あるため
<div id=data>データ</div>
<script>kakou_print(直前のエレメント)</script>
という風に記述する方法があれば教えてください.
データをhtmlファイルの好きな場所に書くことができ,それを加工して表示できるならどんな方法でも構いません.(ただしデータ以外の部分は同一で)
いくつか方法を試みたのですが
<div onLoad="kakou_print(this)">データ</div>はイベントをハンドルできず,
<script>kakou_print(this.previousSibling)</script>はthisがwindowを指してしまうようで
うまくいきませんでした
648 :
Name_Not_Found:2006/08/07(月) 07:47:09 ID:D1vu8p7W
アリの巣コロリってあるじゃん。
蟻の行列にポンと置くと、一瞬ビックリして列が乱れる。
邪魔だなと言わんばかりに迂回する列が出来る。
そのうち好奇心旺盛な一匹がアリの巣コロリに入る。
そいつをマネして何匹も入る。
毒とも知らずにツブツブを運び出す。一匹が一粒づつ。
いつのまにか行列はアリの巣コロリが折り返し地点になる。
黄色い粒と黒い蟻が作り出す模様は綺麗で見てて楽しい。
一匹が一粒づつ、丁寧にせっせと毒の粒を運ぶ。
せっせと、せっせと、せっせと、せっせと。
蟻さんって働き者だなと思う。俺も頑張らなきゃなと思う。
次の日、あれほど沢山いて俺を困らせた蟻が一匹もいない。
ほんとにいない。探してもいない。泣きたくなった。
このレスを見た人は4日後にあなたの大切な人がいなくなるでしょう・・・・
それが嫌ならこのレスを5つの板にコピペしてください。
信じるか信じないかはあなた次第です。
oΩoの効果的な勉強の仕方を教えてください。
>>647 <div class="data">データ</div>
ってやって、onload したときに getElementsByTagName('DIV'); で
class=dataのあるDIV要素の次に新しいDIV要素作って、そこに
新しいDIV.innerHTML = kakou_print(class=dataのDIV);
ってやるのはダメなの?
あるいはこう?
<script type="text/javascript">
function kakou_print() {
var divs = document.getElementsByTagName('DIV');
document.write( divs[ divs.length - 1 ].innerHTML );
}
</script>
<div id="contents" class="article">
<div>データ1</div>
<script type="text/javascript">kakou_print()</script>
<div>データ2</div>
<script type="text/javascript">kakou_print()</script>
<div>データ3</div>
<script type="text/javascript">kakou_print()</script>
</div>
もっといい方法あるかもだけど思い浮かびませんでした。
確か前スレか前々スレあたりで現在実行している
script要素を取得するってのがあったから
それを応用するといいかもしれない。
確実な取得は無理という結論だった気がするけど。
IE限定ならこんなこともできるけど。
<script type="text/javascript">
function hello(element) {
element.innerHTML = "Hello world!";
}
</script>
<p></p>
<script type="text/javascript" onreadystatechange="if (this.readyState == 'complete') hello(this.previousSibling);"></script>
>>647 onloadはHTMLの仕様上divにはつけられない。HTMLの勉強をしろアホタレ。
<div>...</div>
<script type="text/javascript">
var a = document.getElementsByTagName('div'), e = a[a.length-1];
...
</script>
でeに「その時点で最後の」div要素が取れると思うがいかが。実験してないが。
加工したければe.innerHTMLを参照/設定すると。
getElementsByTagNameの好きなnull氏がこれを思い付かないとは(w
654 :
647:2006/08/07(月) 11:20:06 ID:???
>647 です.レスありがとうございます.非常に勉強になりました.
>649 ありがとうございます.おかげでいろいろ教えて頂けたようです.
>651 なるほどと思いました.どちらも検討してみます.
>652 前スレ探してみます.まだ試してないですがthis.previousSiblingが思っているモノを指してくれない気がします...firefoxなので挙動が違うのかもしれません.
>653 onLoadとdivについては今朝方知りました.不勉強で申し訳ありません.651さんと同じ方法ですね.
あまりスマートではありませんが私も一つ思い付きましたので参考までに書いておきます.
<script>
count=0;
function start() { write("<div id=data"+count+">");}
function end() { write("</div>"); kakou_print(getElementById("data"+count)); count++; }
</script>
としておいて
<script>start();</script>
データ
<script>end();</script>
とします.
なぜか無限再帰に陥っているのですがkakou_printの中で該当箇所を削ってやればうまく動くようでした.
>>654 それ、動くっちゃ動くかもだけど、
<script><div></script>data<script></div></script>
みたいできもちわるいなあw
現在、背景画像をランダムで表示させたいと思ってます。
単純なものなら、自分でも作れるのですが
┃
┣html
┃
┣js
┃
┣css
┃
┣img
┃
┣bg_img
上記のような階層でなるべく簡単に背景画像を入れ替えたいし
その背景画像をCSSで制御したいのです。
そこで・・・
1.背景画像フォルダ(bg_imgフォルダ)に入っている画像をランダムで一つ抽出
2.CSS内部のbackground-image: url(../bg_img/*****.jpg)の部分にランダムで抽出したファイル名を書き換える
このようなことはJavaScriptで可能でしょうか?ご教授お願いします。
とても初歩的なJavaScriptを書く時なのですが
自分はEmEditorというメモ帳?みたいなソフトで
JavaScriptファイルを開いているのですが、
エラー箇所などを探すのに一苦労しています。
エラー箇所を指摘してくれるような初心者向けのソフトやツールがあるようでしたら
教えていただきたいです。
659 :
Name_Not_Found:2006/08/07(月) 16:01:42 ID:PDgeDqzH
あるページを開いた時に自動的に指定のForm内にカーソルが移動している仕組みを
作る場合どのようにしたらよいでしょうか?
例えば↓の場合、name="comment"のテキストボックスに自動的にカーソルが移動する
仕組みを作りたいのです。
<form name=MainForm action="hoge.cgi" method="post">
名前:<input type="text" name="ename" value="" size="20" maxlength="40"><br>
コメント:<input type="text" name="comment" value="" size="70" maxlength="500">
<input type="submit" value="発言"><br>
</form>
>>658 エディタで行番号を表示
ブラウザは IE, Firefox, Opera お好きなものを
>>659 document.forms["MainForm"].elements["comment"].focus();
>>617に関して質問させてください。
setCaptureってのはIE専だと思うけれど、
FirefoxやOpera、Safari等でマウスイベントをキャプチャする場合って
どうするのがいいのでしょう?
617の上の書き方が一番利にかなっているのかな?もっといい方法がありますか?
>>661 addEventListenerでリスナを登録する際に
キャプチャリングフェーズで登録するのはだめなのかい?
663 :
658:2006/08/07(月) 17:04:59 ID:???
>>660 これといって特別なソフトを使ったりする訳ではないのですね。
レスどうもありがとうございました。
ここ数日、改造・改良okというJavaScriptを
初心者ながら変更しているのですが
今日初めて識別子を確認できません。
というエラーがでました。
ライン4 となっていたので4行目を見ているのですが
どう見ても間違っておりません。
ライン4で指定してる計算式の部分のミスかと思ったのですが
そちらもミスは無し。
これはライン4に直接関係している場所ではなく
別の場所(その前後等)にミスがあったりするのでしょうか。
エラーが出ている箇所に関係するところをチェックすれば良いという
事ではないのでしょうか・・・?
>>663 もちろん「その箇所より前の」エラーに影響されることはある。
たった4行だったらその4行貼ってみなよ。4行じゃ読みにくい
から8行くらいがいいかも。
>>656 もちろんできるとも。ただしbg_imgに入っているファイル名の
一覧を持たさないと駄目だよ。サーバにあるファイルの一覧を
自動で取ることはできない。
>>663 FireFoxのJavaScriptコンソールおすすめ。
ある程度わかりやすい。
FireFox入れるならFireBugで決まりだろう。
質問なんですが、
一部のサイトで画像を押してリンク先に飛ぶ奴を押しても反応してくれないのがあるんですがどうすればいいのでしょうか・・
リンク先はjavascript:voidって書いてあるのですが全く分かりません・・
どうかご指導お願いします。
>>667 JavaScript を ON にしてください
なってるのに何も起こらないのなら
サイトの管理者に問い合わせてください
670 :
Name_Not_Found:2006/08/08(火) 03:21:10 ID:LcJRhcA/
FireFoxって、onChangeが動かない?(実際動いてないんだけど)
<select onChange="alert()">
<option></option>
<option>てすと</option>
</select>
>>670 ツール→JavaScript コンソール
>>670 むしろ、上下カーソルキーで選択変更するだけで即反応するIEの仕様が鬱陶しいだろ。
>>655 HTMLの規則で読んでいるのか、JSの規則で読んでいるのか、
分かっていれば、その間違った気持ち悪さを抱くことはないだろうな。
>>673 わからん・・・。
ちょっとDOMツリー化してみてくれない?
>675
小数点をなくすってことの意味も(切り捨てたいのか?四捨五入したいのか?)、
数字を文字にするってのも、質問内容とそのサイトの関係も全くわからん。
ひょっとして経過時間のことじゃないのか?w
JavaScriptで語変換スクリプトを作っています。概観はこんな感じのものです。
ttp://up.spawn.jp/file/up32874.html 指定してある一定の文字列を読み取り、それに応じて変換内容を場合分けるということは可能でしょうか?
[赤ちゃん語]と書いた先の文では赤ちゃん語として変換させ、
[酔っ払い語]と書いた先では酔っ払い語変換をさせるというようにです。
これだけだとちょっとわかりにくいと思うので例を出します。
[赤ちゃん語]
━━━━━JavaScript質問スレ道場訓━━━━━
一、礼節を重んじ常に努力精進すること
一、ブラクラに打ち勝つ精神力を持つこと
[酔っ払い語]
一、心身の優れたJavaScriptを学ぶこと
一、雑草の如く生涯JavaScriptを貫くこと
一、感謝と反省を忘れないこと
[YO!]
以上
━━━━━━━━━━━━━━━━━━━━━━
上のものを変換させたら、こうなるようにしたい
━━━━━JavaScript質問スレ道場訓なんだバブゥー━━━━━
一、礼節を重んじ常に努力精進するんだバブゥー
一、ブラクラに打ち勝つ精神力を持つバブー
一、心身の優れたJavaScriptを学べぃえあうfjうぃおfwf
一、雑草の如く生涯JavaScriptを貫くぁいおjfじfぁ
一、感謝と反省を忘れないんじゃklじゃkjf
以上だYO!チェケラッチョ!
━━━━━━━━━━━━━━━━━━━━━━
こんな風に書き換えさせるにはどうすればいいんでしょうか?ご教授お願いします。
>>678 文字列のreplaceメソッドを使って置き換えればいいんじゃないの。
それ以上説明しようがない(それで分からなければ自分で勉強すれ)。
>>675 分かる日本語で質問してくれないかね。言っとくけど
自分でプログラム読んで手直しする気がないのならアドバイスも
ここではもらえないと思った方がいいよ。
681 :
678:2006/08/08(火) 14:09:45 ID:???
あんたら何のためのJavaScript質問用スレッドだかわかってんのか?
教える気ねえならおめえらイチイチレスすんじゃねえよカスが。
あぁあ、やっちゃったね。
教わる気ねえ奴キタ━━━━━━(゚∀゚)━━━━━━ !!!!!
帰って頂きましょうね 生涯無縁
>>681=687
>あんたら何のためのJavaScript質問用スレッドだかわかってんのか?
はい。あんたのためでないことは確か。
教える教えないは自由。印象のいい人は回答率も高いというデータも。
あんたがカネ払うというなら、話は別。パッチリなソースをメールで急送の用意あり。
686 :
678:2006/08/08(火) 14:36:29 ID:???
おまえらは俺達の質問について物教えられるほどのスキル有してないんだろ? ³
ザコは引っ込んでろっての。
スレの趣旨からして質問者と回答者がいりゃいいんだからな。
煽り野郎は2chだけで粋がってないで現実で楽しみでも見つけてみろ。
ま、2chが生きがいのおまえらには今のように
このスレで俺を煽るくらいが関の山だろうけどね
すいません、質問です、htmlを読み終えるとすぐに埋め込んだswfファイルにフォーカスを当てたいんですが、
body部分のonLoadに書くとすっとばされてしまいます。
なのでonreadystatechangeを使ってみたんですが、どうもうまくいかないというか何も起こりません。
Javascriptなど普段ほとんど書かないので3時間あれこれやって力尽きました。
どなたかアドバイスなどもらえますでしょうか、よろしくおねがいします
以下自分で書いてみたコードです
<script language="JavaScript" type="text/javascript">
window.document.movieSWF.onreadystatechange="wait_ObjectLoad()"
function wait_ObjectLoad(){
if (readyState != "complete") return(false);
onreadystatechange = null;
window.document.movieSWF.focus();
}
</script>
//swfの貼り付け部分
<object width="100" height="100">
<param name="movieSWF" value="hoge.swf"></param>
<embed src="hoge.swf" name="movieSWF" type="application/x-shockwave-flash" width="100" height="100"></embed>
</object>
>>686 そこらへんにあふれてるスクリプトを改造したいが勉強はしたくないっていう
ハラヅモリが透けて見えるからだよ。
教わる気のない奴に教えるほど酔狂な人間はあんまりいないんでな。
答えだけほしけりゃ別スレいけっていうこと。
<HTML><HEAD><TITLE>文変換スクリプト</TITLE>
<META http-equiv=Content-Type content="text/html; charset=Shift_JIS">
</HEAD>
<BODY bgColor=GREEN>
<CENTER>
<BR>
現在は赤ちゃん語変換だけです。<br>
一定の文字列を読み取って、変換内容を条件分けさせるようにしたいのです。
<FORM name=kakikae><TEXTAREA name=aaa_txt rows=8 cols=70>ここに入力した文を赤ちゃん語に変換します。</TEXTAREA><p>
<INPUT onclick=this.form.bbbtxt.value=Henkan(this.form.aaa_txt.value) type=button value=変換><p>
<TEXTAREA name=bbbtxt rows=8 cols=70></TEXTAREA></FORM><p>
<SCRIPT language=JavaScript><!--
function Henkan(Replace_text){
Replace_text=Replace_text.replace(/?/g,"バブバブバブー?");
Replace_text=Replace_text.replace(/ません。/g,"ませんバブバブバブーー!!!!");
Replace_text=Replace_text.replace(/ました。/g,"ましたバブバブバブーー!!!!");
Replace_text=Replace_text.replace(/でした。/g,"でしたバブバブバブーー!!!!");
Replace_text=Replace_text.replace(/だぜ/g,"だぜバブバブバブーー!!!!");
Replace_text=Replace_text.replace(/だぞ/g,"だぞバブバブバブーー!!!!");
Replace_text=Replace_text.replace(/た。/g,"たバブバブバブーー!!!!");
Replace_text=Replace_text.replace(/だ。/g,"だバブバブバブーー!!!!");
Replace_text=Replace_text.replace(/だよ。/g,"だよバブバブバブーー!!!!");
Replace_text=Replace_text.replace(/です。/g,"ですバブバブバブーー!!!!");
Replace_text=Replace_text.replace(/ます。/g,"ますバブバブバブーー!!!!");
Replace_text=Replace_text.replace(/。/g,"だバブバブバブーー!!!!");
return Replace_text;
}
// --></SCRIPT>
</BODY></HTML>
ええっと・・・すいません。
今来ました。私が
>>678です。
>>681>>686は偽者です。
というかもし私が煽り文句を書くのなら
叩かれる要因にもなる数字コテなんてわざわざつけたりしないです。
ですがもうこれでは信憑性ないでしょうし解答は得られなさそうですねOTL
出直してきます。
私の質問を期に荒れてしまったようで、すいませんでした。
sageで聞くから偽物が出るんだよ
なんだかねぇ。ID全部表示にならんのかね。
質問者は仮鳥つけろぐらいのほうがいいのかもしれん。
>>692 便乗荒らしか何かだったか
よくよく考えてみれば
>>678,681の豹変っぷりを見れば
違う人であろうことは瞭然だったな
なんていうか、俺も煽っちゃったんだけど正直すまんかった
またおいで
>>692 いや別に、自分で勉強する気があって、なおかつちゃんと
分かるように質問してくれたら解答する気はあるよ。
煽りや荒しが出るたびに思考停止してたら2ちゃんなんて
やってられん。ちゃんと脳内スルーしてるからご心配なく。
>>687 そういうときは(1)embedにfocus()で当てられること、(2)
ロードし終わったタイミングで動作実行できること、に
分けて確認すれ。たとえば(1)を確認するためにボタンを
1つ用意して、そのボタンの動作でembedにfocus()したらどうなる?
教授は専用スレあるんだから、教授に教えてもらいたい奴はそっち行けっつーの
698 :
Name_Not_Found:2006/08/08(火) 16:31:08 ID:qxwP1a9B
document.writeなどを使って生成した
htmlソースを取り出したい場合はどうしたら良いですか?
ブラウザから保存し直して取り出す以外にスマートな方法があれば
教えてください。
<body onload="alert(document.body.innerHTML)">
ブラウザから保存し直す?そんな方法じゃ取れないだろ?
700 :
Name_Not_Found:2006/08/08(火) 16:41:08 ID:qxwP1a9B
>699
火狐で「webページ、完全」で保存したソースを見ると出ます。
すみません。alertの方法だとコピーできないんですが・・・。
>>700 alert() は例でしょ
window.open() して document.write() すりゃいいじゃないか
702 :
Name_Not_Found:2006/08/08(火) 16:46:29 ID:qxwP1a9B
>701
成程。確かにそうですね・・・。有り難うございました。
Operaならalertでコピペできるよ
いや、IEのアラートでも Ctrl+C 押せばコピーできるで?
705 :
703:2006/08/08(火) 21:04:59 ID:???
>>704 ほんとだ、知らなかった
InternerExplorerだけじゃなくポップアップ全般で効くね
706 :
Name_Not_Found:2006/08/08(火) 22:35:04 ID:2piHy+Lt
KENT-WEBのWebPatioにタグ支援ボタンつけたいんだが
どうすればいい?
707 :
Name_Not_Found:2006/08/08(火) 22:40:01 ID:bMYAwprG
画像のborderをクリックした時にファンクションを動かすって出来ませんか?
ボタンをつける仕組をつけたらいい
709 :
Name_Not_Found:2006/08/08(火) 22:49:12 ID:2piHy+Lt
ごもっともwww
>>707 画像の真上に透明なdivを重ねてborderだけ画像が出るように
しておいてonclickハンドラを指定すればいいんじゃないかな。
711 :
Name_Not_Found:2006/08/09(水) 09:53:15 ID:5MHREhIr
IMGタグで表示されてる画像ファイルの作成日時を取得する方法を教えてください。
fileCreatedDate fileModifiedDate fileUpdatedDate
あたりを使えば年月日は取得できるのですが、時間まではムリでした。
IE限定でもかまいません。
>>711 XMLHttpRequestで画像を取ってLast-Modifiedヘッダを取得
とかどうかね。ただしサーバがその情報を送ってくれなければ
どうにもならないけど。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function load(uri, f) {
var r = null;
if(window.XMLHttpRequest) r = new XMLHttpRequest();
else if(window.ActiveXObject) r = new ActiveXObject('Microsoft.XMLHTTP');
if(!r) return false;
r.onreadystatechange = function() {
if(r.readyState==4) f(r.getResponseHeader('Last-Modified')); }
r.open("GET", uri, true); r.send(null); return true;
}
function test() {
load(document.getElementById('i0').src, function(s) { alert(s); });
}
</script></head><body>
<p><img id="i0" src="t0.png"><button onclick="test()">Test</button></p>
</body></html>
713 :
Name_Not_Found:2006/08/09(水) 12:24:57 ID:5MHREhIr
>712
なるほどXMLHttpRequestですか。
コピペで試したところ、正しく取得できました。
ありがとうございます。
テーブル複数行に 「00:00:00」 形式の時刻が格納されていて
時間の経過にあわせて、各行の時刻をすすめたいんですが
どのようにしたらいいんでしょうか?
>>714 単位時間間隔でループを回し{
テーブル複数行にアクセスして中身の文字列「hh:mm:ss」を拾って、
適当に分解してdateオブジェクトを生成して、
単位時間を足して、
適当に「hh:mm:ss」のカタチに整形して元の位置に書き込む
}
ありがとうございます。
うまくできました。
717 :
Name_Not_Found:2006/08/09(水) 19:25:27 ID:ZH2FYsdv
<img src="" width="100" id="aaa" onMouseDown="ファンクション名();">
こんなん付けたら、IEでしか動かなくなりました。
なんでですか?
>>717 全てのソースを書かないで質問するタタリじゃ。 または同じidの要素が複数ある。
719 :
Name_Not_Found:2006/08/09(水) 20:14:49 ID:ZH2FYsdv
>>718 <html><head>
<script type="text/JavaScript">
<!--
var drag=false
function mousedown(evt)
{if(document.all)
{ X2 = event.x; }
else
{ X2 = evt.pageX;}
drag=true;
}
function mymousestop()
{if (drag)
{drag=false;}
}
720 :
Name_Not_Found:2006/08/09(水) 20:15:46 ID:ZH2FYsdv
続き
function mousecursor(evt)
{ if(drag)
{if(document.all)
{ X = event.x;
document.onmousemove = mousecursor;}
else
{ X = evt.pageX;
if(document.layers)
{ window.onmousemove = mousecursor;
window.captureEvents(Event.MOUSEMOVE);}
else
{window.document.onmousemove = mousecursor;}
}
X3=X-X2;
document.getElementById('ccc').innerHTML=X3;
document.getElementById('aaa').width=X3;
}
}
document.onmousemove = mousecursor;
document.onmouseup = mymousestop;
// -->
</script>
</head><body>
<img src="" width="100" id="aaa" onMouseDown="mousedown();">
</body></html>
>>720 ファンクション名にセンスのかけらもないな。そんな輩はバグって当然。
722 :
Name_Not_Found:2006/08/09(水) 20:33:31 ID:ZH2FYsdv
>>717 空の引数で呼び出してるからいけない。
onmousedown="mousedown(event);"
こうしないとイベントが渡らないだろ。
724 :
Name_Not_Found:2006/08/09(水) 22:11:55 ID:ZH2FYsdv
関数名は動詞で始まるものにして、ラクダ記法で書けばそれらしくなるよ。
onmousedown="handleMouseDown(event);"
こんな感じで。
726 :
Name_Not_Found:2006/08/10(木) 00:20:14 ID:pC6j3yb1
関数名なんかどうでもいいと思ってたんですけど、みんなそんなに「それっぽさ」に拘るもんなんですか?
作りっぱなしのシステムなら適当でもよい。
その後の運用を考えたら、きちんとしておいたほうがいいのは常識。
たまに
hidariMenu
みたいなのある
lMenuかな
730 :
Name_Not_Found:2006/08/10(木) 13:19:11 ID:aDwDfNms
function _左お品書き(){
alert(0);
}
_左お品書き();
obj.setAttribute('style', 'color: red;');
Firefoxなら上ので色が変わるんだが、
IEだと対象のオブジェクトが赤くならない。
なんでだろう・・。
>>731 たしかIEではCSSStyleとかそういう名前だったような
733 :
Name_Not_Found:2006/08/10(木) 22:25:39 ID:pC6j3yb1
>>723 IE以外でも動くようになりましたが、IE以外のブラウザじゃ.onmouseup が変な動きになります。
>>731 obj.style.color = 'red';
>>733 おかしいと言われてもアンタは勝手にコードを貼っただけで
何が「正しい動き」なのか、どう「変」なのかを記述してない
だろ。そんなさぼった質問では解答は来ないよ。
>>731 なんでもsetAttribute()に頼るのはやめた方がいいね。IEで
動かない機能が多いよ。
736 :
Name_Not_Found:2006/08/10(木) 23:11:38 ID:pC6j3yb1
738 :
Name_Not_Found:2006/08/10(木) 23:39:36 ID:aDwDfNms
>>733 document.onmouseup = mymousestop;
はそのままで動く。
739 :
Name_Not_Found:2006/08/10(木) 23:45:12 ID:cf7PEcoD
文字をクリックすることでフォントサイズを変えるスクリプトを書いています。
ページを移っても有効になるようにcookieにも保存しています。
macIEとFirefox、winのFirefoxとOperaでは問題なく動きました。
しかし、winIEで「引数が無効です」というエラーが出ます。
setSize()のfontSize[thisSize]をわかってくれないらしいのですが、
どうしたらいいのでしょうか。
知恵を貸して下さい。
【HTML部分】
<div id="font_size">
<ul>
<li>smaller</li>
<li>medium</li>
<li>bigger</li>
</ul>
<script type="text/javascript" src="common/js/font_size.js"></script>
</div>
740 :
731:2006/08/10(木) 23:45:47 ID:???
みんなありがとう!
obj.style.color = 'red'; でできました。
741 :
739:2006/08/10(木) 23:46:11 ID:cf7PEcoD
【font_size.js】
/* ### 変数 ### */
var fontSize = new Array();
fontSize["smaller"] = "80%";
fontSize["medium"] = "100%";
fontSize["bigger"] = "120%";
var thisDoc = document.getElementsByTagName("body")[0];
var thisArea = document.getElementById("font_size");
var font_list = thisArea.getElementsByTagName("li");
var thisSize;
/* ### 主処理 ### */
window.onload = function(){
if(document.cookie){readCookie();}
setHandler();
if(fontSize[thisSize]){setSize();}
}
>>739 common/js/font_size.jsの82行目先頭から5文字目が間違っていますね
よーく見てください。そして二度と質問しないでください
ああ
744 :
739:2006/08/11(金) 00:08:55 ID:v18xvtIj
>742
ご指摘ありがとうございます。
二度と質問するなのとことですが、1回だけお願いします。
ここまでのソースが82行ないので、どの部分のことかわかりませんでした。
20分見つめましたがどうしてもわかりません。
それだけでも教えていただけないでしょうか。
ファイルが壊れてるか君の頭が壊れてるかで、表示できなくなってるんだね。
746 :
sage:2006/08/11(金) 00:23:59 ID:xSsQsB9i
>>744 肝心の部分のソースを提示していないのはあなた。
>>741を見たところで、thisSizeがundefinedかなぁ・・・と妄想できるが、
cookieが存在しないときのthisSizeはどうなる?
747 :
739:2006/08/11(金) 00:35:26 ID:v18xvtIj
>746
すみません。
連投エラーで次を書き込む前に742があったので、これだけで見つかったのかと思ってました。
cookieがない場合はonclickで文字列を取得してthisSizeに入れています。
function readCookie(){
var thisCookie = document.cookie;
thisSize = thisCookie.split("=")[1];
}
function setHandler(){
for(var i=0;i<font_list.length;i++){
font_list[i].onmouseover = function(){
this.style.cursor = 'pointer';
}
font_list[i].onclick = function(){
thisSize = this.firstChild.nodeValue;
document.cookie = "font =" + thisSize;
setSize();
}
}
}
function setSize(){thisDoc.style.fontSize = fontSize[thisSize];}
丸投げスレに誘導すべきなんじゃないのか
749 :
739:2006/08/11(金) 00:41:47 ID:v18xvtIj
thisDoc.style.fontSizeにfontSize["smaller"]を直接入れるとエラーは出ません。
cookieを書き込むところまでは出来ているようなので、
何故引数エラーになるのかわからないのです。
書き方が悪くて申し訳ありませんが、よろしくお願いいたします。
750 :
739:2006/08/11(金) 00:49:00 ID:v18xvtIj
>748
わかりました。
丸投げスレというのに行ってみます。
ありがとうございました。
>>749 もう手取り足取りに逝ってくれ。そんなデバッグができない奴に
手取り足取りデバッグする気にならん。1つだけヒントだが、
readCookieの末尾に「alert(thisCookie + '|' + thisSize)」入れてみ。
alertデバッグもできない奴が来るところではない。2度と来るな。
>>736 アンタが途中かどうかなんて洩れ達には関係ない。解答できるだけの
情報があれば解答されるかも知れんけどね。アンタのプログラムの
「意図した動作」なんて推測したくないので念のため。
752 :
Name_Not_Found:2006/08/11(金) 02:26:00 ID:c+lvj6zQ
imgタグのsrcの画像ファイルが取れなかった時 、×印を出さずに
詰めて表示する方法はありますか
はい、あります。
754 :
Name_Not_Found:2006/08/11(金) 02:32:25 ID:c+lvj6zQ
742みたいなくだらない事言うから面倒なことになる
>>752 imgのonerrorにそのimgを親要素から取り除く関数を入れて
おけばいいんじゃないの。この説明で分からなければ勉強すれ。
>>752 ホレ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function set(id) {
var e = document.getElementById(id);
e.onerror=function(x){return function(){x.parentNode.removeChild(x);};}(e);
}
</script>
</head><body>
<p><img id="i0" src="t0.png"></p>
<script type="text/javascript">set('i0')</script>
<p><img id="ix" src="tx.png"></p>
<script type="text/javascript">set('ix')</script>
</body></html>
<img>のonerrorなんてほとんどIE専みたいなものなのに、
要素オブジェクトの参照を束縛してるww
まだいたのかこんなアホ。
ホレ様をアホ呼ばわりしたな。許せん。表へ出ろ!
★☆★表2ちゃんねるへの入り方
1.書き込みの名前の欄に
http://fusianasan.2ch.net/ と入力します。
2.E-mail欄に、20歳以下なら low 21〜30歳は middle 31歳以上は hight と入力します。
(年齢別調査。)
3.本文にIDとパスワードの guest guest を入れて、書込みボタンを押します。
4.メッセージが「確認終了いたしました。ありがとうございます。」に変わればばOK
5.サーバーが重いと2chに戻ってくるけど、まあ30分以内であれば何回かやれば大丈夫。
6.家庭の電話回線よりも、企業や学校の専用回線からの方がサーバートラフィックの
都合上つながる確立が高いです。
(注意!)全て半角で入力してください!!
http://fusianasan.2ch.net/←は、管理者専用の為「直リン」で飛んでも
「サーバーが見つかりません」になります。入り口は「裏2ch」のCGIだけです。
つまり、この掲示板から上記の操作を実行してください。
7.表2ちゃんねるの内容については違法性、反社会的な内容を多く含んでおりますので
ご自身で確認してください。サイトの内容についての質問はご遠慮願います。
8.表はアクセス過多になりやすいので裏から誘導すると向こうの住人が怒ります。
裏から来た事は秘密。
pgr pgr
>>758 そうなの?洩れはMozで動作確認できたけどー。
普通に使えるのですが、外部JavaScriptにして動かそうとしたら、
エラーが出てしまいます。
どういうことが原因として考えられるのでしょうか?
<script type="text/javascript">
<!--
function〜
//-->
</script>
は平気なのですが、functionの中身だけを外部jsにして、
<script type="text/javascript" src="hoge.js"></script>
にするとエラーがでてしまいます。
それと、JavaScriptは詳細なエラー内容は出力されないのでしょうか?
どこがおかしいのかわからなくて困っています。
>>763 FFxを入れてJavaScriptコンソールでデバッグするのを勧めるけど、
IEでもMS Script debuggerを使うことはできるよ。だいたいがエラー
が出るというだけでそのエラー内容を書かない奴は糞。エラー内容の出し方
くらい勉強して出直してこい(まずは注意マークアイコンをクリック)。
>>764 おー・・・
エラーマーククリックしたらエラー内容がでてきました!
こんな風になってたんですね・・・
オブジェクトを指定してなかったようです。
原因がわかりました。どうもありがとうございます。
766 :
Name_Not_Found:2006/08/11(金) 17:59:25 ID:ME+oWKuA
配布されていたHTCファイルのことなんですが、例えば
<PUBLIC:ATTACH EVENT="onclick" ONEVENT="onClick()" />と
<PUBLIC:ATTACH EVENT="onclick" HANDLER="onClick()" />の
違い・・・というかNEVENTとHANDLERの違いって何なんでしょうか。
あとEVENT="onclick"に複数指定するにはどうすればいいのでしょうか。
onclickだけじゃなくてonkeydownも指定したいです。
767 :
Name_Not_Found:2006/08/11(金) 18:29:17 ID:oms0bEPQ
>>751 いやならレスするな。
いちいち文句言うためだけに書き込んじゃないよ。
師ねクズ。
お前がもう来るな。
いや
>>751はそうとういい奴だと思うんだがどうよ?
770 :
sage:2006/08/11(金) 21:49:33 ID:oms0bEPQ
自演乙wwwwww
>>767 阿呆かね。現にちゃんと質問者の役に立つアドバイスしてるだろ。
だから「だけ」じゃないよな。日本語ができない奴は帰れ。
それともあれだけ親切に言われても理解できない馬鹿質問者君かね。
煽られるのが嫌だったら2ちゃんそのものに来てはいけないと思うがね。
JavaScriptを学びたいのですが、
どういうサイトを参考にしたらいいのでしょうか?
基本的なことから学んでいきたいのですが、
どこもサンプルだらけで、ちょっと敷居が高く感じます。
とほほのJavaScriptリファレンスなるものをみたのですが、
少々古い上に、表現も理解しづらいものばかりでした。
どこか基礎から学ぶにあたって最適なサイトがありましたら、
紹介していただけませんでしょうか?
>>774 確かに "とほほ" は初心者向けでは なさそうだ.
("筆者の見解" に惑わされる部分が多々あるし "情報の古さ" もご指摘のとおり)
しかし, reference としてなら あそこを超えるサイトを僕は知らない.
個人的には一冊の本が僕の転換期をもたらしてくれた.
ようするに ごく基本的なことを理解できるかどうかが分かれ目.
あとは練習量の問題のような気がする.
それと, このスレッドで学んだことも少なくない.
が, S/N 比がひどく悪い !!!
つまるところ, 興味を持ち続けられるかどうかが勝負所だと思う.
JSはオブジェクトって概念を理解すれば途端に理解が楽になると思う。
こことかちょっと参考になった っ
http://www.tokumaru.org/JavaScript/ あと理解が必要なのはDOMか。
他の言語ひとつもやったことがなくて、初めてJSに手をつける、とかなら、どうすべきなのかちょっとわからないw
初心者用JS講座みたいなのWeb上には結構あるけど、9割はまがいものだと思うしなあ。
ヘタにクセついてしまうと困ったちゃんになってしまう。
>>774 ちゃんと金払ってまっとうな書籍を購入して地道に勉強しろ。
書籍については「参考になる書籍」スレへ。
個人的にはサイ本とMy UNIXを勧めている。
金払わずWebで勉強して糞プログラマになったら取り返しつかんよ。
780 :
774:2006/08/12(土) 13:27:16 ID:???
>>775-779 皆様レスどうもありがとうございます。
>>775 リファレンスとしては立派なサイトなんですね。
今後、勉強していくにあたってある程度理解できたら
また利用したいと思います。
興味を持ち続けるよう努力します。
>>776 サイトを紹介していただきありがとうございます。
一応PHPでオブジェクト指向を少し学びましたが、
だいぶ違うのですね。参考になります。
>>777 >>779 Webではさすがに限界があるので、
触りでだいたいの感覚を掴んでから購入する予定でした。
参考書籍を紹介していただいてありがとうございます。
ぜひ購入を検討したいと思います。
>>778 サイトを紹介していただきありがとうございます。
これは詳しそうなサイトですね。一通り学べそうです。
wiki形式みたいなので、たまに見てみたいと思います。
早速勉強してまいります。どうもありがとうございました。
>>780 >リファレンスとしては立派なサイトなんですね
誤解を招く説明だったかも ?
目的の情報に素早くたどり付ける点で"便利" と言う意味.
(正確さを求めるのなら W3C, ECMA のご本家を当たるのがベストだが,
目的の情報にたどり着くのに苦労する)
難点が あるのを承知の上で "ちょっと調べる" に向いていると...
決して"立派" だと言う意味じゃないので間違いなく.
巣に籠もってろって
>>782 とほほには…
addEventListener の様な基本的Domメソッドが載っていない。
try catch、throw といった基本的構文が載っていない。
という時点で、"ちょっと調べる"用途にも使えない。
また、正確性を求めるには、W3CやECMAを見ても無意味。
理由は、各ブラウザによって実装が異なるから。
だから、各ブラウザのリファレンスを読むべきであって、W3CやECMAは、補足的に読むべき物。
というか、GeckoのDOMリファレンスなんかは、明らかに、とほほより探しやすいと思うが。
勉強になる!
>>784 読むものは同じなんだけど、洩れ的にはまずECMAとW3Cを読んで
それから各ブラウザのリファレンスを読むことを勧める。でないと
何が標準で何が事実上の標準か分からない。
JSの言語仕様についてはあくまでもECMAが基準。Mozilla/Netscape
の独自拡張は互換性の問題ありだし、MSにはまっとうなJScriptの
リファレンスがない(英文ですら)。だったらECMAの和訳(テンプレに
あるやつ)のがはるかにいい。
とほほは見た目魅力的なだけに有害。だからここではけなすべき。
でも、最初からそんなに詰め込んでもわかんないでしょ
しかしjsを言語として入門から扱ってる書籍もサイトも皆無。
>>786 W3Cも、ECMAも、現実的"正確さ"と言う事に関しては、"正確"では無い。
そう言う意味で言っているんだが、理解できないか?
自分が標準と言い張ってるだけだからね
要するにECMAが規格であって、仕様ではないといのはそういうことなんだな。
ECMAを仕様だと言っているヴォケが時々いるけど(ま、英語に吊られてる訳なんだが)。
なんのこっちゃ
やちっこ、乗んな。
両方読んでない俺は勝ち組
整数や実数という概念は実際には想像上のものであってコンピュータ上
には実在しない。そういう意味ではこれらの概念は現実を「正確」には
反映していない。でも我々は整数や実数という想像上のものを基準に
計算のアルゴリズムとか決めるっしょ。
だからW3CやECMAの規格がまったくそのまま実現されてないからといって
これらを基準に考えていけないという理由にはならないと洩れは思う。
別にアンタが別のものを基準に考えたいのなら好きにすれば。でも
IEを基準に考えてもGeckoを基準に考えても不便だと思うけどね。
あほか、、、
全部読みゃいいんだよ。で、IEとGeckoで違ってたらどっちがいいとも
言えないからそんときは規格準拠かどうかで判断するんでしょ。
だ〜れが、どっちの実装が優れているなんて話をしてるんだ???
勝手に脳内論議してんのか?
自演乙・・・
800 :
Name_Not_Found:2006/08/13(日) 03:51:22 ID:4+0KpsDK
TABLE,TR,TDを使わずに、特定の文字列だけの背景色を変更するにはどうすればよいでしょうか。
styleのインスタンスを新規に生成するにはどうすればよいでしょうか。
new style(), new Style() では当然ながらダメでした(IE6)
継承と同じような方法で既存のインスタンスから複製を作れば、いけるのはわかりますが
もうちょっとシンプル(というか正式)な手段はありますか。
>>802 ひどく使い勝手が悪い "part3" だぎゃ〜 !
あん畜生と共同戦線なんて考えられねぇ〜.
はて ? どうしたものだろうか ???
TABLEの中身を動的に作成したく、下のようにコーディングしています。
が、まったくtable部分が表示されません。
まっ白になります。
もう数日悩んでいます。お助けください…。
IE6です。
○関数
function retMessage(bean){
if(!(bean == null || bean == "")){
for(var i = 0; i < bean.length; i++){
var ele = document.createElement("span");
ele.innerHTML = bean[i];
tr = document.createElement("tr");
td = document.createElement("td");
td.appendChild(ele);
tr.appendChild(td);
obj = document.getElementById("msg");
obj.insertBefore(tr, obj.firstChild);
}
}
beanにはStringの配列が渡ってきます。
bean[0]="AAAA", bean[1]="BBBB"と言う感じです。
○表示部分
<table id="msg"></table>
>>801 「何を」やりたいか書いた方が早いと思うけど?
いっとくけど過去スレ全集で検索すれば実例複数あるよ。
>>804 アンタHTMLを知らないだろ。table要素の内側にtbody要素ってのが
必要なんだぜ。過去スレ探せばtalbeの自動生成なんて沢山ある。
過去スレが探せない奴は2度と来るなボケ。
>>806 知ったか乙
tbody要素は省略可能。
必須ってわけではない。
>>806 あんた、HTMLも英語も知らないな。
HTMLの定義ではTBODYは必要ねえよ。idはTBODYに付けた方が良いと思うがな。
talbe…( ´,_ゝ`)プッ
お前みたいな無知も来なくていいよ。
>>807-808 それは正確ではない。XHTMLでないHTMLの場合はtbody要素は省略不可。
ただしtbodyの開始タグ、終了タグは省略できる。
>>804 <table><tbody id="msg"></tbody></table>
上げ足取りなんてどうでもいい。見苦しいだけ。
814 :
719:2006/08/13(日) 18:52:54 ID:cRxibCX/
いろいろ調べてみました。
以下のように書くと、IE以外ではドラッグした後のonmouseupイベントが発生したことにならないみたいです。
IEの時と同じ様にしたいんですが、どうしたら良いでしょうか?
<html>
<head>
<script type="text/JavaScript">
<!--
var drag=false
function mousedown()
{
drag=true;
window.document.getElementById('ccc').innerHTML=drag;
}
function up()
{
drag=false;
window.document.getElementById('ccc').innerHTML=drag;
}
document.onmouseup = up;
// -->
</script>
</head>
<body>
<img src="" width="100" id="aaa" onMouseDown="mousedown();">
<div id="ccc"></div>
</body>
</html>
>>806-811 だからさ、タグが省略できたってその要素がなくなるわけじゃ
ないので、DOMで操作するならtbodyの「下に」trを入れないと
まずいでしょ。だから
>>810 のようにするべきなわけ。
それがまさに
>>804 が動かない理由だと思うんだが、しかし
ずいぶん一杯釣れたもんだね。
釣りと言えばなんでも済むと思ってる夏厨乙。
>>806はhtmlの内容に言及してて、DOMの話題はしていない。
これが揚げ足か?あの文章を見る限りそうではないだろ?
で
>>809がさらに意味不明。
>XHTMLでないHTMLの場合はtbody要素は省略不可。
>ただしtbodyの開始タグ、終了タグは省略できる。
tbodyの開始タグ,終了タグは省略できる=tbody要素は省略できるだろ?
tbody要素を省略した場合は、
tbody要素がそのtable内に1つだけ入っているという意味合いになる。
(実際には書かないからソース中にはでないが)
jsどうの言う前にhtmlの正しい知識もつけないと、htmlあってこそのjsなんだから。
レス読んでないから流れは分からないけど、少なくとも
>>809は正しいよ。
HTML4.01のTABLEにはCAPTION、COL、COLGROUP、THEAD、TFOOT、TBODYしか入れられない。
つまり直接TR等を入れることは出来ない。
そう見えるのは、開始、終了タグを省略したTBODYに入っているだけ。
蛇足だけどHTMLとかも開始終了タグを省略できる。
省略=要素が無いとすると成り立たない。
というか否定しながら自分で同じことを言ってるように見えるんだけど気のせい?
DOMは詳しくないけど、操作後のDOMツリーもValidであることが求められたと記憶してる。
となると、DOMを操作する場合はTBODYを省略することは出来ないんじゃない?
もちろんDOMツリーを操作するときにtbodyがちゃんと入ってないと
動かないという話でしょ。最初からそういう回答がされていると
いうのにタグの省略可能性と混同した知ったかが暴れただけでさ。
>tbody要素がそのtable内に1つだけ入っているという意味合いになる。
その「意味合い」というのはDOMツリーにあるという意味合いなんだよな(w
さあ
>>816 が顔を真っ赤にして言い返す言葉を探しております。
2ちゃんらしくなってまいりました。しばらくお待ちください。
うーん、ごめん。
英語弱いんで和訳の同じ箇所を読んでみたけど、何でそこを提示されたのか良く分からない。
非視覚系UAの為には、どう属性を利用したらいいかって話じゃない?
>>821 >HTML4.01のTABLEにはCAPTION、COL、COLGROUP、THEAD、TFOOT、TBODYしか入れられない。
>つまり直接TR等を入れることは出来ない。
ここを見たところで読み飛ばしたからその次の肝心の1行を見落としていた。
>そう見えるのは、開始、終了タグを省略したTBODYに入っているだけ。
これ正解
どうもごめんなさい。
あぁ、そういうことね。
なんにせよ通じたみたいで良かった。
お決まりの文句をいっておこうか。
ずいぶん回答者が偉そうなスレですね。
解答してくれるだけでありがたい。言い方なんてちょっとぐらい悪くてもいいよ。
むしろそれをみて冷静さ失ってレスしてるやつの方が問題あると思う。
今回の件で、不要なレス番をあげてみようか!
828 :
Name_Not_Found:2006/08/14(月) 02:31:42 ID:Kgr2dUr1
JavaScriptじゃなくてもいいんですが、
兄弟フレームをformのターゲットにすることってできますか?
別のフレームに送信結果を表示したいってことならtarget属性がある。
JSに頼る前にHTMLの仕様をチェックするといいよ。
Rico.js のフェードイン・アウトがFireFoxだと普通にうごくんですが IE6だと動いてくれません。
これって普通ですか?
「<script type="text/javascript" src="rico.js"></script>」とした後に下のコードを使いました。
--- JS -----------------------
function fadeOut() {
new Rico.Effect.FadeTo('testBox', 0.1, 1000, 10);
}
--- HTML ---------------------
<input type="submit" value="Fade Out" onclick="fadeOut();">
<div id="testBox" style="background: #000;">TEST BOX</div>
>>827 すべて不要。なぜなら過去スレ検索すれば動く実例が沢山
あるんだから元質問自体が糞。
832 :
828:2006/08/14(月) 09:55:06 ID:Kgr2dUr1
target属性で兄弟フレームってどう指定するんですか?
<frameset rows="50%,*">
<frame src="hoge1.htm" name="hoge1">
<frame src="hoge2.htm" name="hoge2">
</frameset>
でhoge1.htm内のformで
target="_parent.hoge2"
みたいな感じで指定できるんでしょうか?
target="hoge2"
ではだめだったんだけども(新しいwindowがひらいた)、なんか間違ったかな。
Javascriptで
document.form.target = parent.hoge2;
なんて、できたらいいなあ・・・。
target="hoge2"であってるよ。
大体さ、考えてご覧。
兄弟フレームにtarget指定できなきゃ、フレーム使ってるサイト全部JS必須になっちゃうじゃない。
もう一度、よく見直してみ。
834 :
828:2006/08/14(月) 11:37:12 ID:???
>>829 >>833 ごめんなさい。できました。
Javascriptでターゲット属性を付加していたのが敗因でした。
HTMLのformでちゃんとかいたらでけました。
自分自身を閉じるのは?
、
window.openで作ったサブウインドウを親ページから閉じることは簡単でも、
親ページ自身の閉じ方がわかりません。
window.self.close とかやってみましたが、ダメでした。。。
ぽかーん
うは、タイプミスwwwwwww
window.open('
http://test.com','testwindow','height=100 width=100')
testwindow.close
aaa=window.open(url);
aaa.close();
でないかい?
>>836 JSで開いた窓は閉じられるけど元からある窓は閉じられないだろ。
アラートが出るはず。そしてそれを回避する手段はない。
それも揚げ足
845 :
Name_Not_Found:2006/08/14(月) 17:49:43 ID:tKRIVu4V
すみません。失敗しました。。
ttp://www.msn.co.jp/home.armx MSNのサイトを見ると、フラッシュのバナーの上にマウスを乗せると、
htmlの部分にかぶって大きくなる広告があるのですが、
このjavascriptはどんな風に書けばいいのでしょうか?
検索しようにもどんな単語で検索すればいいのかわかりません。。
宜しくお願いします。
そもそも揚げ足の語源はアゲア氏の当て字なんだからどれでもいいのだよ。
手とり足とりスレでどうぞ
848 :
845:2006/08/14(月) 18:25:02 ID:???
<p>あいうえお</p>
<p>かきくけこ</p>
上のHTMLの文字列のところを、
javascriptで出力したいのですが、
<p><script type="text/javascript"><!--document.write("あいうえお");//--></p>
とかやったのですがだめでした。
ここの中身だけどうしてもJavaScriptで出力したいのですが、
どういう書き方をすればいいのでしょうか?
<!--
>>850 どうもありがとうございます。</script>を忘れてました。
あと改行しないと表示されないのですね。
<p><script type="text/javascript"><!--document.write("あいうえお");//--></script></p>
はだめでしたが、
<p>
<script type="text/javascript">
<!--
document.write("あいうえお");
//-->
</p>
は大丈夫でした。
854 :
845:2006/08/14(月) 19:25:17 ID:???
>>853 どんな単語でぐぐればいいかわかりません。
ソースも見てみましたがよくわからなくて。。
>>845 それが君の限界さ。修行に励むか、あきらめれ。
そのくらいの事がわからない奴には教えてもわからない
単純な疑問だけど、<P>の中に<SCRIPT>っていいの?
>>857 scriptは確かどこでも良かったはず。少なくとも<p>の中はOK。
でないと、
<p><script>document.write("Hello World")</script></p>
みたいなことが出来ない
>>857-858 HTMLのDTD読め。
>>858 <p><script ..>..</script></p>
と出来るし、DTDや仕様から見ても正しい。
しかし、例えば、
<html>..</html><script ..>..</script>
と出来るが、DTDや仕様から見たら不正。
要するに、実際に出来ている事が正しさの根拠になるわけではない。
>>859 読むのはDTDではなくて仕様ではないだろうか?
>>857 大文字で要素書いてるなら悪いことはいわない。
これからは小文字で書く習慣をつけるといいね。
スレちがいすまぬ
>>861-862 よそでやってくれよ。XML/XHTMLは小文字必須とかいう話でしょ。
ともかくスレ違いだから頼むよ。
よそでやってくれは同意、あと理由を付加しない861みたいな書き込みはやめろ
何このパブロフの犬みたいに反応してる人たち。
JavaScriptの(まともな)質問が来ない間はだいたいこんな感じで
普通なんでないの。どうせ2ちゃんだしさ。そういうとき使うべき言葉
→ オマエモナー (オレモナー)
867 :
Name_Not_Found:2006/08/16(水) 00:01:30 ID:q+atq5L8
サイトを閲覧中にアドレスバーに記入すると
そのファイルがいつサーバーにアップされたかわかる
ジャバスクリプトを昔つかったことがあるのですが、
どなたかご存じないでしょうか?
>>867 javascript:alert(document.lastModified);
869 :
867:2006/08/16(水) 00:22:14 ID:???
>868
おお!これです どうもありがとうございます!
>>860 DTDは人やプログラムなどが読み書きするものだ。
871 :
Name_Not_Found:2006/08/16(水) 12:03:17 ID:+AheUxrV
自分のサイトの検索窓に
ボタンで文字を入力させて
(ネットバンクのアルファベット入力ボタンのようなイメージです。)
検索を実行したいのですが
どのような方法がありますか?
>>671 ボタン1つに1つにひらがなを振り当てる
document.検索窓.入力欄.value+=ボタンの文字
<input type="text" id="q">
<script>
for(i=0x3041;i<=0x3093;i++)
document.write('<input type="button" onclick="document.getElementById(\'q\').value+=this.value" value="'+String.fromCharCode(i)+'">');
</script>
878 :
719:2006/08/16(水) 20:12:40 ID:OS68VPa2
いろいろ調べてみました。
以下のように書くと、IE以外ではドラッグした後のonmouseupイベントが発生したことにならないみたいです。
IEの時と同じ様にしたいんですが、どうしたら良いでしょうか?
<html>
<head>
<script type="text/JavaScript">
<!--
var drag=false
function mousedown()
{
drag=true;
window.document.getElementById('ccc').innerHTML=drag;
}
function up()
{
drag=false;
window.document.getElementById('ccc').innerHTML=drag;
}
document.onmouseup = up;
// -->
</script>
</head>
<body>
<img src="" width="100" id="aaa" onMouseDown="mousedown();">
<div id="ccc"></div>
</body>
</html>
879 :
871:2006/08/16(水) 23:07:50 ID:???
>>872-873 レスありがとう
>>874 なにこれすごい!はじめてみた 永久保存しました ありがとう
ちなみに、自分は検索したら別の方法が出てきたので
差俺出た志保で来ました
880 :
871:2006/08/16(水) 23:08:57 ID:???
×差俺出た志保で来ました
○それで対処出来ました
聞く前に自分で検索しろよ。しかも失礼なやつだな。
882 :
871:2006/08/17(木) 01:10:46 ID:???
>>881 聞く前に自分で検索したよ。他に言いたいことは?
>>882 881じゃないけど、他に言いたいことは「失礼な奴だな」じゃない?
884 :
Name_Not_Found:2006/08/17(木) 03:29:07 ID:66BCAxri
質問です。
<form name="form1">
<input type="text" name="v0" value="0">
<input type="text" name="v1" value="0">
<input type="text" name="v2" value="0">
</form>
の各テキストボックスの値をjavascriptのfor文で
配列から入力したいと考えています。
for (i = 0; i < ary.length; i++){
document.form1['v' + i].value = ary[i];
}
みたいにしたいのですが、document.form1 はオブジェクトじゃないみたいなことを言われます。
どのようにしたらよいのでしょうか?
>>884 そんなことはないだろ。配列がおかしいんじゃないか?
>>884 テンプレにあるだろ、動かない最小限の例題を作って貼れボケ!
887 :
Name_Not_Found:2006/08/17(木) 10:15:42 ID:8gNPC5Se
手取り足取りスレってなくなったのでしょうか・・orz
<img src="cgi-bin/access.cgi">
こういう感じでPerlCGIにてどのページにどういうアクセスが来てるかを解析してます。
どこのページから来たのかを知りたいのでjavascriptでリファラを取って、
<img src="cgi-bin/access.cgi?ref={ここにjsでURIエンコードして貼り付け}...
みたいな事をしたいです。
Perlで言うところの$ENV{"HTTP_REFERER"}はjsだと何になるのでしょうか?
setTimeout();を使って、繰り返し関数を使いたいのですが、ローカル変数が使えないので困ってます。
こういった場合、どうしたらいいのでしょうか?
組んでIEに起こられたソース
function hoge(idName){
setTImeout(piyo(idName),300);
}
function piyo(idName){
処理
}
<a href="hogeA.html" onMonseOver="hoge('id1')">aaa</a>
<a href="hogeB.html" onMonseOver="hoge('id2')">bbb</a>
889 :
887:2006/08/17(木) 10:44:05 ID:8gNPC5Se
解決しました。
perlの方でjcode.plを使ってまして、pmに切り替えるのとかその他色々と
1-2時間で全て完成できなさそうなので、今回は止めました。
また数日後他の部分がかんせいしてから自力で調べても理解できなかった部分だけ
機器にくるかもしれませんが、そのときは宜しくお願いします。
>>888 過去スレを読め例題が山程あるぞ!!アンタと同じボケも多数!!!
setTimeout(function(){piyo(idName);}, 300);
過去スレが読めない奴は2度と来るな。
ちなみにsetTimeout(piyo(idName),300);だとまずpiyo(idName)
を呼んでしまい、帰って来た値undefinedをsetTimeoutに渡すだろ。
脳内で自分の都合のいいように計算順序を改変すな。
>>891 そんな質問には答えなきゃいいじゃないか
893 :
Name_Not_Found:2006/08/17(木) 12:43:34 ID:JoCN4Ueb
ニーハオ!
先週中国にIT企業訪問してきました。中身はわかるんですが、それを表
わす言葉がよくわからんですね。2バイト言語圏。
WINDOWSはシーチュワらしいです。どこがシーなんだか。でも、中国人は
みんなシーチュワ、シーチュワ言ってましたw
ノートパソコンを使っていたので、これは?というと、「ビージーべーテイ
エナ」と教えてくれました。マジそう聞こえたんです。なんかヘンな日本語
みたいですけど、とりあえず「BG屁って言えな」と覚え、これで通じました
よw
そういえば、向こうの研究所のPCの脇に「殺毒軟件」と書かれたパッケージ
があってびっくりしました。ソフトのことを 軟件というのは知っていました
ので、意味はすぐにわかりました。わかり易すぎww
すいません、土産話が長くなってしまいました。ところで、本場へ行っても
JavaScriptのことはなんというのかわかりませんでした。Javaはジャヴァと
言うらしいです。どなたかご存知ですか?
894 :
Name_Not_Found:2006/08/17(木) 12:46:24 ID:ovzv7TYs
>>892 891じゃないけど、
あえて答えてるのは、同様のアホが後を追って出てくるのを戒めるためでは?
>>893 ちょっとだけ面白かった。
けどあなたの行った 「本場」 って何の本場だよwww
ズバリ 大連と予想
Jaはヤ vaはワ と読む国がある。
ジャバ,ジャワ,ヤバ,ヤワ
wikipediaには
JavaScript(ジャバスクリプト、ジャワスクリプト)
と書いている。
と言うか、外国語をカタカナで書こうとする事自体が問題
>>898 あなたは韓国人やロシア人とかアラビア人とかの名前は
ちゃんとハングルやロシア文字やアラビア文字で書かれているんですか。
900 :
719:2006/08/17(木) 15:04:33 ID:Nh2C+zuo
韓国人に限っては、漢字で書きつつ韓国語読みにしてます。
朴一教授はハングルで表記するべきだと、日本語おっしゃってます。
中国人は日本語読みです。
他の国の人は、正確で無いのを承知でカタカナ表記にしてます。
日本語おっしゃってますか。
外国語をカタカナで書くんではなくて、
読み方をカタカナで書いてるだけ。
英語圏の人が発音記号を用いるのと同じ。
カタカナもそれと同じで日本人向けの発音記号と思っていい。
相変わらず関係のない話題が大半を占めてるな。
ハングルって韓国人がバカだから日本人が作って教えてあげたんでしょ?
上海での反日デモのときは、中国の若い豚野郎が日本人は中国が教え
てやるまで文字もなかったんだ、って哂ってたな。ま、その通りなんだが。
鳶が鷹を産んだようなもん?
905 :
719:2006/08/17(木) 16:56:04 ID:Nh2C+zuo
>>902 作った訳じゃない。
当時朝鮮の公用語は中国語でハングル文字はバカの使う文字とされ、廃れていた。
それを日本が復活させ、バラバラだった表記法を整理、統一し、普及に努めました。
韓国人がバカなのは、その通りです。
おばあちゃんは言っていた。
韓国人が馬鹿なのは辛いものを食べすぎだからだと。
>>906 だいたい合ってると思うけど、
その理論でいくと、秀吉が唐辛子を朝鮮半島に伝えるまでは朝鮮人はバカじゃなかった、
ってことになって謝罪と賠償を要求されるので、その理論は正しくないということにしといてください。
>>907 馬鹿なこと言ってこれては困るニダ
唐辛子はハンググが起源ニダ!
910 :
Name_Not_Found:2006/08/17(木) 21:27:00 ID:/Ah2L+85
DOMオブジェクトのテキストを取得しようと思って
function getText (obj) { (略) }
って書いたんですよ。想定通りの動作はしたんですけど、これだと
getText(obj);
みたいに書く事になりますよね。そうではなく
obj.getText();
ってしたいと思いまして
Element.prototype.getText = function () { (略) }
とか
Object.prototype.getText = function () { (略) }
とか試してみたんですが、GeckoもOperaも動くんだけどIEだと駄目みたいです
この場合IEではどうすればいいのか、どなたか御存じないでしょうか
>>910 全てのビルトインオブジェクトを試して上手く行かないならどうしようもない。
また、どちらにせよブラウザ標準のobjectを書き換えるのは非常によろしくないから、
その書き方を諦めるべきだと思う。
innerText で
innerTextはIE専
914 :
878:2006/08/17(木) 21:48:50 ID:Nh2C+zuo
>>910 うちもそういうのやりたいw
addEventListener をIE6にもつけたりとかねー。
最初に全部の要素と新しい要素にひとつひとつつけるしかないのかなあw
>>914 の運命や いかに〜. (おいらは性格悪いのだ イヒヒ)
>>914 document.onmouseup = up;
こんな事しても、そりゃ意図した動作はしないよ。
documentにイベントハンドラなんて無いから。IEがおかしいのさ。
どういう意図かはわからんが、windowにつけるとか、html、bodyエレメントにつけるとか、
そんなこったな。
つか、何読んだかしらんが、リファレンス読めよ。一目瞭然だ。
919 :
910:2006/08/17(木) 22:45:11 ID:/Ah2L+85
>>911-915 thx
まあ確かに行儀悪い書き方ですね
おとなしく普通の関数にしときます
とりあえず、そのショボイの2つはいらなすぎ
923 :
Name_Not_Found:2006/08/18(金) 01:20:09 ID:2PPDLSpS
ホームページビルダー作成のパスワード付きリンクのパスワードの解読方を教えてください。
おながいします
925 :
Name_Not_Found:2006/08/18(金) 03:33:48 ID:JgbF5klS
別ウインドウを開いてリンク先を表示するだけのくそ簡単なコードが、firefoxでは完璧に動作するのに
IEでは動きません。シンプルすぎてどこが駄目なのかもうお手上げ。何で?
>>925 ソースを提示して、
なおかつIEのプラットフォームやバージョンも明記してくれると
良いのだが。
927 :
925:2006/08/18(金) 03:52:55 ID:JgbF5klS
すぐアップするのでお待ち下さい。
928 :
925:2006/08/18(金) 04:01:26 ID:JgbF5klS
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_openBrWindow(theURL,winName,features) { //v2.0
window.open(theURL,winName,features);
}
//-->
</script>
<a href= "javascript:;" style="text-decoration: none;" onClick="MM_openBrWindow('xxxxxxx.html','xxxxxxxx','scrollbars=yes,resizable=yes,width=730,height=500')">
IE は最新。プラットフォームの判別法がわかりません。
>>924 MDCをスルーする意図不明。
それに、1.6をスルーするのもわけわからん。
今までの経験からして、公式情報だけ載せれば、それで十分だ。
そこで良いのは、for each in が E4Xの流れだ、という指摘くらい。
なんだか流行に乗ってあわてて作った雰囲気が漂っていて、テンプレには不適だろう。
どうしても非公式の二次情報をテンプレに載せたいなら、
ttp://nanto.asablo.jp/blog/2006/08/12/481381 以外にはありえない。この人、がんばり過ぎなくらいの力作だからw
1.7、どうみても改悪なんだけど
932 :
925:2006/08/18(金) 04:14:05 ID:JgbF5klS
>> 929
何故ですか? firefoxでは正常に動いているのですが。。。
933 :
925:2006/08/18(金) 04:20:51 ID:JgbF5klS
windowsXPです。ごめんなさい。
href="#"
href="javascript:void(0);"
936 :
925:2006/08/18(金) 04:51:43 ID:JgbF5klS
んーーー
xxxxxxの部分に日本語が入ってるわけでもないよね?
キャッシュが残ってるとかってオチだったりして
どっかほかにエラーがあるんじゃないかと
prtotype.js、scriptaculousあたりはテンプレに加えてもいいんじゃねーの
ライブラリについては需要が多ければ専用スレが立つのでは
ということでこれまで無視してきたけどどうするかね?
942 :
Name_Not_Found:2006/08/18(金) 18:35:33 ID:YkUOPTHB
943 :
Name_Not_Found:2006/08/19(土) 01:55:37 ID:5ahFeV0I
テキストボックスに入力した名前のサブウインドウをリサイズさせたいのですが、
ウインドウ名からそのウインドウオブジェクトを取得する方法を教えてください。
同様の機能が実現できる別案でも結構です。
<HTML><HEAD><SCRIPT>
function act(){
w=document.forms[0].elements[0].value;
/** obj=???( w ); 入力されたウインドウ名のオブジェクトを取得 */
obj=window.open( "", w ); /** これの戻り値相当のものをとりたい */
obj.resizeTo( "320" , "240" );
return true;
}
</SCRIPT></HEAD><BODY>
<FORM onSubmit="act();">
<INPUT><INPUT type="submit">
</FORM></BODY></HTML>
onmouse で テーブルのセル内の色を変えたいのですが、
よく出てくる表記の仕方 onmouseover="this.style.backgroundColor=''; だと、
色を変えたいセルがいくつもあるのと、ひとつひとつ<TD>の中に入れるのが大変なので、
一括で指定したいと思っています。(変わる色はまったく同じでかまいません)
検索してみて
ttp://www.parkcity.ne.jp/~chaichan/qanda/qa5684.htm のページを見つけたのですが、
指定されたIDのセルのみ動作するようにしたいのですが方法が分かりません。よければご指導ください。
>>943 それで取れると思うけど?フォームを提出してしまってるから
いけないんじゃないの。buttonにしてonclickで動作してみたら。
>>945 まだ問題設定が明確でないんだけど。「idのリストを用意して、これらのidを
持つセル全部についてonmouseoverで色を変更する」でいいのかね。それなら
var a = ['id1', 'id2', ...];
for(var i in a) {
var e = document.getElementById(a[i]);
e.onmouseover=function(x){return function(){x.style.backgroundColor='pink';};}(e);
}
もちろん上記が「すべてのidが出て来た後で」実行されるように最後に入れる
かbodyのonloadで実行されるかするように。
>>945 このスレッドの性格からしてヒントだけを書いておく:
これは Bookmarklet 化が可能だ.
もちろん, body onload で呼び出すこともできる.
おいおい…
>>945 のサイト見る奴皆がそのbookmarklet入れて自分で
それを選べってのかね。おかしすぎ。
やっぱり隔離スレが必要なんじゃないの?
次スレは975超えたら。テンプレは基本的に従来通り、参考サイトの
ショボイの2件とアクセスできないものは削って
>>930 を入れる。
ライブラリは先送り。くらいでどお?
>>978 説明不足かも知れないな.
"Bookmarklet にできる" と言う意味は
"HTML 部を一切いじらないで実現可能だ" ということ.
念のために Bookmarklet を張り付けておく :
javascript:function SetAttr(){var Td,l;Td=document.getElementsByTagName('td');l=Td.length;for(i=0;i<l;i++){Td[i].setAttribute('onclick',"style.backgroundColor='#660000'")}}SetAttr()
ここの質問者なら onload で動作するように書き換えられるはず.
注意 :
IE5.17(Mac版) では動かない.
(setAttribute をサポートしていない)
>>945 を良く読んでいなかった...
しかし, id を振っていくのなら
onmouseover="~" を書きこむのと手間は大して変わらない.
根本的に考えを改めるべきだ.
誰かさっさと隔離スレ立ててくれ。スレの無駄づかいかなわん。
次スレのテンプレは
>>920>>921からしょぼいのを削除、
>>930はいらないんじゃないか。1.6のときも載せてないし
特定のブラウザのみで動く情報はこのスレにはあまり求められてないと思う。
956 :
Name_Not_Found:2006/08/19(土) 16:48:54 ID:El8mXc24
>>947 >このスレッドの性格からしてヒントだけを書いておく:
そんな性格だったのか・・・・
--- HTML -------------------------------------------
<div id="hoge"></div>
<div id="hello"></div>
<script>addInputButton();</script>
--- JS ----------------------------------------------
function addInputButton() {
var input = document.createElement('input');
input.setAttribute('type', 'submit');
input.setAttribute('value', 'Hello');
input.setAttribute('onclick', 'hello();');
$('hoge').appendChild(input);
}
function hello() {
$('hello').innerHTML = 'Hello!';
}
上記の関数を実行するボタンをDOMで追加するスクリプトを FireFox と IE でテストしました。
両方とも hello ボタンが表示されました。
しかし、IEではボタンを押しても hello() が呼び出されないようなのです。
IE と FireFox の両方で動くようにするにはどうしたらよいでしょうか。
function addInputButton() {
var input = document.createElement('<input onclick="hello();">');
input.setAttribute('type', 'button');
input.setAttribute('value', 'Hello');
//input.setAttribute('onclick', 'hello();');
document.getElementById('hoge').appendChild(input);
}
冗談のようなホントの話
すいません、selectフォームのonChangeで関数を呼びだす時に、
引数として現在選択されているoption値を指定したいんですが、
formタグなしでthis参照みたいな相対的な指定でやる方法がよくわかりません。
<select name="test" onChange="hoge(this.test.value)">
みたいな感じで書いてみたんですが、うまく動かず…。
どなたかアドバイスなど頂けたらうれしいです。
<select onchange="alert(this.value)">
<option value="値1" selected>項目1</option>
<option value="値2">項目2</option>
<option value="値3">項目3</option>
</select>
this で参照したいのか name 属性で参照したいのかどっち?
961 :
943:2006/08/19(土) 18:54:15 ID:5ahFeV0I
>>946 ご指摘のとおりできました。
window.open(""); でブランクページが表示されると思い込んでいたのですが、
試してみたらそうではなかったようです。
ありがとうございました。
>>957 input.onclick = hello;
963 :
957:2006/08/19(土) 19:17:29 ID:???
>>958 なんですかそれ・・。って、IEで動いた!すげー
しかしFireFox で以下のエラーがでて動きません・・・
エラー: uncaught exception: [Exception... "String contains an invalid character" code: "5" nsresult: "0x80530005 (NS_ERROR_DOM_INVALID_CHARACTER_ERR)" location: "xxxxxx"]
>>962 FireFox, IE 両方で動作確認取れました。thx
>>960 できました!ありがとうございます
参照は選択中のvalueがわかればthisでもnameでもどっちでもよかったんですが、
nameで試してもうまくできなかったのでthisの方が簡単そうですね。
965 :
Name_Not_Found:2006/08/19(土) 20:44:25 ID:nKLXZV7e
ツリー式のメニュー表示について質問です。
<SCRIPT language="JavaScript">
<!--
function menu(id){if(document.all(id).style.display == "none")
{document.all(id).style.display="block";}else
{document.all(id).style.display="none";}}
//-->
</SCRIPT>
<A HREF="JavaScript:menu('tree');">メニュー</A><BR>
<DIV ID="tree" style="display:none;">
┣ 1<BR>
┣ 2<BR>
┗ 3<BR>
</DIV>
上記の動作確認をwinでしたところIE opera共に正常に動きましたが、
firefoxでは動作しませんでした。色々試してみると、
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
を記述していると動作せず、記述していない場合にのみfirefoxでも
動作することが確認できました。DTDを記述した状態でもfirefoxで
ツリー式のメニューを動作させるにはどうしたらいいでしょうか。
var d = document.getElementById(id).style.display;
d = (d == 'none') ? 'block' : 'none';
967 :
965:2006/08/19(土) 21:38:52 ID:???
ありがとうございます。firefoxでも動作確認できました。
実行.jsを.swfにするには、どうしたらいいですかね?
969 :
Name_Not_Found:2006/08/20(日) 01:26:44 ID:0yCV4d5h
バナーのtitle属性をバナーの右横または下に書き出したいのですが、どういう
スクリプトを組めばいいのでしょうか?
バナーのhtmlを貼っておきます
<iframe frameborder="0" scrolling="no" allowtransparency="true"
height="14" width="110"
src="(バナーのURL)&fg=%23ffffff&bg=%23000000&ritv=45">
Unknown</iframe>
>>968 ActionScript を埋め込めばいいんじゃないですかね?
Flash 板に行ってください
>>969 ドメインが同じならどうとでもなる
972 :
Name_Not_Found:2006/08/20(日) 17:32:49 ID:eaKP0/FM
javascriptでテキストの名前を<input type ="text" name ="A[0]">
として、javascriptでname ="A[0]"の値を拾いたいんですが
どのようにしたらよろしいでしょうか?ご教授お願いいたします。
974 :
Name_Not_Found:2006/08/20(日) 18:17:35 ID:JtcFN3i4
フレームを使っていないページから、インラインフレームを使ったページを、
そのフレームに収まるページを自由に指定しながら切り替える。
ということをしたいのですが、うまくいきません。
新しい窓で開き、その後でフレームの中身を入れ替えるというのはできるのですが、
現在の窓をそのまま使って、新しいページにするのがうまくいきません。
ヒントをいただけるとありがたいのですが。
よろしくお願いいたします。
975 :
Name_Not_Found:2006/08/20(日) 20:24:26 ID:ZN9t6GQ7
>>974 前半の意味はわかったけど、
後半を日本語でよろしく。
↓下の単純なプログラムで「成功」と表示させたいんですが
「ここをクリック」を押すとブラウザが止まります (Firefoxでエラーなしだけど止まる)
なんか根本的に違うような気がするんですがどうしたらいいかさっぱり分かりません
■index.html
<script type="text/javascript" src="system.js"></script>
<div id="AAA"></div>
■system.js
start();
function start(){
document.write("<a onclick='open();'>ここをクリック</a>");
}
function open (){
document.getElementById("AAA").innerHTML = "成功";
}
openっていう関数名を変える
979 :
Name_Not_Found:2006/08/20(日) 21:34:15 ID:JtcFN3i4
>>976 インラインフレームのあるページを別窓で開き、その後でそのフレームの中身を入れ替える
という作業を、javascriptをつかって1クリックだけで実行させるのは可能なんですが、
窓を増やさずにフレームの中身を指定しながらインラインフレームのあるページを
開くことができません。
(フレームの中身を変更することができません。)
と言いたかったのです。
伝わってるでしょうか?
980 :
Name_Not_Found:2006/08/20(日) 22:18:33 ID:M48C+LLC
カーソルがウィンドウから離れた時に起こるイベントを取得するイベントハンドラってないですか?
>>980 ないと思うけど。離れるとフォーカスが外れる環境(洩れのはそう)
ならonblurが使えるけどね。
>>979 そのインラインフレームのあるページにJavaScriptを仕込めるなら
どうにでもできるが、それができないと難しいね。ページが切り替わる
ときに現在のページのスクリプトは消えてしまうから。ちょっと苦しい
けど、真っ白な別窓を開きそこでスクリプトを動かして現在ページの
切替えとインラインフレーム中身の入れ換えを行わせ、終わったら
その別窓を自ら閉じる、というくらいならできるね。
>>978 start()だとかopen()だとか標準で使ってるものと衝突しそうな
名前の関数を作るなボケ!
>>977 テンプレのFAQを熟読しろボケ!
982 :
Name_Not_Found:2006/08/20(日) 23:39:16 ID:mXKnlOfe
<INPUT type="file"> の[参照]ボタンをクリックしたときだけ
イベントを発生させたいのですが、どうすればできるでしょうか?
入力エリアをクリックした場合はイベント発生させたくないのです。
983 :
978:2006/08/20(日) 23:43:04 ID:???
なぜ俺に…
>>983 ごめん誤爆。
>>982 type="file"はセキュリティ上の理由から捕捉できないんじゃないかなー。
985 :
982:2006/08/20(日) 23:52:08 ID:mXKnlOfe
>>984 そうですか。回答ありがとうございます。
979
>>981 レスありがとうございます。
やりたいことは単純なのに、実現させようとすると
妙に手間がかかりそうですね。
参考にさせていただきます。
ありがとうございました。