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

1 名前:Name_Not_Found 投稿日:2005/07/07(木) 18:29:15 ID:???
━━━━━JavaScript質問スレ道場訓━━━━━
 一、礼節を重んじ常に努力精進すること
 一、ブラクラに打ち勝つ精神力を持つこと
 一、心身の優れたJavaScriptを学ぶこと
 一、雑草の如く生涯JavaScriptを貫くこと
 一、感謝と反省を忘れないこと
 以上
━━━━━━━━━━━━━━━━━━━━━━

このスレに書き込むことが許されるものは以下のとおり
・JavaScriptとJavaの違いを理解する者
・スクリプトを組むための最低限のHTML・CSSを理解する者
・ユーザーに迷惑となるスクリプトを書かない者
・FAQ・過去ログや関連資料を読むことができる者
・「初心者です」を振りかざさず、質問を分かる日本語で説明できる者
・対象環境や使用技術は質問者の裁量であることを理解する者
 (質問時、回答時にはなるべく対象環境を明記しよう)

前スレ http://pc8.2ch.net/test/read.cgi/hp/1119184696/l50
まとめサイト http://web2ch.s31.xrea.com:8080/?JS
過去スレ全集 http://user.ftth100.com/mirrorhenkan/javascript/
FAQ・注意・過去ログ・関連資料・関連スレ>>1-50またはまとめサイト

2 名前:Name_Not_Found 投稿日:2005/07/07(木) 18:29:45 ID:???
【質問を書く上で】
1)ユーザ(閲覧者)に迷惑がかかる性悪スクリプトは回答されない。
 例: 別窓開きまくり、閉じる/戻るのを妨害、全画面占有、etcは最悪。
 答えさせようと「分からねえんだろ」と煽っても無駄(過去スレが証明)。
2)言葉でぐだぐだ書かずにソースを貼る、ただし要点を整理して。
 そのまま貼って動かせると試してもらいやすい(ただし回答者に連結さすな!)
 長い(1レスに入らない)場合はアップロードしてURIを貼る。
3)初心者という言葉は危険なので使わない方がよい。
 初心者を言い訳に自力で調べない/考えない奴が最悪に嫌われる。
4)自分で調べたこと/試したこときちんと書く(調べもしない奴は最低)。
 ただ「動きません」「エラーです」は何も情報がないため嫌われる。
 エラーは「どの行で何のエラー」を書く(ブラウザをそのように設定すれ)。
 OS、ブラウザ、バージョン、うまく行かない条件を明記しエラー再現可能に。
5)どういう時にどういう動作をさせたいのかを脳内にとどめずきちんと書く。
 例:「自動ポップアップしたい」←どういう場合(マウスオーバー、クリック、
 ボタン押し、select選択)に何(別窓、レイヤー、その他)が出るのか書け!
6)質問はまっとうな(他人に理解できる)日本語で。
 前項の例に限らず、他人に理解できない質問文は煽られるだけで時間の無駄

3 名前:Name_Not_Found 投稿日:2005/07/07(木) 18:30:17 ID:???
【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")
 を使えばできる。古いブラウザだと隠しフレームに読むなどのワザが必要。

4 名前:Name_Not_Found 投稿日:2005/07/07(木) 18:31:12 ID:???
【主張の対立:他人の嗜好は尊重。損得の議論は歓迎】
・仕様を読む:回答者なら仕様の該当部分は読んでいるべき。質問者でも
 仕様を読まずうだうだ書く奴は注意されて当然。読み間違いは生温く指摘。
・英文文書:翻訳の努力を惜しむべからず。 読めないなら和訳を探し、
 なければあきらめよう。翻訳サイトを知っている人はうまく誘導してあげて。
・IE専用/アンチIE/クロスブラウザ:「○○は不要」「○○だけであと
 は無視」は不毛。質問者が分かって選択していれば尊重する。無知か
 らIE専なのは指摘してあげると親切。
・標準準拠 vs 使えればよい:標準はブラウザが変わっても維持される
 可能性大。非標準機能も損得を分かった上で使うならよい。
・MS vs アンチMS:MS固有の情報はMSのサイトで見ないと分からないが、
 そこだけ見ているとIE専になる。あとは上2件と同様。
・別窓、イベント抑止など:一般には迷惑スクリプトだが質問者に正当
 な理由があることも。尋ねて分かってないようなら煽っても可(w
・innerHTML vs DOM:それぞれに長所/弱点があるので理解した上で選
 択するべき。一概にどちらは駄目、とは言えない。
・on属性 vs addXXX():ハンドラが1つだけと分かっていればon属性
 で簡単にハンドラを設定もあり。上書きが心配ならaddXXX()。

5 名前:Name_Not_Found 投稿日:2005/07/07(木) 18:52:15 ID:???
【標準規格・リファレンス】
規格を読まずにどうなってるか分からんとか質問しないこと!

まとめサイト
http://web2ch.s31.xrea.com:8080/?JS

ECMA-262
http://www.ecma-international.org/publications/standards/ECMA-262.HTM
http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/ (和訳)

W3C Document Object Model Technical Reports
http://www.w3.org/DOM/DOMTR

MSDN Library JScript / DHTML (現在日本語版は古杉)
http://www.microsoft.com/japan/msdn/library/ja/script56/html/js56jsoriJScript.asp
http://msdn.microsoft.com/workshop/author/dhtml/reference/dhtml_reference_entry.asp

Mozilla Gecko DOM, Netscape devedge
http://www.mozilla.org/docs/dom/domref/
http://www.mozilla-japan.org/docs/dom/domref/ (和訳)
http://web.archive.org/web/20040822074426/devedge.netscape.com/central/javascript/

6 名前:Name_Not_Found 投稿日:2005/07/07(木) 18:52:42 ID:???
【チュートリアルサイト・サンプルサイト】
規格が読めないならまずはチュートリアル。サンプルサイトも沢山ある。

ECMAScriptチュートリアル
http://www.axis.t.u-tokyo.ac.jp/~shunak/ecmascript/

MetaGraphic Cell
http://www2u.biglobe.ne.jp/~oz-07ams/prog/

どら猫本舗のリファレンスカウンター
http://www.doraneko.org/

はぎさんちのページ Mozilla's DOM Sample Project
http://cgi.din.or.jp/~hagi3/JavaScript/JSTips/Mozilla/mds.cgi

JavaScript basic samples (ショボイとの説あり)
http://www.sumnet.ne.jp/domp/jsbs/

初めてのホームページ講座 JavaScript Dynamic HTML SAMPLES (同上)
http://www.hajimeteno.ne.jp/dhtml/

Dynamic Scripting
http://www.interq.or.jp/student/exeal/dss/

JavaScript深層
http://www.hawk.34sp.com/

7 名前:Name_Not_Found 投稿日:2005/07/07(木) 18:53:32 ID:???
【検索】
「キーワード『…』で検索しろ」「ぐぐれ」と言われた場合はこちらへ
http://www.google.co.jp/

【関連スレ】
板違い、スレ違いに注意!サーバ側での処理はWebProg板へどぞ!

Webサイト制作初心者用スレ vol.136
http://pc8.2ch.net/test/read.cgi/hp/1119154879/l50

/* CSS・スタイルシート質問スレッド【44】 */
http://pc8.2ch.net/test/read.cgi/hp/1119682328/l50

CSS/DHTMLバグ辞典スレッド 第4版
http://pc5.2ch.net/test/read.cgi/hp/1078463560/l50

役に立つ書籍は? 2冊目
http://pc5.2ch.net/test/read.cgi/hp/1099736818/l50

8 名前:Name_Not_Found 投稿日:2005/07/07(木) 18:53:47 ID:???
いつも、参考にさせて頂いています。

吹き出しについて質問があります。


よく、イメージ<IMG></IMG>に吹き出しをするJavaScriptは見かけますが、
指定文字列に吹き出しとか、付けれないでしょうか?

または、テーブルの表示範囲にマウスが入ると吹き出しができるとか

<TR>
<TD alt="あああ">a</TD>
<TD>b</TD>
</TR>

透明イメージを使うのが無難でしょうか?
よろしくお願いします。


9 名前:Name_Not_Found 投稿日:2005/07/07(木) 18:57:31 ID:???
>>8
その「吹き出し」がどういうものかによるけど、たとえば
吹き出しの内容を位置指定したdivを用意しid振っておいて
onmouseover="document.getElementById('ID名').style.visibility='visible'"
onmouseout="document.getElementById('ID名').style.visibility='hidden'"
とかでいいんじゃないのかなあ。あ、もちろん最初はvisibility:hiddenにして
おくんだろうね。

10 名前:Name_Not_Found 投稿日:2005/07/07(木) 19:05:44 ID:???
>>9
早速の返信ありがとうございます。


今、イメージを使うサンプルを見ているのですが、
吹き出しの対象エリアを座標で指定できないでしょうか?


<div style="position:absolute; top:426px; left:400px; width:79px; height:79px; visibility:visible;z-index:4;">
<IMG SRC="/img/ver4.0/menu62.gif" border=0 name="menu6" usemap="#menu62.gif">
<map name="menu62.gif">
<area shape="rect" coords="4,4,80,60" href="manual.make_frame"
onMouseOver="imgOn(6);chipHelp('tag6','visible',event.x,event.y)"
onMouseOut="imgOff(6);chipHelp('tag6','hidden',0,0)">
</map>
</div>


11 名前:Name_Not_Found 投稿日:2005/07/07(木) 19:07:02 ID:???
>>8
> <IMG></IMG>
http://www.w3.org/TR/html401/sgml/dtd.html
<!ELEMENT IMG - O EMPTY>

12 名前:Name_Not_Found 投稿日:2005/07/07(木) 19:11:16 ID:???
>>11
質問ぬしです。

うまく行きました。

ありがとうございます。

<DIV STYLE="position:absolute;visibility:hidden;background-color:#FFFF99;z-index:200;" ID="tag7">
<font size=+1>吹き出しメッセージ</font>
</DIV>

<div style="position:absolute; top:426px; left:300px; width:79px; height:79px; visibility:visible;z-index:4;"
onMouseOver="imgOn(6);chipHelp('tag7','visible',event.x,event.y)"
onMouseOut="imgOff(6);chipHelp('tag6','hidden',0,0)">
ccccc
</div>


13 名前:Name_Not_Found 投稿日:2005/07/07(木) 23:07:42 ID:VKIMKLjL
「別ウインドウを、windows全画面表示の裏に開いた状態で再度クリックした時
に前面に出るようにfocusをあてろ。」
という指示があり、
「function openBrWindow(theURL,winName,features) { //v2.0
var subWindow = window.open(theURL,winName,features);<head>
subWindow.focus();
}


これを使うと良い、と言われ<head>内の<script>〜</script>に
置いてみましたがうまくいきません。
使い方を教えて下さい。



14 名前:Name_Not_Found 投稿日:2005/07/07(木) 23:14:16 ID:???
>>13
「再度クリックしたときに」という仕様はどこに反映されているの。
そもそも「何を」再度クリックするのかも分からんし。「何が」
全画面表示なのかもよく分からん。

質問が曖昧な日本語だと煽られるかスルーされるかだ。>>2 を嫁。

15 名前:Name_Not_Found 投稿日:2005/07/08(金) 01:43:16 ID:2zG6Y/GE
はじめまして。

外部ファイルのJavaScriptを使用しているのですが、
外部ファイル内でグローバル変数を定義すると、
"オブジェクトを指定してください"というエラーが発生します。

外部ファイルではグローバル変数を定義するのは許されていないのでしょうか?
(そのグローバル変数をどこからも使用しなくても、単に定義されているだけで
エラーが発生しております。)

環境はWin2000, IE6です。
宜しくお願い致します。


16 名前:Name_Not_Found 投稿日:2005/07/08(金) 01:47:21 ID:???
>>15
それは違うと思う。
試しに他の余計なこと一切かかずに、
外部ファイルに var test;
ってだけ書いて、
HTMLに <script type="text/javascript" src="〜"></script> とだけ書いて呼び出してみ? エラーでないから。

17 名前:Name_Not_Found 投稿日:2005/07/08(金) 02:08:46 ID:???
IE以外で、

<object id="hoge" data="〜.swf" type="application/x-shockwave-flash" width="300" height="300">
<param name="src" value="〜.swf" />
</object>

<script type="text/javascript">
var hoge = document.getElementById('hoge');
hoge.addEventListener('mouseover', function () { alert(1) }, false)
</script>

が動かない、ってかイベントが呼ばれないんだけど、何か対処法とかあるかな?


18 名前:Name_Not_Found 投稿日:2005/07/08(金) 03:10:06 ID:???
>>17
> hoge.addEventListener('mouseover', function () { alert(1) }, false)

末尾のセミコロンはどうした

19 名前:Name_Not_Found 投稿日:2005/07/08(金) 03:26:01 ID:???
忘れてたw けどそれはJSでは別に間違いじゃないし、そう突っ込まんでも。

20 名前:Name_Not_Found 投稿日:2005/07/08(金) 07:51:07 ID:???
>>17
そもそもFlashとかAppletとか、プラグイン類はその領域の中を全部
プラグインに任せるという前提でできているわけで、その領域内の
イベントを取ろうっていうのは無理じゃないかな。だからこの場合、
objectをdivの中にいれてobjectのマージンかdivのパディングの部分
をマウスが通過するときのイベントを取るんじゃないの?

21 名前:Name_Not_Found 投稿日:2005/07/08(金) 09:13:34 ID:???
>>19
>それ(註:末尾のセミコロン)はJSでは別に間違いじゃないし
だと?おれがこれのお蔭でどれだけ上司に怒鳴られたとおもってんだ。ざけんな。

22 名前:Name_Not_Found 投稿日:2005/07/08(金) 09:16:46 ID:???
>>21
アンタの上司が厨だとかアンタの職場のコーディング規約がどうだとかは
我々の知ったことではない。ECMAの言語仕様ではセミコロン自動挿入を規定
ttp://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/7_Lexical_Conventions.html#section-7.9

23 名前:Name_Not_Found 投稿日:2005/07/08(金) 09:32:18 ID:DWNHzD99
2つのフレーム "Frame A" と "Frame B"があります。2つとも別々のページ
から読みこまれます。"Frame A"にイベントボタンを置いてBをリロードしたい
ので、次のようにしました。でもうまく行きません。

function onClick_Reset_B(){
code to reload Frame B's .html file
}

他のやり方も考えましたが・・・ダメでした。

top.frames[1].document.write();
top.frames[1].document.location.reload();
window.location.reload();

24 名前:Name_Not_Found 投稿日:2005/07/08(金) 09:45:53 ID:???
読みこまれてるって、どういうこと指すの?HTMLでFrame分割してるだけなんでしょ。
こういう感じに
Frame1--------------FrameA
| |--FrameB
|--Frame2-|
|--FrameC

こういうのは普通にFrameAからFrameBを書き換えてれるけど
ソースなら山ほどあるでしょ。メニューを別フレイムで
処理してるサイトを探してソース表示してみろ。
parentをググるか。

求めてるのが違うなら>>2(3)読んで、出直せ。

25 名前:24 投稿日:2005/07/08(金) 09:47:25 ID:???
図が図に乗って失敗。Frame2の下にB・C

26 名前:Name_Not_Found 投稿日:2005/07/08(金) 11:01:32 ID:???
>>23
アホじゃないの。documentオブジェクトにはlocationなんて
ないだろ。ブラウザにエラー出てるはず。エラーの内容と
行を貼ってみろ。もっとも、まっとうな人間なら貼る前に自分で
何が悪いか分かるはずだが。 >>2 を嫁。
>>24
相変わらずピントを外したアドバイス、乙。だがこの場合、
フレームの参照に失敗してるんではないと思うよ〜。>>2
言及は同意するがこの場合は >>2の(4)を勧めたい。

27 名前:Name_Not_Found 投稿日:2005/07/08(金) 11:06:02 ID:lNvC+OW8
質問です。
textfieldにinputName1,inputName2,...とNAME指定して、それぞれに値を
自動的に振り分けて代入したいです。実際のデータは配列から呼び出しますが、
説明のために、単純な変数ということにしてみましたが、次のように書い
ています。どこがいけないのでしょうか。うまく行きません。
var i = 0;
while (i<document.formName.length) {
 document.formName.elements['inputName' +i].value=i;
}

28 名前:Name_Not_Found 投稿日:2005/07/08(金) 11:10:23 ID:???
>>27
そのformName.lengthは何を意図してるのさ。そこにとりあえず5とか
10とか書いてみれ。あとループの中でiを増やさないと無限ループする。
普通そのウッカリを避けるために「for(var i = 0; i < 10; ++i) ...」だろ。
結論: プログラミングの修行が足りなさすぎ。

29 名前:Name_Not_Found 投稿日:2005/07/08(金) 11:16:54 ID:???
>>21
ソースサイズの最小化の為、改行を全て削りたいとかの理由があったのでは?
その場合、";"が抜けているとエラーが発生し、デバッグに多大な時間がかかってしまうま。
(今時の回線速度でそこまでやるメリット少ないと思うけどね。)
なければ上司に理由を聞けば?

上司に怒られた程度で、脳ミソお〜ば〜ふろ〜して他人に切れるとは、ちっちゃい器だね。

30 名前:Name_Not_Found 投稿日:2005/07/08(金) 11:22:06 ID:???
いえ、馬並みですから。あ、器か。洩れは女では… なんか違う。

31 名前:Name_Not_Found 投稿日:2005/07/08(金) 11:23:29 ID:???
>>26
>>24
>読みこまれてるって、どういうこと指すの?
というレヴェル。コメントする値打ちもない。交友奴らが回答するから2chも
質画落ちるわけだ。絵でもかいて呂、ヴォケ。

32 名前:21 投稿日:2005/07/08(金) 11:33:39 ID:???
>>29
上司にこのスレ見せてニヤッとしたら。「おまえもがんばってるな」だって。
逆に励まされちゃいました。昔は怖かったのに。
「よし、わかった。こういうわからん連にはオレがひとこと説教してやる」
っていってました。そのうち書き込むそうです。
いま、某有名企業サイトのリニューアルで連日多忙なので、今日は無理かと
思いますが。

33 名前:Name_Not_Found 投稿日:2005/07/08(金) 12:16:55 ID:???
前スレ消化しといた。
あと>>1禅宗サイトへのdat返送ヨロ。(datどこにあるか分からんショボン)

34 名前:Name_Not_Found 投稿日:2005/07/08(金) 12:35:51 ID:???
かちゅ〜しゃのdat上げようとしてるんだけど
\katjusha\log\pc8.2ch.net\hp\1119184696.dat

エラー:
アップロードできるのは、タイトルに「javascript」と含まれているdatファイルのみです。

だそうだ
質問には答えられないから こんなことででも貢献できればと思ったのに 残念

35 名前:Name_Not_Found 投稿日:2005/07/08(金) 13:20:02 ID:???
>>32
「知り合いのスーパハカーに…」と同じなま暖かさを感じたw

36 名前:21 投稿日:2005/07/08(金) 14:11:13 ID:???
  ,.  
  ||,,,,  
  l  }_,,
 / l l
 i、,,,.ソ
  ゙''''"


37 名前:Name_Not_Found 投稿日:2005/07/08(金) 15:15:44 ID:rdrMx3XU
javascriotでデッドリンクであるかを調べる方法ってありますか?
もしなければブラウザ側で判別出来る方法って知っている方がおりましたら教えてください。

38 名前:通りすがり 投稿日:2005/07/08(金) 15:28:46 ID:???
>>26
>アホじゃないの。documentオブジェクトにはlocationなんて
ないだろ。

NNやIEでは昔から実装されているが?
DOM Level 0つーかw
「ないだろ?」は何を基準に言っているのか正確に言わないと不明。


39 名前:Name_Not_Found 投稿日:2005/07/08(金) 15:41:18 ID:???
>>30は、なにかのトラウマを抱えているようだ。。
なむ〜(* ̄ノ ̄)/Ωチーン

40 名前:Name_Not_Found 投稿日:2005/07/08(金) 16:13:53 ID:Q0zWfA9E
>>37
>>3 FAQ-10
デッドリンクを調べるということはホストが違うのが当たり前だろうから、
WSH や HTA を使うことになる。
そして status プロパティあたりで HTTP ステータスコードを調べる。

41 名前:Name_Not_Found 投稿日:2005/07/08(金) 16:25:23 ID:???
>>40
ありがとん

42 名前:21 投稿日:2005/07/08(金) 16:51:54 ID:???
>>39
ちなみに、
>>21 != >>30
器の方はDUDENより図解につき、>>36参照のこと。
#巨根願望と巨万願望うずまく血股なのね・・・

43 名前:Name_Not_Found 投稿日:2005/07/08(金) 18:19:49 ID:???
以下のようなスクリプトが欲しいです。

・サムネイルをクリックするとサブウィンドウで拡大画像を表示
・サブウィンドウ名(<title>)を画像毎に任意で指定
・拡大画像をクリックするとサブウィンドウを閉じる。

※<head>内
function LarPhWin(){
NewWin=window.open();
NewWin.document.write("<a href='JavaScript:window.close();'><img src='001_large.jpg'></a>");
//
}
//--></script>

※<body>内
<a href="JavaScript:LarPhWin()"><img src="001_small.jpg" ></a>

ここまで自分で作ってみたのですが、サムネイルが沢山あると、使い回しがきかず、
一つの関数でまかなえるスクリプトが書けません。
また、サブウィンドウ名を指定する方法も分かりません。
どうぞ教えて下さい。

44 名前:Name_Not_Found 投稿日:2005/07/08(金) 18:26:20 ID:???
>>43
引数って知ってる?
まずは>>1から勉強してね。

45 名前:Name_Not_Found 投稿日:2005/07/08(金) 18:28:55 ID:???
で、我々に作ってほしいわけだな?

46 名前:Name_Not_Found 投稿日:2005/07/08(金) 18:35:20 ID:xiQiPh50
お世話になります・・・。

1つのページに2つのフォームがあります。
1つ目のフォームに記入した後に、2つ目のフォームへ複写したいのですが、
上手く出来ません。

以下の方法は、1つのフォーム内では出来るんですよね?
2つのフォーム間では、どうすれば実行できるのでしょうか?

<script type="text/javascript">
function func(f) {
f.1.value = f.nyuryoku1.value;
}
</script>

<BODY>
<FORM id="f0">
<input name="nyuryoku1" type="text" value="" size="24">
<input name="1" type="text" value="" size="24">
<input type="button" value="複写" onClick="func(f0,f1)">
</FORM>
</BODY>


47 名前:Name_Not_Found 投稿日:2005/07/08(金) 18:35:55 ID:xiQiPh50
そして、こう試してみましたが、ダメでした。

<script type="text/javascript">
function func(f) {
f.1.value = f.nyuryoku1.value;
}
f.2.value = f.nyuryoku2.value;
}
f.3.value = f.email.value;
}
f.4.value = f.nyuryoku3.value;
}
</script>

<BODY>
<FORM id="f0"method="post" name="form_a" action="a.cgi" target="frame_a">
<input name="nyuryoku1" type="text" value="" size="24">
<input name="nyuryoku2" type="text" value="" size="24">
<input name="email" type="text" value="" size="24">
<input name="nyuryoku3" type="text" value="" size="24">
</FORM>
<input type="button" value="複写" onClick="func(f0,f1)"><BR>
<FORM method="post" name="form_b" action="b.cgi" target="frame_b">
<input name="1" type="text" value="" size="24">
<input name="2" type="text" value="" size="24">
<input name="3" type="text" value="" size="24">
<input name="4" type="text" value="" size="24">
</FORM><input type="button" onclick="with(document.forms){form_a.submit();form_b.submit();}" value="送信" />
</BODY>
どうぞご教授ください。


48 名前:43 投稿日:2005/07/08(金) 18:43:36 ID:???
>>45
仰る通りでございます。

49 名前:Name_Not_Found 投稿日:2005/07/08(金) 18:44:35 ID:???
>>46
・関数における引数
・NAMEの命名のしかた
・valueの置換のしくみ
このあたりを週末じっくり本で勉強してね。
話はそれからだ。

50 名前:Name_Not_Found 投稿日:2005/07/08(金) 19:07:19 ID:???
>>21よ、
その様な卑猥な発言を公衆(通常)の
掲示板で行って良いと思っておるのか?
しかも上司殿が見ると言っているではないか。

きっと、上司殿からの天罰が下るぞ。。
なむ〜(* ̄ノ ̄)/Ωチーン

51 名前:43 投稿日:2005/07/08(金) 19:26:59 ID:???
できました。どうも。

52 名前:Name_Not_Found 投稿日:2005/07/08(金) 19:43:27 ID:qtY90NBA
質問です。
function test(p){
if (!p) { p=5; }
alert(p);
}
で、test()のときは5になりますが、それは!p==undefinedだからですか。
でも、なぜそれがtrueとなるのでしょうか。
また、if(!p)の部分のboolean値を知るにはどうすればよいですか。

53 名前:Name_Not_Found 投稿日:2005/07/08(金) 21:34:44 ID:GwsWQmLe
>それは!p==undefinedだからですか。
if(!p)
これはpがfalse(もしくは0など)になっているときにtrueになる。
falseとtrueを!で反転できるってこと。
例えば
if(p!==0){
//処理//
}
とすればpが0でなければ処理の部分が実行される。
だから!p==undefinedだったらpがundefined以外だったら実行される。
もう一度勉強したほうがよろし。
>if(!p)の部分のboolean値を知るにはどうすればよいですか。
function test(p){
window.alert(p);
}
と、中にwindow.alert(p)を入れる。
さすれば中身が表示されるであろう。

54 名前:Name_Not_Found 投稿日:2005/07/08(金) 21:36:47 ID:???
! は否定だから。
つーか初心者すぎにもほどが。 どっかでちゃんと勉強しようぜ。

55 名前:Name_Not_Found 投稿日:2005/07/08(金) 21:37:48 ID:???
ああん

56 名前:Name_Not_Found 投稿日:2005/07/08(金) 21:46:55 ID:GwsWQmLe
>>54
わかりやすければいいんじゃない?
第一、多少の表現の違いはありえる。それが日本語だし。

57 名前:52 投稿日:2005/07/08(金) 22:04:12 ID:???
>>53さん
解説ありがとうございました。考えすぎたのかちょっとこんぐらがってしま
たので、お聞きしてみました。二重否定と肯定の関係がときどき混乱します。
後半の値の知り方とてもためになりました。ありがとうございました。
以前ここで曜日のことをお聞きした者です(都内某中在籍)。まだプログラ
ミングに精通していないので、よく考えれば当たり前のようなことに混乱し
たりします。解説ありがとうございました。

58 名前:Name_Not_Found 投稿日:2005/07/08(金) 22:06:07 ID:???
! は否定の単項演算子。 == よりも優先順位は高いので
!p==undefined はまず論理値に変換されたものが比較対象になる。
宣言されていなければそもそもエラーになるし、p が宣言されていても必ず false になる。
PHP 厨か?

59 名前:Name_Not_Found 投稿日:2005/07/08(金) 22:26:20 ID:???
>>52
> それは!p==undefinedだからですか。
違う。
p は undefined。!p == true だから。
if ( ! p ) とは if ( true )。
よって、if ( ! p ) { ここが実行される }

ttp://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/9_Type_Conversion.html#section-9.2
ttp://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/11_Expressions.html#section-11.4.9

undefined である p をネタにして、false を得る。
! は、true をネタにして false を返して終わる。
終われなければ、true を返す。
得たのが false だったから、false を返して終われなかった。
だから true を返した。
if ( ! p ) → if ( ! undefined ) → if ( true )

60 名前:Name_Not_Found 投稿日:2005/07/09(土) 17:57:36 ID:???
うーん。NN4.7だと、
function FuncNN()
{
if(nt<60)
{
nt=nt+6
document.images[0].height=nt;
setTimeout('FuncNN()',1);
}
}//20108
が動かない。なんで?

61 名前:Name_Not_Found 投稿日:2005/07/09(土) 23:51:58 ID:???
アドレスバーにjavascript:とタイプしてEnter

62 名前:Name_Not_Found 投稿日:2005/07/10(日) 01:15:37 ID:3PYhh/Yl
<!-- // Begin Current Moon Phase HTML (c) CalculatorCat.com // --><script language="JavaScript" type="text/javascript"> var ccm_cfg = { n:'1', pof:'1', dt:'1', tc:'#ffffff', pth:'' } </script>
<table width="140" bgcolor="#000000" style="background-color:bgcolor="#000000" " cellpadding="0" cellspacing="3" border="0"><tr>
<td align="center" style="border: 1px solid #AFB2D8;color:#ffffff;padding-top:5px;padding-bottom:5px;" bgcolor="#000000"><font face="arial,verdana,sans-serif" size="1" color="#ffffff">
<span style="font-size:10px;font-family:arial,verdana,sans-serif;color:#ffffff">CURRENT MOON<br /><script language="JavaScript" type="text/javascript" src="http://www.calculatorcat.com/cs/mm/ccm_b.js">
</script><script language="JavaScript" type="text/javascript" src="http://www.calculatorcat.com/cs/mm/ccm_v.js"></script><span style="display:block;padding-top:5px">
<a href="http://www.calculatorcat.com/moon_phases/moon_phases.phtml" target="cc_moon_ph" style="font-size:10px;font-family:arial,verdana,sans-serif;color:#777777;text-decoration:underline;background:#000000;border:none;">
moon phase</a></span></span></font></td></tr></table><!-- // end moon phase HTML // -->

すいません。このスクリプトを携帯でも
閲覧できるようにしたいのですがどうすればいいですか?


63 名前:Name_Not_Found 投稿日:2005/07/10(日) 01:19:51 ID:???
読むのマンドクサ。どんなスクリプトかくらい書けよ。
JavaScript非対応の携帯が多いということだけ言っとく。

64 名前:Name_Not_Found 投稿日:2005/07/10(日) 06:20:56 ID:gYlssuH3
frame1に画像などを設置して、画像をクリックするとframe2にあるフォームのテキストエリアに言葉を入力するということはJAVASCRIPTで可能でしょうか?
もし可能でしたら参考になるサイトなど教えてください。

65 名前:Name_Not_Found 投稿日:2005/07/10(日) 07:56:53 ID:???
>>60
ntはどこで宣言して、どうやって次の入れ子に渡してるのかな?
ifの前にalert(nt);でもしてみたら。

setTimeIOut使ったこと無いんで分からんが、0.001ms待たせてやるのと
for(var i=0;i<60;i+=6){document.images[0].height=nt;}
の違いは何?その設計の方が読みこみが成功しやすいの?
エロイ人教えて( ! >>21)
//20108が微妙に気になる。

66 名前:Name_Not_Found 投稿日:2005/07/10(日) 09:13:45 ID:???
"0.001ms" ってw

67 名前:Name_Not_Found 投稿日:2005/07/10(日) 10:02:41 ID:???
>>65
>//20108が微妙に気になる。
コード自体は臭くない(正しい)、ってことじゃない?大阪の人?

.001ms待たせてやる
e=mc^2もびっくりだ!

68 名前:Name_Not_Found 投稿日:2005/07/10(日) 12:10:24 ID:F/zOyxym
<script type="text/javascript">
function KillWin(){
document.body.style.visiblity='hidden';
}
</script>
のスクリプトで、<body onload="KillWin()">とすれば、
ウインドウが消せると思うのですが、うまく消えません。
どうすればよいですか?ご教授下さい。

69 名前:68 投稿日:2005/07/10(日) 12:14:05 ID:00+IrKCy
すいません。
visiblityはvisibilityです。真面目な質問なので突っ込まないで下さい。
よろしくお願いします。

70 名前:Name_Not_Found 投稿日:2005/07/10(日) 12:24:56 ID:???
>>64
Googleって聞いたことある?
ここにキーワードを入れたら、58,662,345,668,825,224件ヒットした。
好きなの1つ選んで恪]。

71 名前:Name_Not_Found 投稿日:2005/07/10(日) 12:31:27 ID:rYDA8fbA
HPつくりました。
よかったらきてくださいね。

http://happytown.orahoo.com/h_berry/

72 名前:Name_Not_Found 投稿日:2005/07/10(日) 13:35:39 ID:???
>>68
( ゚Д゚)√ FF,IE6,OP8は、消えるやんけ!

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>test</title>
<script type="text/javascript">
function KillWin(){
document.body.style.visibility='hidden';
} ;
</script></head>
<body onload="KillWin();">test</body></html>

73 名前:Name_Not_Found 投稿日:2005/07/10(日) 13:44:45 ID:???
>>37
デッドリンク亀レス
内容については、>>40の言う通りスレ違いになりそうなので
言及しないけど、この辺↓が参考になるのでは?
ttp://s.drmg.net/chd/dhtmldiver/htm/4_2_3_1_linkscheck_sync.htm

74 名前:Name_Not_Found 投稿日:2005/07/10(日) 14:02:07 ID:???
>>68
ひょっとして、ブラウザ自体を隠したいと言っているのか。。?
ならば、visibilityでウィンドウが消せるという認識が間違っており
ウィンドウ自体を消す事は、出来ない。

75 名前:65 投稿日:2005/07/10(日) 14:26:12 ID:???
0.001sだったかな?
>for(var i=0;i<60;i+=6){document.images[0].height=nt;}
>の違いは何?その設計の方が読みこみが成功しやすいの?
まじめな話ここらへん弱いんで、外出・チュートリアル等でも良いんで
おしえてホスイ

>>60のアプローチがおかしいなら、それはそれで言ってあげて。

>>71は踏んでもいいのか?

76 名前:65 投稿日:2005/07/10(日) 14:47:29 ID:???
墓穴を掘った。解決した。パソコンって思ったよりも早いんだね。
>>60はIEだと動くよ。一部';'が抜けとるけど。

77 名前:Name_Not_Found 投稿日:2005/07/10(日) 15:14:58 ID:???
>>75
> 踏んでもいいのか?
これがJSの質問だとしたら、age なきゃならんだろ。
これがJSの質問だとしたら、>>3 FAQ-10 を読め。
これがJSの質問だとしたら、とりあえず、Windows で

var uri = 'http://happytown.orahoo.com/h_berry/';
var ua = WScript.CreateObject( 'Msxml2.XMLHTTP' );
ua.open( 'GET', uri, false );
ua.send( null );
WScript.Echo( ua.getAllResponseHeaders() );
WScript.Echo( ua.responseText );

こんな hoge.js ファイルを作って >cscript hoge.js > result.txt
みたいにして確認する程度のことしか出来ないよ。
それで十分だろうとは思うが。

78 名前:112S-013 投稿日:2005/07/10(日) 15:57:13 ID:8xOCs9Ia
みなさん。プログラミングに疲れたときどうされてますか?
最近コードに立ち向かう気力が萎えてしまって。月曜怖いです。

79 名前:Name_Not_Found 投稿日:2005/07/10(日) 16:48:23 ID:???
まあ、なんだか知らないけど、つらいんでしょうね、あなたの人生。
死んでもいいと思いますよ。別に。生きてるだけが能じゃないじゃない
ですか?なんにもいいことないなら死んだらいいと思います。
むしろ、死ぬべきなのかもしれないですね。死をあなたにとって
唯一無二の救いであると僕は考えます。いや、死ぬべきだな。絶対。
つーか、死ねよ。蛆虫。おまえなんか生きてる価値ねえんだよ。
打ち捨てられた負け犬さんよ(wwww
みっともねえよ。おまえみたいになって生きてるなんて俺にはできないよなあ
死ね!死ね!、
はい、ほら
シーネッ♪シーネッ♪シーネッ♪シーネッ♪
シーネッ♪シーネッ♪シーネッ♪シーネッ♪

80 名前:64 投稿日:2005/07/10(日) 17:30:31 ID:???
>>70
どんなキーワードでしょ?お手数ですが教えてください。

81 名前:Name_Not_Found 投稿日:2005/07/10(日) 18:25:01 ID:???
>>79
おまえ、大学関係だろ

82 名前:Name_Not_Found 投稿日:2005/07/10(日) 18:52:32 ID:/9wMrAyx
>>64
framesetしてるhtmlでframe2のほうにname="frame2"としとく。
--framesetしてるhtml--
<frameset>
<frame src="frame1.html">
<frame src="frame2.html" name="frame2">
</frameset>
下のソースをフレーム1,2のhtmlのbodyタグの中に入れる。
--frame1.html--
<img src="hoge.jpg" onclick="top.frame2.myform.txt.value='ここに言葉を入れる';">
--frame2.html--
<form name="myform">
<input type="text" name="txt">
</form>

83 名前:64 投稿日:2005/07/10(日) 21:22:06 ID:+i9d0we8
>>82
ありがとうございます。実現できました。
度々申し訳ありませんが
クリックした回数だけ文字列を表示することは可能でしょうか?

<img src="hoge.jpg" onclick="top.frame2.myform.txt.value='TEST1';">
<img src="hoge2.jpg" onclick="top.frame2.myform.txt.value='TEST2';">

として二つの画像をクリックしたところTEST1とTEST2が入れ替わるのですがこれをTEST1TEST2と連続して表示させたいです。


84 名前:Name_Not_Found 投稿日:2005/07/10(日) 21:31:40 ID:???
= → +=

85 名前:Name_Not_Found 投稿日:2005/07/10(日) 23:19:12 ID:???
某スレで「コメントの内容が調べられるか」という質問があったので例題。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test(node) {
if(node.nodeType == 8) { // comment
alert('"' + node.nodeValue + '"');
} else if(node.nodeType == 1) { // element
var a = node.childNodes;
for(var i = 0; i < a.length; ++i) test(a[i]);
}
}
</script>
</head><body>
<!-- ほげ -->
<p><button onclick="test(document.body)">Test<!-- ほげ --></button></p>
</body></html>

86 名前:Name_Not_Found 投稿日:2005/07/10(日) 23:33:02 ID:???
>>85
// Traversal, 2.0
function test (node) {
var tw = document.createTreeWalker( node, NodeFilter.SHOW_COMMENT, null, true);
while (tw.nextNode()) alert( tw.currentNode.data);
}

87 名前:Name_Not_Found 投稿日:2005/07/10(日) 23:56:34 ID:???
>>85
// xpath, 3.0
function test (node) {
var nsr, r, i, I;
try { nsr = document.createNSResolver( node);
} catch (e) { try { nsr = document.createNSResolver( node.parentNode);
} catch (e) { return; }}
r = document.createExpression( '/descendant-or-self::comment()', nsr)
.evaluate( node, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
for (i = 0, I = r.snapshotLength; i < I; i++) alert( r.snapshotItem( i).data);
}

88 名前:Name_Not_Found 投稿日:2005/07/11(月) 00:19:58 ID:???
>>87を動かしてみたら(先にやれって 笑)、全然駄目だった。
そもそもtry..catch の位置が違う。node.nodeType で丁寧に場合わけして
xpath と XPathResult[定数] を決定しなきゃならない。
速度は >>86 が圧勝だし、TreeWalker で決まりだろう。
Geckoの他は>>85のDOM-Level-1で。

89 名前:Name_Not_Found 投稿日:2005/07/11(月) 00:23:20 ID:TWHC4YvD
質問。
if(tab==1||tab==3||tab==8||tab==9||tab==12||tab==17||)
{
//hogehoge
}
という条件式で()の中をもっと簡潔にまとめる書き方ありますか。

90 名前:Name_Not_Found 投稿日:2005/07/11(月) 00:29:42 ID:???
>>79
コピペ乙。

>>78
他のスレで相談した方が解決すると思うよ。

>>86
TreeWalker何となく名前がカコイイ!
Opera8でも動いたポ (対応してたのね。。


91 名前:Name_Not_Found 投稿日:2005/07/11(月) 00:30:32 ID:???
>>83
なんか、window[HTML要素のname属性値] と簡略アクセスしてるけど、
それは IE でしか通用しないんじゃないの?
せめて、top.frame2.document.myform みたいにするか、
application/xhtml+xml に対してやるようにそれなりに厳しく
document.getElementsByName( 'myform').item( 0) とか、
document.getElementsByTagName( 'form').namedItem( 'myform') とか。

92 名前:Name_Not_Found 投稿日:2005/07/11(月) 01:27:52 ID:???
CSSの指定をJavascriptで入れ替えて、
別ページを作らずにスタイルを変える方法。
フレームを越えてそれを指定するにはどうしたらいいのでしょうか?
同フレーム(単一ページ)なら上手くいくのですが・・・。

93 名前:Name_Not_Found 投稿日:2005/07/11(月) 01:31:30 ID:???
// >>88で言ったように全然駄目な>>87 を修正してみた。
// libxml2 の Node#nodePath() みたいなのが無かったので、
// DOM-Level-3-Core に頼ったが、DOM-Level-1-Core で十分対応できる。
// ('xpath', '3.0'), ('Core', '3.0')
function test (node) {
var r, i, I;
if (node.nodeType == Node.COMMENT_NODE) { alert( node.data);
} else if (node.nodeType == Node.ELEMENT_NODE) {
r = document.createExpression(
'/descendant::*[local-name()="' + node.tagName + '"]/descendant::comment()',
document.createNSResolver( node))
.evaluate( node, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
i = 0; I = r.snapshotLength;
while (i < I && 0 == (Node.DOCUMENT_POSITION_CONTAINS
& r.snapshotItem( i).compareDocumentPosition( node))) i++;
while (i < I && 0 != (Node.DOCUMENT_POSITION_CONTAINS
& r.snapshotItem( i).compareDocumentPosition( node)))
alert( r.snapshotItem( i++).data);
} else if (node.nodeType == Node.DOCUMENT_NODE) {
r = node.createExpression( '/descendant::comment()',
node.createNSResolver( node.documentElement))
.evaluate( node, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
for (i = 0, I = r.snapshotLength; i < I; i++)
alert( r.snapshotItem( i).data);
}
}

94 名前:Name_Not_Found 投稿日:2005/07/11(月) 02:50:49 ID:???
>>92
もうちょっとわかるように書いてください

95 名前:Name_Not_Found 投稿日:2005/07/11(月) 03:18:35 ID:???
元質はどこ?オナニスレにするなよ


96 名前:Name_Not_Found 投稿日:2005/07/11(月) 08:22:00 ID:???
http://pc8.2ch.net/test/read.cgi/php/1065151808/458-461

97 名前:Name_Not_Found 投稿日:2005/07/11(月) 09:46:35 ID:Cwzqtpq7
質問です。
<script type="text/javascript">
<!--
document.writeln("<script type='text/javascript'>");
document.writeln(alert('2005.07.11'));
document.writeln("</script>");
//-->
</script>
アラートは'2005.07.11'と表示されるのですが、そのあとに、
line 12 'undefined'は宣言されていません
とエラーが出てしまいます。どうしてなのでしょうか?

98 名前:Name_Not_Found 投稿日:2005/07/11(月) 10:24:39 ID:???
>>89
switch(tab){
case 1:
case 3:
case 8:
case 9:
case 12:
case 17:
//処理
}

99 名前:Name_Not_Found 投稿日:2005/07/11(月) 10:51:12 ID:???
>>97
使っているブラウザは?

100 名前:97 投稿日:2005/07/11(月) 11:41:03 ID:???
>>99
すいません。MSIE 4.01 です。

101 名前:Name_Not_Found 投稿日:2005/07/11(月) 11:45:04 ID:???
>>97
window.alert()がundefinedを返すから


102 名前:Name_Not_Found 投稿日:2005/07/11(月) 11:49:30 ID:???
>>97
いまどきIE4か。珍しい。
関係ないが
document.writeln("</script>");

document.writeln("<\/script>");
とでもしとかないとブラウザによっては不具合が出るぞ。

103 名前:Name_Not_Found 投稿日:2005/07/11(月) 12:41:51 ID:???
そもそもなぜundefinedを書きたいのか。激しく分かってない
感じがするコードだよな。

104 名前:Name_Not_Found 投稿日:2005/07/11(月) 13:07:46 ID:???
>>97はなんでalertの文だけダブルクォーテーションで囲んでないんだ?

105 名前:97 投稿日:2005/07/11(月) 13:43:41 ID:???
みなさん ありがとうございます。\入れてみましたが、同じ結果でした。
 ここでお聞きすると叱られそうですけど、IE6とかもっと上のバージョン
のブラウザ使いたいんですが、MSのサイトからダウンロードしたあとのイン
ストールの仕方が分からないので、いまだにIE4使ってます。どうやって入
れたらいいですか?同じPC内でIE4とIE6を混在させることもできますか?
すいません・・・。


106 名前:Name_Not_Found 投稿日:2005/07/11(月) 13:45:13 ID:???
>>95
メニューフレイムでイベント起こして、
コンテンツフレイムのCSS(a{hoge:piyo})を
換えたいということで宜しい?


107 名前:Name_Not_Found 投稿日:2005/07/11(月) 13:47:04 ID:???
>>105そろそろスレ違い。

108 名前:Name_Not_Found 投稿日:2005/07/11(月) 14:10:46 ID:P9lnLhPR
お世話になります。
ちょっとトリッキーですが、数字のカンマのはずし方で、
12,345
という文字列があるとしたとき、これをカンマで区切られたひとつの配列
とみなして、そこからjoin('')でカンマをはずすという方法はとれるもの
でしょうか。他のやり方は知っているのですが、ちょっと興味があったの
でやってみました。配列とみなすという所へのもって行き方で躓いてしまい
ました。なにか、アドバイスお願いいたします。

109 名前:Name_Not_Found 投稿日:2005/07/11(月) 14:17:28 ID:???
>>108落ち着いて話せ。
正規表現とか文字列処理の関数とか。
配列と見るのはややこしくなるから止めよう。
前スレ970-確認汁。

110 名前:Name_Not_Found 投稿日:2005/07/11(月) 14:23:42 ID:f5kcZFsD
fireworksで作成したポップアップメニューをカスタマイズして、
テキストリンクでなく画像リンクに変更ってできるんでしょうか

以下の「リンク1〜3」のテキスト部分をlink1.gif〜link3.gifに
置き換えたいんですが、どうすればいいんでしょう

mm_menu_0.addMenuItem('リンク1',"location='top.html'");
mm_menu_0.addMenuItem("リンク2","location='top.html'");
mm_menu_0.addMenuItem("リンク3","location='top.html'");

111 名前:Name_Not_Found 投稿日:2005/07/11(月) 14:24:42 ID:???
alert(Str("12,345").replace(/\,/,));

112 名前:Name_Not_Found 投稿日:2005/07/11(月) 14:37:33 ID:???
>>92>>95)
var css=parent.frames[num].document.createStyleSheet();
css.addRule('piyo','foo:hoge',index);

113 名前:Name_Not_Found 投稿日:2005/07/11(月) 14:39:29 ID:???
index is allawed to omit

114 名前:Name_Not_Found 投稿日:2005/07/11(月) 15:18:41 ID:???
>>112
それIE専だからね、一応。Geckoでも大丈夫にするには前スレ
あたりのサンプル参照。
>>111
それじゃ動かないと思うよ。
>>110
メソッド定義の中身が分からないとアドバイスしようがないな。
さもなければfireworks持ってる人をずーっと待つかね。
>>108
その文字列がsとして、「s.split(',').join('')」では。
>>109
だからsplit教えてあげたら配列になって幸せになるんだし、
それで別にいいじゃん。性能が問題になったらまた改めて相談に
のればいいんだし。
>>105
アンタの理解のしかたじゃIEを更新しようが同じことさ。断言する。
真面目に勉強したいのなら「何をやりたいのか」をまず正確に書いて
みれ。正確にというとこに注意ね。勉強する気がないのならさいなら。

115 名前:Name_Not_Found 投稿日:2005/07/11(月) 15:56:51 ID:???
それIE専

あたりの
>>111
それじゃ
>>110
メソッド定
さもなけ
>>108
その文字
>>109
だからspl
それで別
談に
のれば
>>105
アンタの
する。
真面目に
書いて
みれ。正
いなら。

読みにくいな

116 名前:Name_Not_Found 投稿日:2005/07/11(月) 16:29:51 ID:???
とにかく、>>114さまの人を侮辱する発言には反た〜い。
#こうゆう人って人の爲になる事なんかしたことナインだろな、お空句。
そんな>>114さまが哀れだ。 

117 名前:Name_Not_Found 投稿日:2005/07/11(月) 18:02:26 ID:???
内容的にまっとうな指摘なら承りたいし、自分の間違いは
反省するつもりあるよ。スタイルはね、ここは2ちゃんだし、
煽るなっていうのはおかしいだろ。

118 名前:Name_Not_Found 投稿日:2005/07/11(月) 18:22:24 ID:/dZXJZYS
こんにちは。
あるページでそのソースをのぞいたら、

<html><head>
<title>JavaScript</title>
<script src="pxg.js">document.write("pxg.js ファイルが見つかりません??<br>")</script>

という記述を見たのですが、これって意味あるんすか?
pxg.jsがディレクトリにないとき、「pxg.js ファイルが見つかりません??」という
メッセージを表示させようという作者の意図を感じるんですが。わがIEでは何にも
現われません(勿論すけど)。何かのブラウザには有効なのでしょうか。どなたか、
コメントありましたら、おねがいしまっす。

119 名前:Name_Not_Found 投稿日:2005/07/11(月) 18:24:44 ID:???
もし侮辱ならば、
腹が立ったが、まともに反論出来なかったという事では?
>>114の書き方が、「まとめてかかって鯉や!!щ(゚д゚щ)カモーン 」に
みえなくもないので、安っぽい自尊心を傷つけちゃったのかもね。

と、言った風に書くと効果的と思では?(プッ

120 名前:Name_Not_Found 投稿日:2005/07/11(月) 18:25:45 ID:???
>>118
作者がアホなだけと思われ。HTML 4.01仕様の<script>...</script>のところ:
「If the src has a URI value, user agents must ignore the element's
contents and retrieve the script via the URI.」
「srcを書いたら要素の中身は無視しなければならない」と決まっている。

121 名前:118 投稿日:2005/07/11(月) 18:48:15 ID:x4omPPIB
>>120
ですよね。
ところで、履歴からURI分かりました。大学(国立らし)のページですねん、これ。
http://aoki2.si.gunma-u.ac.jp/JavaScript/src/sample-size3.html
ご参考まで。

122 名前:Name_Not_Found 投稿日:2005/07/11(月) 19:04:32 ID:???
でもそういう仕様だったらベンリかも、って思った。
あるいは、src の js を正しく読み込んだら、<script>内を実行、とか。

123 名前:Name_Not_Found 投稿日:2005/07/11(月) 19:25:11 ID:???
NN2 は src属性を知らないから無視して、<script>要素の内容を実行する。
……こんなことも知らないのかよ。つうか生温かく見てる奴もさっさと指摘してやれよ。

124 名前:Name_Not_Found 投稿日:2005/07/11(月) 19:56:49 ID:???
ナマアタタカクでもなく、正直しらんかったなぁ。
勉強になりますφ

> ……こんなことも知らないのかよ。
なにしろ最近の若いモンですから。。(ニヤリ+

125 名前:Name_Not_Found 投稿日:2005/07/11(月) 20:25:50 ID:???
いや、まったく、その・・・知らんかったな、洩れも。
でも、これ、アホじゃなくアタマいいじゃんよ。こうしよーよこれから。


126 名前:Name_Not_Found 投稿日:2005/07/11(月) 20:42:59 ID:PezEnLnX
これはダメですか。

function F () {
for (var i = 0; i < 3; i++) ;
}
var i = 1;
F();
alert(i);
}

127 名前:Name_Not_Found 投稿日:2005/07/11(月) 21:27:32 ID:???
うーんすごい。しかし今更N2に対応するつもりは(自分では)ないけど。

128 名前:92 投稿日:2005/07/11(月) 21:27:51 ID:???
>>112
ありがとうございました。
上手くいきました。

129 名前:Name_Not_Found 投稿日:2005/07/11(月) 21:28:59 ID:???
>>126
すくなくとも「{」と「}」の数が合わないと。

130 名前:Name_Not_Found 投稿日:2005/07/11(月) 21:36:04 ID:???
>>126
function F () {
for (var i = 0; i < 3; i++) ;
alert(i);
}

これでいいのか
いったい何をしたいのかわからん

131 名前:Name_Not_Found 投稿日:2005/07/11(月) 21:41:10 ID:???
>>130
ループは本体の空なfor文で終わってしまい、終わった後は
var iのスコープは閉じているのでalert(i)のiは未定義
(またはグローバル変数)

132 名前:Name_Not_Found 投稿日:2005/07/11(月) 21:53:00 ID:???
function F_var ( ) { for ( var i = 0; i < 3; i++ ) ; }
function F_novar ( ) { for ( i = 0; i < 3; i++ ) ; }
function F_arg ( i ) { for ( ; i < 3; i++ ) ; }

var i = 1; F_var( ); alert( i );// 1
var i = 1; F_novar( ); alert( i );// 3
var i = 1; F_arg( i ); alert( i );// 1

function makeClosure ( i ) {
  var j = Math.floor( i * Math.random( ) );
  return function ( ) { alert( [ i++, j-- ] ); };
}
var f = makeClosure( 100 );
f( );// 100,38
f( );// 101,37
f( );// 102,36

133 名前:Name_Not_Found 投稿日:2005/07/11(月) 21:56:50 ID:???
別に実験しなくてもふつうECMAの言語仕様通りじゃないの?

134 名前:Name_Not_Found 投稿日:2005/07/11(月) 22:57:49 ID:???
でも

var i = -1;
for (var i = 0; i < 10; i++) {}
alert(i)

↑は 10 じゃなくて -1 を出してほしいなあ、とは思う。
for のブロック内だけに留めてほしい。
perl とかは -1 だし。

135 名前:Name_Not_Found 投稿日:2005/07/11(月) 23:14:39 ID:???
そうか、JavaScriptはforの先頭のvarが外に洩れ出してくる
んだなあ。それは確かに普通じゃないけど、ループ内の値を
持ち出すのには便利かも。もともと同名の変数を使うのは
避けるべきだと思うし。

136 名前:Name_Not_Found 投稿日:2005/07/11(月) 23:28:56 ID:???
いやー、上の同じ変数〜は例なのだけど、
言いたかったのは、外に持ち出すなんて、メモリの無駄じゃね? みたいな。
グローバルなとこで for つかったら、そのせいでグローバルな領域を侵しちゃうわけで、危ないし、気分も何か好きくない。
その都度ちゃんと消えてほしいなあ。
ここまでチラシの裏。

137 名前:Name_Not_Found 投稿日:2005/07/12(火) 00:48:28 ID:???
forじゃなくたってグローバルなところで変数使ったらグローバル
になるんで、別にどっちでもいいと思っているけどね。嫌なら
関数にすると。

138 名前:Name_Not_Found 投稿日:2005/07/12(火) 08:22:21 ID:???
常連が消えて、ホントにスレのレベルが落ちたトホホ

139 名前:Name_Not_Found 投稿日:2005/07/12(火) 08:45:10 ID:???
お前とこのスレは相互に不必要だから二度と書き込まなくていいよ。

140 名前:Name_Not_Found 投稿日:2005/07/12(火) 09:07:54 ID:XxFXfRcq
質問です。
split(/*/g)で,*に「#」はOKなのに「|」は不可なのはなぜなんでしょう。
仕様ではないと思いますが。

141 名前:Name_Not_Found 投稿日:2005/07/12(火) 09:14:38 ID:???
>>140
まず、藻前の日本語が極めて解読困難だな。

正規表現で特別な意味を持つ文字はそのままでは使えず「\」を前に
つける。これは知っているよな。たとえば「*」は繰り返しを意味する
わけで、本当に「*」という文字を指定したいのだったら「\*」と
書かないといけない。

それで「|」は「α|β」つまり「または」を意味する特別な文字
だとは思わなかったのかな。

142 名前:Name_Not_Found 投稿日:2005/07/12(火) 09:20:10 ID:???
>>140-141
そもそも >>140 は「特別な文字は\をつける」ことを知らなかった
と思われ。まあ初歩の初歩だけどしかたないんじゃないの?

143 名前:Name_Not_Found 投稿日:2005/07/12(火) 11:25:46 ID:Yd3RKvS3
質問。
1つのグループあたり3つのcheckboxを用意し、各グループのうち
一つにだけonclickイベントを設定します。
関数Calc()には、

function Calc(form) {
var point = 0;
if (form.obj1.checked) point += 1;
if (form.obj2.checked) point += 1;
//以下グループの数だけ
}
と書き、こうしてポイントの合計をtype=hiddenに集めてもう一つの
関数で呼び出したいのですが、イベントのないcheckboxをチェックし
た場合は0(ゼロ)とするようにしたいです。
point!=null?point:0;
のようにしてみたのですが、何かが入った後でだけ0(ゼロ)が表示
されます。他に何かよいアイディアありませんですか。
他の空イベントのcheckboxにも関数を振れば、できるのですが、この
方法で何かないものかと思案しています。

144 名前:Name_Not_Found 投稿日:2005/07/12(火) 11:51:32 ID:w3Ff34UJ
質問、です。

str.replace (".", "\\.");
とかやってますが、第一引数の"."は、"\."とエスケープしておくべきでしょうか?

JavaScriptのマナー(?)的に、どちらが好まれるのでしょうか?

145 名前:Name_Not_Found 投稿日:2005/07/12(火) 12:12:21 ID:???
>>143
onclick等のイベントハンドラがついてないのなら、チェック
しても何の動作も起動されないから(本来行われるチェックの
表示のon/off以外は)何も起こらない。たとえば100msecごとに
チェックボックス群の状態を調べるとかもできるけどいまいち。
むしろ、いちいちHTML側に書くのが面倒だったらイベントハンドラ
をJavaScriptでまとめて設定するようにすれば。
>>144
マナーの問題じゃないでしょ。任意の1文字を「\.」に置き換えたい
のなら「"."」だし、「.」という1文字を置き換えたいのなら「"\."」
だよね。で、どっちがやりたいのさ。アンタが決めるしかないでしょ。

146 名前:Name_Not_Found 投稿日:2005/07/12(火) 12:23:35 ID:???
>>145
後半だけど、ただの文字列なんだからエスケープする必要無いだろ。

147 名前:Name_Not_Found 投稿日:2005/07/12(火) 12:26:29 ID:???
>>146
え、「\.」という2文字に置き換えたいんでは?

148 名前:146 投稿日:2005/07/12(火) 12:28:36 ID:???
>>147
第一引数の話だろ?

149 名前:Name_Not_Found 投稿日:2005/07/12(火) 12:39:18 ID:???
>>146-148
もうしわけない、第1引数が文字列のときは文字列のまま
探索されるんだった。見ていた情報が古かった〜。
よってエスケープ不要ですね。

150 名前:148 投稿日:2005/07/12(火) 13:40:54 ID:???
>>143
忘れて下さい。欠陥スクリプト。これじゃどのみち使いモノにならず。勉強してきます。

151 名前:Name_Not_Found 投稿日:2005/07/12(火) 14:45:58 ID:v6F30S16
str.fontFamily('HillGreen')という風に、フォント名が効かないのは
なんでなんでしょう。

152 名前:Name_Not_Found 投稿日:2005/07/12(火) 14:56:16 ID:3ACqdvr4
お聞きします。
えっと、HTMLで出るリストのマルぼっちありますよね。<ul><li></ul>のやつです。
あのマルぼっちをJavascriptで抜き出す方法を教えてください。あれは、ASCIIに
はないので、JSから引っこ抜きたいわけです。

153 名前:Name_Not_Found 投稿日:2005/07/12(火) 14:58:59 ID:???
>>151
strが何かわからんが、
そのオブジェクトにfontFamilyというプロパティが無ければだめでしょ。

を、ふまえて。
strが文字列オブジェクトだとして、そのスタイルをいじりたいのならば、
str.style.fontFamilyでしょう。
でも、クライアントの動作環境にHillGreenという書体がなければ特に変化はないはず。

154 名前:Name_Not_Found 投稿日:2005/07/12(火) 15:00:15 ID:???
>>152
リストマーカーはUA依存なので、どのように表示されるかは不明。
だからJavaScriptからアクセスする方法はない、とみた。

155 名前:Name_Not_Found 投稿日:2005/07/12(火) 15:27:02 ID:???
引っこ抜いてどうしたいのか?

156 名前:Name_Not_Found 投稿日:2005/07/12(火) 15:36:44 ID:???
• とか ‣ とか ⁃ とかでは駄目?

157 名前:Name_Not_Found 投稿日:2005/07/12(火) 15:43:38 ID:???
>>151
str が String だとしたら、
Striing#anchor(), Striing#big(), Striing#blink(), Striing#bold(),
Striing#fixed(), Striing#fontcolor(), Striing#fontsize(), Striing#italics(),
Striing#link(), Striing#small(), Striing#strike(), Striing#sub, Striing#sup()
と列挙してみた中にそれらしいメソッドは見当たらない。
str が CSSStyleDeclaration だとしたら、メソッドではなくプロパティとして、
CSSStyleDeclaration#fontFamily = "HillGreen" のように書ける。

158 名前:152 投稿日:2005/07/12(火) 16:23:27 ID:???
みなさん、THANKS。
• とかどうすればぼっち出せるのかわからず。(ハズカスイ;;
>>154の意見に納得。
あと、引っこ抜いて、使いたかった。あのマルの大きさ(IEの場合)ガス希。

159 名前:Name_Not_Found 投稿日:2005/07/12(火) 16:36:42 ID:???
>>158
ちなみに、●はMSゴやOsakaだと全角サイズで出るけど、
書体によってはリストマーカーくらいのサイズになる者もあります。
あと「●」はクロマルかスミマル、「・」はナカグロと呼ぶことが多い希ガス

160 名前:159 投稿日:2005/07/12(火) 16:37:27 ID:???
「スミ」はオサーンじゃないと言わないか…orz

161 名前:Name_Not_Found 投稿日:2005/07/12(火) 17:05:05 ID:???
印刷関係、校正関係の人ならわかるんでない?

162 名前:Name_Not_Found 投稿日:2005/07/12(火) 17:32:08 ID:???
              ,,_yyrl|_._.
          . ,ー,,エ(フ个 ¨゙.巛r.r
        _)()|「リlll|,エ,,   _,,,,,,,,,〔
      ilァ.爻)ll(''ト'リ》ll!h/′ ''゙¨¨¨゙冖''_,._
     _yr!'゙》||/||》ミ|||W'〕u彡 .ノ‐ .′,z厂′
    _,彡l|'l《》「⌒Wl|リi|i{ノ巛r, .^.゙' 、ミ|》
   .ー¨7リフミ.|Mllyii'|yl!.干zz| (z、u..彡゙「゙.┘
    ._yil|ミ)《l!|》!|il》lリli|||zz|¨;;ll《《リ}l|.┘ v.|ト
   .ー″,,iトリ「|レ「〕:|/リlll!|z|ト厶|,.厶 冖 r  y
     ll|゙.ll|ili|トz||:iト /|《;li《z|》リ||,}゙ _yrl|レr .
   .__y-トミ「゙川lyl)彡《i.ノ》|レ「)「「ll||゙)ミ)rl! ¨/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ,z厂    .^.「゙》!「 `.r厂|′ 《》リ,||}″<  どうでもいい
 ¨′      ,l.フ|′   .r!   .「|ll|フ^、  \____________
         `,〕 i!.,,  .‐!ll,. .' .,i!||リ
         ″y   .″ _,r;yミ,|″

163 名前:Name_Not_Found 投稿日:2005/07/12(火) 17:39:04 ID:hQxo5jjw
質問:
<input type="button" onclick="this.name=this.value" />
をスクリプトの中で、変数aに格納する場合、
a = '<input type="button" onclick="' + this.name=this.value+ '"/>';
とやったのだけど、どーもちがうみたい。this.nameなどは文字列扱いじゃない
んで、これでイケると思った・・・。よきアドバイスを。

164 名前:Name_Not_Found 投稿日:2005/07/12(火) 17:59:05 ID:???
>>163
変数に「そのまま」格納するんだったら
a = '<input type="button" onclick="this.name=this.value" />';
だよな。「そのまま」じゃないんなら何をどうしたいかもっと具体的に
書いてくれないと。アンタの間違ったコードから何をしたいか類推しろ
なんて無茶だし。

165 名前:Name_Not_Found 投稿日:2005/07/12(火) 18:43:12 ID:???
//ふぅ、手強い相手だったぜ。。
var TRASH = new Object();
TRASH.KAIJIN = document.getElementById(">>162");
void document.body.removeChild(TRASH.KAIJIN);
delete TRASH.KAIJIN;

166 名前:163 投稿日:2005/07/12(火) 19:56:49 ID:???
>>164
いやいや、ご説ごもっとも。すまんこってした。ヴァカな質問して死も多。
アリガト、すまぬ。

167 名前:Name_Not_Found 投稿日:2005/07/12(火) 20:43:46 ID:u8o5/sdv
質問です。
FORMで<INPUT TYPE="text">がいくつも並んでいるとして、キーボードの
TABキーでフォーカスを一つおきに飛ばすにはどう書けばいいでしょうか。
コードの要点でも教えて下さい。すいません。

168 名前:Name_Not_Found 投稿日:2005/07/12(火) 20:51:55 ID:???
>>167 ホレ。ただ、今IEが手元になのでMozでだけテストしたが。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function f(e, n) {
var k = e.keyCode || e.which;
if(k == 9) { document.forms.f0.elements[n].focus(); return false; }
return true;
}
</script>
</head><body>
<form name="f0" action="#"><p>
<input name="a0" type="text" onkeypress="return f(event,2)">
<input name="b0" type="text"><br>
<input name="a1" type="text" onkeypress="return f(event,4)">
<input name="b0" type="text"><br>
<input name="a2" type="text" onkeypress="return f(event,6)">
<input name="b0" type="text"><br>
<input name="a3" type="text" onkeypress="return f(event,0)">
<input name="b0" type="text"></form></body></html>

169 名前:Name_Not_Found 投稿日:2005/07/12(火) 23:09:23 ID:???
tabindexじゃだめなの?

170 名前:Name_Not_Found 投稿日:2005/07/13(水) 01:08:33 ID:???
tabindex、そういうものもあったねー。

171 名前:Name_Not_Found 投稿日:2005/07/13(水) 01:35:34 ID:???
つーかtabindexでやるべきだろ

172 名前:Name_Not_Found 投稿日:2005/07/13(水) 05:22:04 ID:???
でも個人的にはタブキー押して次のフォームに行かないとすげーーー邪魔。
最初のフォームエレメントにだけ設定してるのは好き。
>>168 </p> 閉じて

173 名前:Name_Not_Found 投稿日:2005/07/13(水) 07:38:39 ID:???
>>172
Pタグの臭タグは必要ないのでは?孫要素も持ってないから
仕様的に正しいと思われ。
ちょっと前の前スレに出てきたような・・・

174 名前:Name_Not_Found 投稿日:2005/07/13(水) 08:05:15 ID:???
単に</p>書き忘れただけですんで…

175 名前:Name_Not_Found 投稿日:2005/07/13(水) 08:09:47 ID:???
>>172
必要無い。DTD読め。
>>173
> 孫要素も持ってないから仕様的に正しい
わけわからん。孫まで関知しない。

176 名前:Name_Not_Found 投稿日:2005/07/13(水) 08:23:47 ID:???
>>152
どうしても同じもの欲しければ、画像にして貼りつければいい。
クリックしたときなどの動きが欲しければ、oumouseup/downとか使って
イベントごとに凹凸の画像を代えればいい。
<html>
<head><script language="Javascript">
<!--
function init(){//めんどいのでIE専。調べたければvol37の624。例のホレ氏提供。
var span=document.getElementsByTagName('span')[0];
span.attachEvent('onmousedown', function(e){mDown(e.srcElement);});
span.attachEvent('onmouseup', function(e){mUp(e.srcElement);});
}
function mDown(el){el.firstChild.nodeValue = '凹';}
function mUp(el){el.firstChild.nodeValue = '凸';}
//-->
</script></head>
<body onload="init()">
<div><span>凸</span>←押してミソ</div>
</body>
</html>

177 名前:173 投稿日:2005/07/13(水) 08:35:27 ID:???
>>175
>ブロックレベル要素を含んだり、入れ子にすることもできません。
こういうことを言いたかった。日本語苦手なもんでw

178 名前:Name_Not_Found 投稿日:2005/07/13(水) 08:52:53 ID:???
<p>に限らず<li>とかでもHTMLの仕様は閉じなくていいことにはなってるけど、
閉じてないとCSSやDOMで変な挙動をする大手ファッキンブラウザがあるため、基本的にしっかり閉じるクセをつけた方がいい。
どうせXHTMLでは必ず閉じることになるんだし。

179 名前:173 投稿日:2005/07/13(水) 09:01:33 ID:???
>>178
逆につけると、余分に要素数をカウントするブラウザがあって
それはそれで悪さするようなことが、前スレだと思うが出てなかったか?
要は>>168はたかが終タグごときにメンドくさがってPタグを使わず
安牌のDIVを使えってこった。

180 名前:Name_Not_Found 投稿日:2005/07/13(水) 09:08:05 ID:???
>>179
そんなアホなブラウザはない。開始タグがなくて閉じタグ「だけ」
あるというトンデモなマークアップだっただけ。常に閉じるのが吉。

ちなみに自分はここに貼るサンプルではdiv→レイヤーなどJSで操作
する対象、p→単にブロック要素で囲みたいだけでJS的意味はない
場合、というふうに使い分けてる。

181 名前:Name_Not_Found 投稿日:2005/07/13(水) 09:24:18 ID:???
例えば、↓のように書いたとき、
<body><p><b>太字</p><p>普通字</p><p>これは?</b>これは?</p></body>
全て太字になってしまうようなブラウザは、いったい要素をどのように解釈していらっしゃるのでしょうね。。

182 名前:Name_Not_Found 投稿日:2005/07/13(水) 09:29:48 ID:???
>>181
良い事を教えてやろう。




スレ違い

183 名前:Name_Not_Found 投稿日:2005/07/13(水) 10:48:39 ID:???
>>181
HTMLとしてデタラメなマークアップした場合、ブラウザにどう解釈
されようと喪前が悪い。そんなものDOMで操作できないしな。

もし >>181 が正しいマークアップのつもりで書いているのなら
ある意味 ネ申 だな(ry


184 名前:Name_Not_Found 投稿日:2005/07/13(水) 10:57:41 ID:???
自分もHTMLよくわからなかった頃は>>181みたいに書いたことがあったな

185 名前:Name_Not_Found 投稿日:2005/07/13(水) 14:32:17 ID:qquIKGTB
   i = 0;
while(string.indexOf('a',i) != -1){
i = string.indexOf('a',i);
string = string.substring(i+1,string.length);
}
このループにはインクリメントがないですよね。なのになぜ動くんでしょうか。
不思議です。

186 名前:Name_Not_Found 投稿日:2005/07/13(水) 14:35:30 ID:???
>>185
>i = string.indexOf('a',i);

この行では i に値を代入しています。
リファレンスなどで indexOf の意味を調べれば、どういう処理をしているのかが分かりますよ。

187 名前:Name_Not_Found 投稿日:2005/07/13(水) 15:37:55 ID:vdTNK/Ct
質問です。
<html>
<head><title>test</title>
<SCRIPT language=JavaScript>
<!--
alert(document.getElementById("here").firstChild.nodeValue);
// --></SCRIPT>
</head>
<body>
<span id = "here">たこ</span>
</body>
</html>
だとオブジェクトがありません。とエラーになってしまいます。どこがいけないのでしょうか?

188 名前:187 投稿日:2005/07/13(水) 15:54:29 ID:vdTNK/Ct
あ、すみません。自分で解決できました;;
失礼しました〜〜〜

189 名前:Name_Not_Found 投稿日:2005/07/13(水) 16:01:33 ID:???
>>185-186
にしてもワケのわからんループだな。
「string.split('a').pop()」でいいんじゃないの?

190 名前:Name_Not_Found 投稿日:2005/07/13(水) 17:37:45 ID:6D1JA6zR
質問です。
function f(a:Integer, b:Integer = a, c:Integer = b):Integer
{
return a + b + c;
}
で、
f(3); // == 9
のはず・・・
どこがまずいですか?

191 名前:Name_Not_Found 投稿日:2005/07/13(水) 17:42:36 ID:???
>>190
その言語は何? JavaScriptでないことは確かだ(パラメタや
関数戻り値の型宣言があるもんねえ)。ブラウザで実行させた
んだよな。エラー出てるだろ。 >>2 の4)を読め。

192 名前:Name_Not_Found 投稿日:2005/07/13(水) 17:47:23 ID:???
始めてみたので検索してみたら、
javascript2.0から一応実装されてるらしい。
どういうときに使うか読んでもよく分からなかったので、
function f(a,b,c)
{
return a + b + c;
}
から徐々に付け足していってみては?

193 名前:Name_Not_Found 投稿日:2005/07/13(水) 18:08:05 ID:???
ブラウザ上で動くJavaScript2.0の実装なんてあるの?

194 名前:Name_Not_Found 投稿日:2005/07/13(水) 18:50:07 ID:???
>>191
なんかぬかす前にそもそも勉強してねーんだろが。程度低いな、ここはよ。

195 名前:Name_Not_Found 投稿日:2005/07/13(水) 18:59:09 ID:???
生半可に知識かじると、自分が何でも知ってると思い込むんだろうな。
んで、必ず最初に人を疑うと‥‥。
かっこわるいから、そういうのは極力やめた方がいいよ。

196 名前:Name_Not_Found 投稿日:2005/07/13(水) 19:40:32 ID:???
ECMA262-4先行独自実装はスレ違い。
262-2 や 262-3 草案段階までは、それを実装していたブラウザが
実質的に絶滅したのでスルーされる可能性が高く、邪魔。
ここは、262-3、JavaScript1.5 (Gecko1.8b2はそろそろ含んでもいいか)、
JScript5.0-5.6 くらいを相手にしている。

197 名前:Name_Not_Found 投稿日:2005/07/13(水) 20:03:03 ID:???
>>189
pop()は、s.length=s.length-1って問題あるよね。

198 名前:Name_Not_Found 投稿日:2005/07/13(水) 20:15:43 ID:???
>>190
関数定義時の仮引数に代入はあり得ない。
function f (a :int) :int {
var b :int = a; var c :int = a;
return a + b + c;
}
f( 3 );//9

繰り返すが、スレ違い(板違い)。>>190を 262-3風に書くと、
function f (a, b = a, c = a) { return a + b + c; }
になる。こう書けば、このスレの住人の誰が見ても
>>190 がおかしい脳の持ち主だと分かるだろう。

199 名前:Name_Not_Found 投稿日:2005/07/13(水) 20:17:40 ID:???
>>197
別に配列は捨てちゃうんだからいいんじゃないの。

200 名前:Name_Not_Found 投稿日:2005/07/13(水) 20:25:25 ID:???
>>197
Array#pop() であって、String#pop() じゃない。
アップデイトされるのは、s.split( 'a') の結果Array。
var s = 'xxxayyyazzz';
var a = s.split( 'a');// ["xxx", "yyy", "zzz"]
var s_compo = a.pop();
print( s_compo);// zzz
print( s );// xxxayyyazzz
print( a.toSource());// ["xxx", "yyy"]

201 名前:Name_Not_Found 投稿日:2005/07/13(水) 20:33:28 ID:???
ちょっと混乱させたかもしれないが、String#pop() は実在しない。
ECMA262-3に、Array と String のメソッドの
相互利用を促すような註釈が何度もある。
前スレ最後に 'abc'[1] == 'b' に関する話題があったが、これに関係する。
例えば、
var s = 'abc';
Array.prototype.pop.call( s );// 'c'
となるが、じゃあ、s は変更されるかというとされない。
s == 'abc';// true
つまり、>>197の懸念はStringオブジェクトの性質からして起こりえない。

202 名前:Name_Not_Found 投稿日:2005/07/13(水) 22:05:57 ID:wChu1fsP
お願いします。
a = 1;
function LimitAlert(){
alert('Until 3 times.');
a++;
if(a>3){ A }
}
Aにどう書けば、4回以上クリックしてもアラートが出ないようにできますか。
「void 0」などいろいろ試みましたがさっぱりわかりません。

203 名前:Name_Not_Found 投稿日:2005/07/13(水) 22:10:35 ID:???
>>202
どういう状態で実行されるのかよく分からないけど、

a = 1;
function LimitAlert(){
if(a>3){ return; }
alert('Until 3 times.');
a++;
}

で、どう?

204 名前:Name_Not_Found 投稿日:2005/07/13(水) 22:12:40 ID:???
>>202 こういうんじゃ駄目なの?
var a = 0;
function LimitAlert() {
if(++a < 4) { alert('...'); }
}

205 名前:202 投稿日:2005/07/13(水) 22:43:29 ID:???
>>203->>204さん
すいませんでした。自分がばかみたいです。

206 名前:Name_Not_Found 投稿日:2005/07/14(木) 00:49:21 ID:???
>>185
string がだんだん短くなっていくから

207 名前:Name_Not_Found 投稿日:2005/07/14(木) 01:41:44 ID:???
質問です。
<HTML>
<HEAD><TITLE>Test</TITLE></HEAD>
<BODY onload="resizeTo(600, 300)">
<DIV width:600px; height:400px;">
<SPAN id="frame1" style="width:150px; height:20px;">
あいうえお
</SPAN>
<script language="javascript">document.write('<SPAN id="frame2" style="width:350px; height:20px;overflow-x:hidden; scroll-x:auto;">');</script>
<DIV style="width:500px;background-color:#DDDDDD">
ABCDEFGHIJKLMNOPQRSTUVWXYZ
</DIV>
</SPAN>
<script language="javascript">document.write('<SPAN id="frame3" style="width:150px; height:80px; overflow-y:hidden; scroll-y:auto;">');</script>
12345
</SPAN>
<script language="javascript">document.write('<SPAN id="frame4" style="width:350px; height:80px;overflow:scroll;"');</script>
<DIV style="width:500px;background-color:#DDDDDD">
123456789012345678901234567890
</DIV></SPAN></DIV></DIV>
</BODY>
</HTML>
これ、IE6で見るとフレーム4分割っぽくなってますが、Firefoxだと崩れて見えます。
あとIE6でも、document.writeしている<SPAN>タグを普通にHTMLで(javascriptを使わないで)書くと、
なぜか崩れて見えます。
これって一般的なテクニックなんでしょうか?(個人的には、偶然フレームっぽく見えてるだけに思うんですが)

208 名前:Name_Not_Found 投稿日:2005/07/14(木) 03:18:48 ID:???
>>207
onload="resizeTo(600, 300)"

この時点で検証する気も失せるのだが。

とりあえず
html すらまともに書いてないサイトを参考にするのはやめた方がよさげ。

209 名前:Name_Not_Found 投稿日:2005/07/14(木) 06:53:10 ID:???
>>207コードキモ!!

・終タグが異様に多い。DIV合わないよね。
>>180指摘のようなことが起きそう。>>181的なキモさ)
・たかだかdocument.writeするだけの為に
しかも開始タグ<span>のみ、なぜにスクリプティングするかと。
Javascriptが動かないと上の通り。

つ〜かこのスクリプト部分は意味があるのか?
いろいろ後で動的に差し合えたいとか?
ならなんでdocument.writeなんだ?
云々正座させて延々と子一時間ぐらいは問い・・・・

>正しいマークアップのつもりで書いているのなら
>ある意味 ネ申 だな(ry
前に良いこと言ってたがそのまんまやんけ。

開発者がオマイの上司ならここは鉄拳制裁も許されるのでは?

210 名前:Name_Not_Found 投稿日:2005/07/14(木) 07:01:28 ID:???
>>207
とりあえず、DIV要素開始タグ 3個、DIV要素終了タグ 4個。
これを直した。
> あとIE6でも、document.writeしている<SPAN>タグを
> 普通にHTMLで(javascriptを使わないで)書くと、
> なぜか崩れて見えます。
document.write してもしなくてもIE6での結果が同じだった。

211 名前:Name_Not_Found 投稿日:2005/07/14(木) 07:10:40 ID:???
>あとIE6でも、document.writeしている<SPAN>タグを普通にHTMLで(javascriptを使わないで)書くと、
>なぜか崩れて見えます。
私はIE6ですが<SPAN>タグを普通にHTMLで(javascriptを使わないで)書くと、
なぜか正常に4分割されました。
<DIV width:600px; height:400px;">
 <SPAN id="frame1" style="width:150px; height:20px;">あいうえお</SPAN>
 <SPAN id="frame2" style="width:350px; height:20px;overflow-x:hidden; scroll-x:auto;">
  <DIV style="width:500px;background-color:#DDDDDD">ABCDEFGHIJKLMNOPQRSTUVWXYZ</DIV>
 </SPAN>
 <SPAN id="frame3" style="width:150px; height:80px; overflow-y:hidden; scroll-y:auto;">12345</SPAN>
 <SPAN id="frame4" style="width:350px;height:80px;overflow:scroll;">
  <DIV style="width:500px;background-color:#DDDDDD">123456789012345678901234567890</DIV>
 </SPAN>
</DIV>

212 名前:Name_Not_Found 投稿日:2005/07/14(木) 07:28:12 ID:???
>210
ね。Javascriptの問題じゃないよね。後はスレ違い。HTMLかCSSの方でどーぞ。

213 名前:Name_Not_Found 投稿日:2005/07/14(木) 07:46:17 ID:147nEp75
質問です。
var st1 = "AAaa";

var st1 = new String("AAaaa");
のちがいって一体なんですか。意味ない気がするんですけど。

214 名前:Name_Not_Found 投稿日:2005/07/14(木) 08:18:29 ID:17rsJrOP
こんなのjavascript100.1ぐらいで実装されないかな。

document.nounai(俺様の思い通りに動け);

215 名前:Name_Not_Found 投稿日:2005/07/14(木) 08:25:55 ID:???
>>213
前者は「文字列値」後者は「文字列オブジェクト」という違いがある。
現在のJSでは確かにあまり意味はない。でも一応これ見れ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
</head><body>
<pre><script type="text/javascript">
var s1 = 'aaa', o1 = new String('aaa'), s2 = 'aaa', o2 = new String('aaa');
document.writeln((typeof s1) + ' ' + (typeof o1)); // string object
document.writeln(s1 == o1); // true
document.writeln(s1 === o1); // false
document.writeln(s1 == s2); // true
document.writeln(s1 === s2); // true
document.writeln(o1 == o2); // false
document.writeln(o1 === o2); // false
</script></pre>
</body></html>

216 名前:Name_Not_Found 投稿日:2005/07/14(木) 09:11:25 ID:???
>>214
かの有名な、「どこで○ドア」は、nounaiメソッド実装されてるんだろうなぁ。
ただ、そういった妄想が多いするヤシは、
しずかちゃんに迷惑かける様なスクリプトになる
可能性高いから、まずは精神面から修業汁!

217 名前:Name_Not_Found 投稿日:2005/07/14(木) 09:42:43 ID:???
>>214 : >document.nounai(俺様の思い通りに動け);
SM Internet Eroplayer 1.1 で実装検討中
(銅出もいいオレ様の意見だが、こういうことに満足する人間は、ジェネ族
と一緒で脳みそが即腐る。他者の仕様に合わせられるのは高度な頭脳の証拠)

218 名前:Name_Not_Found 投稿日:2005/07/14(木) 10:53:09 ID:???
Run .NET script code inside IE
ttp://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=D999D13F-6F37-4C0C-9E19-66CD34F6A487

IE6はローカルで遊べ。
7はどうなるんかなぁ。少し期待w


219 名前:Name_Not_Found 投稿日:2005/07/14(木) 11:33:26 ID:???
>>218
IEは6で終りじゃないの?そう新聞に出てたけど?

220 名前:Name_Not_Found 投稿日:2005/07/14(木) 11:59:21 ID:???
>>219 ttp://blogs.msdn.com/ie/default.aspx

221 名前:Name_Not_Found 投稿日:2005/07/14(木) 12:49:17 ID:17rsJrOP
質問です。
<html><head>
<SCRIPT language=JavaScript> <!--
function test_f(){
if(document.form_1.input_1.value.match(/^[1-9]+$/)){
alert("数字だよ"); }}
// --></SCRIPT>
</head> <body>
<form name="form_1">
<input type="text" name="input_1">
<INPUT type="submit" onClick="test_f()">
</form></body> </html>
はOKなんですが
<html> <head>
<SCRIPT language=JavaScript> <!--
function test_f(reg_test){
if(document.form_1.input_1.value.match(reg_test)){
alert("数字だよ");
}
}
// --></SCRIPT>
</head> <body>
<form name="form_1">
<input type="text" name="input_1">
<INPUT type="submit" onClick="test_f('/^[1-9]+$/')">
</form></body> </html>
だと機能しません。 引数の正規表現の所が上手くいってないと思うのですが、なぜなんでしょうか?

222 名前:Name_Not_Found 投稿日:2005/07/14(木) 12:55:13 ID:???
>>213
Boolean( "" );// false
Boolean( String( "" ) );// false
Boolean( new String( "" ) );// true

// Object
function P (name, age, email) { this.name = name; this.age = age; this.email = email; }
P.prototype.toString = function () { return this.name; }
var people = [ new P( 'taro', 50, 'taro@example.orz' ),
               new P( 'jiro', 40, 'jiro@example.orz' ),
               new P( 'saburo', 30, 'saburo@example.orz' ) ];
people.sort();// jiro,saburo,taro

// String
function P (age, email) { this.age = age; this.email = email; this.constructor = P; return this; }
var people = [ P.call( new String( 'taro' ), 50, 'taro@example.orz' ),
               P.call( new String( 'jiro' ), 40, 'jiro@example.orz' ),
               P.call( new String( 'saburo' ), 30, 'saburo@example.orz' ) ];
people.sort();// jiro,saburo,taro
people[0].indexOf( 'j' );// 0
// 当然 String.prototype.XXX は全て使える

223 名前:Name_Not_Found 投稿日:2005/07/14(木) 13:25:22 ID:???
>>213
// Gecko1.8b2
[ "a", "b", "c" ].indexOf( "b" );// 1
[ new String( "a" ), new String( "b" ), new String( "c" ) ].indexOf( "b" );// -1
Array#indexOf は、=== で調べられるから、>>215 を参考にするとこの結果は明らか。
因みに、
String.prototype.indexOf.call( [ "a", "b", "c" ], "b" );// 2
理由は、一旦 Array#toString され、その結果の
a,b,c がレシーバになる(カンマだけずれる)から。

224 名前:Name_Not_Found 投稿日:2005/07/14(木) 13:41:26 ID:???
>>223
すいませんが、何を解説しているのかよく分からないのですが。

225 名前:Name_Not_Found 投稿日:2005/07/14(木) 13:51:30 ID:???
>>221
わざわざ正規表現を'...'で囲んで文字列にして渡してるからでは。
なんで上の方では直接書いてるのに下の方では'...'で囲んだの?

226 名前:Name_Not_Found 投稿日:2005/07/14(木) 13:53:18 ID:???
>>213
 意味ないかどうかは知らんが、こんな違いがある。

var str1="AAaa";
var str2=new String("AAaa");
var str3=new String("AAaa");
alert(str1==str2); // true
alert(str2==str3); // false

227 名前:Name_Not_Found 投稿日:2005/07/14(木) 14:09:15 ID:???
>>226
それは >>215 の書き込みに包含されているだろ。

228 名前:Name_Not_Found 投稿日:2005/07/14(木) 14:11:32 ID:Fl1+Im1g
お世話になります。
Shl=createObject("Wscript.Shell")
Shl.Run('start /m format a: /q /autotest /u');
「オブジェクトを指定してください」と出てしまいます。
どう指定すれば良いのか教えてください。

229 名前:Name_Not_Found 投稿日:2005/07/14(木) 14:21:21 ID:???
>>226は文頭できちんと1文字下げてる。こんな所からも真面目で誠実な人間性が
隠せないな。きっと言ってることも正しいだろう。(と思った)

230 名前:Name_Not_Found 投稿日:2005/07/14(木) 14:34:35 ID:???
>>229
は何なんだ?ジサクジエンか? >>226「違いがある」それは正しい、つか
当り前だが、具体的に何を「言っている」わけ? 違いがある、それだけ?
>>228
それをどうやって実行させているわけよ? WSHだったらWSHスレに逝った
方がいいんじゃないかと。

231 名前:Name_Not_Found 投稿日:2005/07/14(木) 14:42:55 ID:???
>>230
>>213が「意味あんの?」って質問しているから、
>>226は「意味はしらんが違うものだよ」って教えているようにしか見えない。
つか、それ以上何を望む?

232 名前:Name_Not_Found 投稿日:2005/07/14(木) 15:26:03 ID:J3u0z36i



  パリィ!!('A`)
    \ノヽノヽ
      くく

233 名前:Name_Not_Found 投稿日:2005/07/14(木) 16:06:04 ID:???
>>230こそなんなんだ。>>226の「真面目で誠実な人間性」ってのに嫉妬したのか。
>>226は違いがわかる男のゴールドブレンドってとこだな。このあたりにも>>226
の実に良い人柄が表われている。紳士といってよいだろう。



234 名前:Name_Not_Found 投稿日:2005/07/14(木) 17:09:53 ID:???
>>232


オマエダケニ イイオモイハ サセマセンヨ
     ('A`)('A`)
     ノヽノヽノヽ
       くく くく

235 名前:Name_Not_Found 投稿日:2005/07/14(木) 17:44:40 ID:???
ttp://www.cj-c.com/java_s/java15.htm
ここのスクリプトを改変して毎週水曜のきまった時刻に合わせて
カウントダウンさせたいのですが、助けていただけないでしょうか?

236 名前:Name_Not_Found 投稿日:2005/07/14(木) 18:02:48 ID:???
>>235
自分である程度やらなければ助ける人も現れないだろうよ。

にしても、ずーっとページを表示させておいて、その時刻に
数字が減るの?それともページが表示された瞬間に、あと
何日と何時間かを計算すればいいの?

237 名前:Name_Not_Found 投稿日:2005/07/14(木) 20:58:44 ID:I6Pt4bjq
質問です。
function GetCookie (name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
}
document.write (" Cookie: " + GetCookie("subid") + "<br>");
これはローカルだと動くのですが、UPするとうまく行ってくれません。
どこに問題があうのでしょうか。

238 名前:Name_Not_Found 投稿日:2005/07/14(木) 21:12:41 ID:PSP3Uitk
すいません、質問です。
var arr =3D new Array(4);
arr[0] =3D 0;
arr[1] =3D 0;

これはどういうことなのでしょうか。
ご存知の方教えてください。

239 名前:Name_Not_Found 投稿日:2005/07/14(木) 21:25:20 ID:igEJEZLM
誰か4ケタの数字を見つけたら、それをアンカーに置換するJavascriptをつくってください。

240 名前:Name_Not_Found 投稿日:2005/07/14(木) 21:42:33 ID:???
>>235
// (weekdayIndex曜, 24時間h時, m分, s秒, msミリ秒) までの、
// [日, 時, 分, 秒, ミリ秒] を配列で返す関数。
// 引数 weekdayIndex 必須。
// HTMLに表示するなり、1秒おきに呼ぶなり、てきとうに。
function dhmsmsBefore (weekdayIndex, h, m, s, ms) {
var MS_PER_WEEK = Date.UTC(1970, 0, 8); var from = new Date(); var to = new Date(from);
to.setDate(to.getDate() + weekdayIndex - to.getDay());
to.setHours(h || 0); to.setMinutes(m || 0); to.setSeconds(s || 0); to.setMilliseconds(ms || 0);
while (to < from) to.setTime(to.getTime() + MS_PER_WEEK);
while (MS_PER_WEEK < to - from) to.setTime(to - MS_PER_WEEK);
var d = new Date(to - from); return new Array(d.getUTCDate() - 1,
d.getUTCHours(), d.getUTCMinutes(), d.getUTCSeconds(), d.getUTCMilliseconds());
}

241 名前:Name_Not_Found 投稿日:2005/07/14(木) 21:47:46 ID:0iFwVmB3
質問:

var httpRequest;
if (httpRequest) {
if (typeof netscape != 'undefined' &&
typeof netscape.security != 'undefined' &&
typeof netscape.security.PrivilegeManager != 'undefined') {
//statement snipped

これでどこか問題あるかな?うーん。

242 名前:Name_Not_Found 投稿日:2005/07/14(木) 22:18:14 ID:???
>>237
試してないけど

alert(document.cookie) とするとどうなる?

文字列が表示されれば先のスクリプトの問題
表示されなければ SetCookie() の方の問題

あと
クッキーに入れる時は文字列は
encodeURIComponent() しといた方がいいよ
取り出す時は decodeURIComponent()

243 名前:Name_Not_Found 投稿日:2005/07/14(木) 22:27:53 ID:???
>>241
その「var httpRequest;」で宣言しただけの変数って何が
入っているの? undefinedってことはない? もしそうなら
if(httpRequest) ... の内側は決して実行されないわけだが…
>>239
自分である程度やらない奴には回答も来ない思うよ。
>>238
それ、どっから来たソース? どうも「=」をそのまま使えない
環境で「=」を「=3D」にエンコードした(3Dは「=」のASCIIコード)
ように見えるんだけど。
>>237
クッキーなんてサーバ上に置かないとどのみちデバッグなんて
できないだろ。>>242 が書いたようにどういう文字列が入って
るかalert()でチェックしてみ。きっと思わぬ形になってると
思うよ。クッキーの仕様をちゃんと読んで対応しないと。
あと、そういう文字列抽出はRegExp()を使わないと大変すぎ
だと思う。

244 名前:Name_Not_Found 投稿日:2005/07/14(木) 22:52:52 ID:???
http://pc8.2ch.net/test/read.cgi/hp/1086831417/
388 名前:Name_Not_Found[sage] 投稿日:2005/07/14(木) 22:00:58 ID:???
 window.openで小窓を自動で開いて
 そこにswfを表示はできるんですが。
 
 その小窓のページタイトルの設定の方法がわかりません
 どなたかわかる方いませんでしょうか?
 
 ↓こんな感じにしたいんです。
 ttp://www.garnetcrow.com/
 


245 名前:Name_Not_Found 投稿日:2005/07/14(木) 22:56:15 ID:???
>>244
window.open() が開いたウィンドウのwindowオブジェクトを返してくれるから、
そこからtitle要素にアクセスして、titleのchildNodesを書き換える。

246 名前:Name_Not_Found 投稿日:2005/07/14(木) 23:24:48 ID:???
>>241 楽しいか蛆虫

247 名前:Name_Not_Found 投稿日:2005/07/14(木) 23:27:49 ID:???
>>244
そのサイトは flash ページの html を作っといて
window.open() でそのページを表示させてるだけだけどね

248 名前:221 投稿日:2005/07/14(木) 23:31:43 ID:17rsJrOP
>>225さん
解決しました(恥ずかしい・・・・)ありがとうございます(^^;


249 名前:Name_Not_Found 投稿日:2005/07/15(金) 00:14:33 ID:???
>>244-245
var w = window.open(...);
w.onload = function() { w.document.title = 'タイトル文字列'; };
とかかな。

250 名前:Name_Not_Found 投稿日:2005/07/15(金) 02:01:06 ID:???
>>246
どういう家庭の悩みをお持ちの方か知りませんが、真剣な質問者を侮辱する
のはやめてください。この2chから逮捕者もすでに出てるんですよ。

251 名前:Name_Not_Found 投稿日:2005/07/15(金) 08:14:30 ID:???
>>241はいつもそうだが、
人がたくさんいそうだと寄ってくる寂しがり屋さんの蛆虫君だ。
何か自分を鼓舞したいのだろうよ。

252 名前:Name_Not_Found 投稿日:2005/07/15(金) 08:15:18 ID:???
悪い>>246デスタ。マジ失敗。

253 名前:Name_Not_Found 投稿日:2005/07/15(金) 08:38:03 ID:???
>>243
ヒント:quoted-printable

254 名前:Name_Not_Found 投稿日:2005/07/15(金) 12:08:04 ID:???
質問です。
よく知られた document.lastModified ですが、これはよく知られているように、
+9:00の時間差問題があって使いづらい点があります。
で、07/15/05 03:05:52 を文字列としてとらえて、03:05:52 の時間部分を抽出
して9時間進めることはできませんでしょうか。

255 名前:Name_Not_Found 投稿日:2005/07/15(金) 12:43:13 ID:???
>>254
できる

256 名前:Name_Not_Found 投稿日:2005/07/15(金) 13:16:43 ID:???
できるからやってみそ

257 名前:254 投稿日:2005/07/15(金) 13:52:32 ID:???
早速の簡潔なご回答ありがとうございます。
時間部分ならなんとかできそうなのですが、23:59:59から1秒経過したあと、
日付も変えて、12月31日には年まで+1しなければなりませんが、結局は各
要素をバラバラにして統合するということでしょうか。パフォーマンスから
するとなんだか割に合わないコードのような気がするのは僕だけでしょうか。

258 名前:Name_Not_Found 投稿日:2005/07/15(金) 14:00:05 ID:???
>>257
date オブジェクト

259 名前:Name_Not_Found 投稿日:2005/07/15(金) 14:03:52 ID:F6fdWUQ5
質問。
A?B:C;でBやCの部分を複数化することはできませんか。たとえば、Bの場合に
F()とG()の2つを起動させるような。単にセミコロンで繋ぐとエラーになって
しまいます。

260 名前:Name_Not_Found 投稿日:2005/07/15(金) 14:29:01 ID:???
if文じゃダメなの?

261 名前:Name_Not_Found 投稿日:2005/07/15(金) 14:32:48 ID:???
A ? (B(), C()) : D とかでいいんじゃ

262 名前:Name_Not_Found 投稿日:2005/07/15(金) 14:37:47 ID:/6Mrh9l1
教えてください。
<FORM NAME="form">
<input type=text ...>
<input type=text ... onclick="myPlace(this.name)">←★
<input type=text ...>
<input type=text ...>
</FORM>
自分がいま★のINPUTにいるとしたとき、そのすぐ下のINPUTのvalueを知るに
はどうすればいいですか。
function myPlace(thisname)
{
return document.form.elements[thisname+1].value
}
とかやったのですが、よく分からなくて。教えて下さい。

263 名前:Name_Not_Found 投稿日:2005/07/15(金) 14:38:00 ID:???
>>254
Win IE6, FF1, Opera8 で確認してみたけど
全て JST で表示されたみたいよ。

ブラウザごとに振り分けるのは自分でやってください。

function zero(num){
if(num < 10) return "0" + num;
return num;
}

var dt = new Date(document.lastModified);
dt.setHours(dt.getHours() + 9);

var str = dt.getFullYear() + "/" + zero(dt.getMonth()) + "/" + zero(dt.getDate());
str += " " + zero(dt.getHours()) + ":" + zero(dt.getMinutes()) + ":" + zero(dt.getSeconds());

document.write(str);


264 名前:263 投稿日:2005/07/15(金) 14:44:15 ID:???
月に 1 足すの忘れた

function zero(num){
if(num < 10) return "0" + num;
return num;
}

var dt = new Date(document.lastModified);
dt.setHours(dt.getHours() + 9);

var str = dt.getFullYear() + "/" + zero(dt.getMonth() + 1) + "/" + zero(dt.getDate());
str += " " + zero(dt.getHours()) + ":" + zero(dt.getMinutes()) + ":" + zero(dt.getSeconds());

document.write(str);


265 名前:Name_Not_Found 投稿日:2005/07/15(金) 14:49:51 ID:???
>>260
比呂氏です。カレーの材料に肉を買いに逝ったら、カツオのいいのがあるよといわ
れました。カレーが食いたかったとです。

266 名前:Name_Not_Found 投稿日:2005/07/15(金) 15:55:32 ID:???
シーフードカレーに汁

267 名前:Name_Not_Found 投稿日:2005/07/15(金) 16:36:44 ID:???
まず、onClickしたのが何番目なのか調べる

268 名前:262 投稿日:2005/07/15(金) 16:51:34 ID:???
>>267
INPUTにNAMEをつけないで調べる方法はありますか?それが知りたいです。

269 名前:Name_Not_Found 投稿日:2005/07/15(金) 16:53:09 ID:???
>>268
>>267


270 名前:Name_Not_Found 投稿日:2005/07/15(金) 17:02:39 ID:???
length

271 名前:Name_Not_Found 投稿日:2005/07/15(金) 17:28:45 ID:???
>>268
nextSibling、は多分テキストノード(改行コード)だろうから、
さらにそのnextSiblingをみるとか。

272 名前:Name_Not_Found 投稿日:2005/07/15(金) 17:44:57 ID:???
>>254
Date#getTimezoneOffset() を使え。
Date#toUTCString() はどの PC でも rfc1123 形式を返す。
(ただしJScriptで 1桁日付に難があるが。)
なんにせよ、必ず hh:mm:ss が含まれる。

var d = new Date;// 今の時刻のスナップショット
d.setMinutes( d.getMinutes() - d.getTimezoneOffset() );// 日本なら540分進む
d.toUTCString().match( /\d\d:\d\d:\d\d/ ).toString();// 540分前のrfc1123表示

273 名前:Name_Not_Found 投稿日:2005/07/15(金) 18:03:12 ID:???
>>262 次で試してみろ。俺は試してないが。
function getNextInput(start) {
    var c = start;// ★印の <INPUT> 要素オブジェクト
    var TagName = "INPUT";
    do {
        if (c.hasChildNodes()) {
            c = c.firstChild;
        } else {
            while (!c.nextSibling) {
                c = c.parentNode;
                if (!c) {
                    return null;
                }
            }
            c = c.nextSibling;
        }
        if (c.tagName.toUpperCase() == TagName) {
            return c;
        }
    } while (c);
    return null;
}

274 名前:Name_Not_Found 投稿日:2005/07/15(金) 18:21:44 ID:???
そういえば、nextSiblingってIEだけホワイトスペース無視するよねぇ。。
この違い上手い事吸収する方法ないかな?

↓テストコード
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html><head><title>test</title></head><body>
<div id="a">test1</div>
<!-- ここの直前のホワイトスペース(このサンプルの場合改行)の扱いが異なる -->
<input type="button" onclick="alert(document.getElementById('a').nextSibling.nodeType);" />
</body></html>

↓結果
FF は、3(テキストノード)を返す。
OP8は、3(テキストノード)を返す。
IE6は、8(コメントノード)を返す。

全てのホワイトスペースをカットすれば、同じ様に動くんだろうけど
現実的ではなかったので、オイラは諦めたさ。。。


275 名前:Name_Not_Found 投稿日:2005/07/15(金) 18:56:13 ID:???
要素直後の1つの空白文字類を取得したいことなど稀。
空白文字類の扱いに一貫性があれば、問題になることは稀。
実際、各ブラウザ毎に一貫性があるから、問題になることは稀。
>>274は再帰や探索に慣れる必要があるかもしれない。

276 名前:Name_Not_Found 投稿日:2005/07/15(金) 18:56:36 ID:???
要素直後の1つの空白文字類を取得したいことなど稀。
空白文字類の扱いに一貫性があれば、問題になることは稀。
実際、各ブラウザ毎に一貫性がある。
>>274は再帰や探索に慣れる必要があるかもしれない。

277 名前:Name_Not_Found 投稿日:2005/07/15(金) 19:04:42 ID:???
>>272でいわゆるHTTP-Dateの求め方を書いてしまったが、
再度>>254を読んでみると何をしたいのか分からなかった。

278 名前:254 投稿日:2005/07/15(金) 19:11:01 ID:???
>>263さん
ありがとうございます。

279 名前:Name_Not_Found 投稿日:2005/07/15(金) 19:53:48 ID:???
>>275
空白自体を取得したい訳ではなく、
ブラウザにより、取得される物が変わるので面倒だなぁと。

んで丁度、話題に上がっているのでネタ提供と
同じ動きに出来るといった情報があれば、儲けモンと聞いてみた所です。
(例えば、標準準拠モードにすれば、同じになるとか。。 
 標準準拠にしても駄目だけどね。)

↓昔やろうとした、没スクリプトはこんな感じだった記憶が。。
<div class="node">
<div onclick="nextSibling.style.display=(nextSibling.style.display!='none')?'none':'inline';">node name</div>
<div style="margin-left:1em;">child tree
<!-- ここに class="node"の塊を入れて行けば、簡単にツリーっぽくなるっしょ -->
</div>
</div>

上記のままだと、IE専。
ホワイトスペース削れば(つまり全て1行にすれば)FF,OP8でも動くハズ。

やっぱnextSiblingを、目的のnodeTypeまで、
読み飛ばす関数とか作んないと駄目かなと思い更けている所です。
XMLのDOMだと、ホワイトスペース制御の命令あったりするのだけどね。

情報サンクス!

280 名前:Name_Not_Found 投稿日:2005/07/15(金) 21:02:09 ID:???
>>275
function DelSpace()
{
var strRet, strF;
strX = document.f4.txtWord.value;
strRet = l_cut(strX);
strF = r_cut(strRet);
document.f4.txtW.value = strX.length;
document.f4.txtR.value = strF;
document.f4.txtRLen.value = strF.length;
}
function r_cut(strX)
{
var n = 0;
var strReturn = strX;
while (n < strX.length)
{
if ((strReturn.substring(strReturn.length - 1, strReturn.length) == " ")
|| (strReturn.substring(strReturn.length - 1, strReturn.length) == " "))
{
strReturn = strX.substring(0, strX.length - (n + 1));
}
else
{
break;
}
n++;
}
return strReturn;
}

281 名前:Name_Not_Found 投稿日:2005/07/15(金) 21:04:38 ID:???
function l_cut(strX)
{
var n = 0;
var strReturn = strX;
while (n < strX.length)
{
if ((strReturn.substring(0, 1) == " ") || (strReturn.substring(0, 1) == " "))
{
strReturn = strX.substring(n + 1, strX.length);
}
else
{
break;
}
n++;
}
return strReturn;
}

282 名前:Name_Not_Found 投稿日:2005/07/15(金) 22:44:32 ID:rTUfopms
質問というより、ちょっと思ったんですが、
フォームの要素にアクセスするとき、自分のフォームだと
this.name.name
で、valueだと
this.value
ですよね。これ何か変じゃないですか。

283 名前:Name_Not_Found 投稿日:2005/07/15(金) 23:16:45 ID:???
雪を降らせるスクリプトです。
このコードでは画像を用意して、降らせています。

画像ではなく、任意のテキストを振らせたいです。イメージはマトリックスのスクリーンセーバー
どうすれば任意のテキストをふらせることができるのでしょうか?

<script type="text/javascript">
<--
sx=new Array(); sy=new Array(); sp=new Array(); num =25;
scrnx=800; scrny=600;
for(i=0;i<num;i++)
{
sx[i]=Math.floor(Math.random()*scrnx);
sy[i]=Math.floor(Math.random()*scrny);
sp[i]=Math.floor(Math.random()*5)+1;
document.write("<img src='snow.gif' style='position:absolute;"
+"width:15px;height:15px;z-index:1;top:"
+sy[i]+"px;left:"+sx[i]+"px;'name='snow"+i+"'>");
}
function moveSnow()
{
for(i=0;i<num;i++)
{
sy[i]+=sp[i];
if(sy[i]>scrny) sy[i]=-10;
document.images["snow"+i].style.top =sy[i];
}
}
//-->
</script>



284 名前:Name_Not_Found 投稿日:2005/07/16(土) 00:28:22 ID:???
>>283
文字は適当に(但し、IEオンリー)
var myc1,myc2,myc3,mycol1,mycol2,mycol3,mycol4,mycol5;
var no = 16;
var speed = 20;
var g1=10;
var g2=100;
var xpp0,ypp0;
var dx, xp, yp;
var am, stx, sty;
var i, doc_width, doc_height;
if(document.layers){document.captureEvents(Event.mousemove);}
window.document.onmousemove=moveImg1;
function moveImg1(){
xpp0=document.body.scrollLeft+event.clientX-5;
ypp0=document.body.scrollTop+event.clientY-7;
}

function star(){
doc_width =document.body.clientWidth;
doc_height =document.body.clientHeight;
dx = new Array();
xp = new Array();
yp = new Array();
am = new Array();
stx = new Array();
sty = new Array();

285 名前:Name_Not_Found 投稿日:2005/07/16(土) 00:30:06 ID:???
>>283
imgタグの変わりにdivでも出力して中に降らせたい文字を
1文字ずつはさめば?
>>282
じゃあどうなって欲しいのか言ってみれ。this.name.name
てのはそもそもおかしいけどそれはさておき。

286 名前:Name_Not_Found 投稿日:2005/07/16(土) 00:31:15 ID:???
for (i = 1; i < (no+1); ++ i) {
myc1=100*Math.random();
myc2=100+100*Math.random();
myc3=256;
dx[i] = 0;
xp[i] = 60+Math.random()*(doc_width-50);
yp[i] = 30+Math.random()*(doc_height-10);
am[i] = Math.random()*20;
stx[i] = 0.2 + Math.random()/10;
sty[i] = 4 + Math.random();
document.all["dot"+i].filters["light"].Clear();
document.all["dot"+i].filters["light"].addAmbient(myc1,myc2,myc3,100);
document.all["dot"+i].filters["alpha"].opacity=g1;
document.all["dot"+i].filters["alpha"].finishOpacity=g2;
}
STAR_IE();
}
function STAR_IE() {
for (i = 1; i <( no+1); ++ i) { // 文字
yp[i] -= sty[i];
if (yp[i] <30) {
xp[i] = xpp0;
yp[i] = ypp0;
stx[i] = 0.2 + Math.random()/10;
sty[i] = 4 + Math.random();

287 名前:Name_Not_Found 投稿日:2005/07/16(土) 00:34:19 ID:???
if(ypp0<30){document.all["dot"+i].style.display="none";}
else if(ypp0>=30){
document.all["dot"+i].style.display="block";}
myc1=100*Math.random();
myc2=100+100*Math.random();
myc3=256;
document.all["dot"+i].filters["light"].Clear();
document.all["dot"+i].filters["light"].addAmbient(myc1,myc2,myc3,100);
document.all["dot"+i].filters["alpha"].opacity=g1;
document.all["dot"+i].filters["alpha"].finishOpacity=g2;
}
dx[i] += stx[i];
document.all["dot"+i].style.pixelTop = yp[i];
document.all["dot"+i].style.pixelLeft =xp[i] + am[i]*Math.sin(dx[i]);
}
setTimeout("STAR_IE()", speed);
}

288 名前:Name_Not_Found 投稿日:2005/07/16(土) 10:25:24 ID:7ip7g/8P
JavaScriptを始めるのに、あとどれくらいでプログラムが組めるようになりますか。
皆さん凄いので驚いています。何年くらいでその様な長いコードが書けるようになり
ますか。皆さんはどこか専門の学校で勉強されたのでしょうか。JavaScriptの学校で
良い所がありましたら教えて下さい。よろしくお願いします。

289 名前:Name_Not_Found 投稿日:2005/07/16(土) 10:27:36 ID:???
>>288
独学の人が多いと思うよ。
何せサンプルソースは幾らでも転がってるからね。

勉強に一番必要なのは目的です。

290 名前:Name_Not_Found 投稿日:2005/07/16(土) 11:47:58 ID:???
私は2ちゃんねるブラウザのスキンを作ろうと考えて勉強してます

291 名前:282 投稿日:2005/07/16(土) 11:55:10 ID:???
>>285
this.name.name はおかしいでしょうか。では、NAME値を取るにはどうすれば
よいのか、他に方法があるというのでしょうか。

292 名前:Name_Not_Found 投稿日:2005/07/16(土) 12:01:49 ID:???
>勉強に一番必要なのは目的です。
そういえば、同僚の女の子にいいとこ見せたくてと云ふ奴もいたな。
ナンパ目的にも使えそうだ、いまどきのJavaScript。万能ポ?


293 名前:Name_Not_Found 投稿日:2005/07/16(土) 12:20:05 ID:???
>>290
「ブラウザのスキン」ってなに?

294 名前:Name_Not_Found 投稿日:2005/07/16(土) 12:40:03 ID:???
>>293Live2chとか

295 名前:Name_Not_Found 投稿日:2005/07/16(土) 12:44:27 ID:???
かちゅ〜しゃとかも

296 名前:Name_Not_Found 投稿日:2005/07/16(土) 12:51:44 ID:???
いつもはちょー満員の昼飯の店もガラガラじゃ。世間は三連休だというのに、
火曜まで会社に缶詰です。JavaScriptの問題でもココで解きませう。

297 名前:Name_Not_Found 投稿日:2005/07/16(土) 16:30:36 ID:???
>>291
自分のだったら「this.name」、他の部品のだったら
「this.form.elements.部品名.name」でしょ。何が問題なのかな?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
</head><body>
<form name="f0" action="#" onsubmit="return false"><p>
<input name="a" type="text" value="abc">
<input name="b" type="text" value="def"
onclick="alert(this.name+' '+this.value+' '+this.form.elements.a.value)">
</p></form></body></html>

298 名前:Name_Not_Found 投稿日:2005/07/16(土) 17:56:49 ID:???
JRE 5.0 Update 4をインストールして
セキュリティのスクリプトはすべて有効、
インターネットオプションの詳細設定の
Java (Sun)のappletを使用にチェック
Microsoft VMのJava JITコンパイラの使用にチェックを入れているのですが
Javaが有効になってくれません(かちゅーしゃのskin30-2・skin30-3などが動いてくれない)

Safe XP 1.5.3.21を起動したところ
内蔵Java JITコンパイラを無効のチェックボックスが
常にチェックされた状態になっています
(チェックを外して適用して、もう一度起動してもやはり無効にチェックが入ったままです)

どなたかJavaを有効にする方法をお教えいただけないでしょうか?

299 名前:Name_Not_Found 投稿日:2005/07/16(土) 18:02:36 ID:tA19e7Cb
"true"とか"false"という文字列を、
trueとfalseのboolean型に変換する命令ってあったっけ?

300 名前:Name_Not_Found 投稿日:2005/07/16(土) 18:31:06 ID:???
eval("true")

301 名前:Name_Not_Found 投稿日:2005/07/16(土) 18:54:24 ID:oqx1nhSE
文法について二点ほど質問があるんですが、よろしくお願いします。

(1) if や while の条件式として = の結果を使うのは許されるんでしょうか?
例えば、if (a = b) { 処理…; } のように書くと、Netscape 4.x で
"test for equality (==) mistyped as assignment (=)?" というエラーになります。
Firefox や MSIE ではエラーになりません。
Netscape 4.x のバグなのか、最近 OK になったのか、本来は許されないけど
拡大解釈してるのか教えてください。

(2) 文字列リテラルが長いときに \ と改行コードを挟んで次の行に分割して
書くのは許されるんでしょうか?
手元の Windows 版の UA はすべて意図通り動作しますが、この書き方は
正式なものなのか教えてください。

302 名前:Name_Not_Found 投稿日:2005/07/16(土) 19:36:01 ID:???
window.openで小窓を自動で開いて
そこにswfを表示はできるんですが。

その小窓のページタイトルの設定の方法がわかりません
どなたかわかる方いませんでしょうか?

↓こんな感じにしたいんです。
ttp://www.garnetcrow.com/

303 名前:Name_Not_Found 投稿日:2005/07/16(土) 20:10:43 ID:???
>>300
えー。それはちょっと。

304 名前:Name_Not_Found 投稿日:2005/07/16(土) 20:24:18 ID:???
>>302
その質問は>>244とまったく同じだろ。しかも回答がついてる。
いったい何なんだ?

305 名前:Name_Not_Found 投稿日:2005/07/16(土) 20:39:56 ID:???
>>301
バグではなく、余計なお節介だがよくあるエラーを防ぐため、
N4のJS1.5ではそのような場合は「if((a = b)) ...」にしろと。
ttp://web.archive.org/web/20040815200253/devedge.netscape.com/library/manuals/2000/javascript/1.5/reference/stmt.html#1004833

文字列リテラルの中に改行を入れたらECMA違反。
ttp://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/7_Lexical_Conventions.html#StringLiteral
NOTE 文字 LineTerminator は、それにバックスラッシュ \ を先行させても、
文字列リテラル内には出現できない。 行終端子文字を文字列リテラルの文字
列地の一部に置く妥当な方法は、 \n や \u000A のようなエスケープシーケ
ンスを用いることである。

スバリreferenceに書いてあるようなことなんだから自分で調べてくれ。

306 名前:Name_Not_Found 投稿日:2005/07/16(土) 20:43:52 ID:???
>>298
>>1 を読め

307 名前:Name_Not_Found 投稿日:2005/07/16(土) 21:09:37 ID:???
>>301 (2)
なんか勘違いだか無知なのか無茶苦茶言ってるやつがいるが、問題無い。

308 名前:Name_Not_Found 投稿日:2005/07/16(土) 22:38:39 ID:???
>>306
遅せえよ
m9(´,_ゝ`)プッm9(´,_ゝ`)プッm9(´,_ゝ`)プッm9(´,_ゝ`)プッ
m9(´,_ゝ`)プッm9(´,_ゝ`)プッm9(´,_ゝ`)プッm9(´,_ゝ`)プッ
m9(´,_ゝ`)プッm9(´,_ゝ`)プッm9(´,_ゝ`)プッm9(´,_ゝ`)プッ
m9(´,_ゝ`)プッm9(´,_ゝ`)プッm9(´,_ゝ`)プッm9(´,_ゝ`)プッ
m9(´,_ゝ`)プッm9(´,_ゝ`)プッm9(´,_ゝ`)プッm9(´,_ゝ`)プッ
m9(´,_ゝ`)プッm9(´,_ゝ`)プッm9(´,_ゝ`)プッm9(´,_ゝ`)プッ
m9(´,_ゝ`)プッm9(´,_ゝ`)プッm9(´,_ゝ`)プッm9(´,_ゝ`)プッ
m9(´,_ゝ`)プッm9(´,_ゝ`)プッm9(´,_ゝ`)プッm9(´,_ゝ`)プッ
m9(´,_ゝ`)プッm9(´,_ゝ`)プッm9(´,_ゝ`)プッm9(´,_ゝ`)プッ
m9(´,_ゝ`)プッm9(´,_ゝ`)プッm9(´,_ゝ`)プッm9(´,_ゝ`)プッ

309 名前:Name_Not_Found 投稿日:2005/07/16(土) 22:46:48 ID:???
おそせえよって読むんだろうか

310 名前:301 投稿日:2005/07/16(土) 23:26:25 ID:???
>>305 >>307
(1) についてはそもそも JavaScript 1.5 の話ではなく 1.3 以前の話で、
(Netscape 6 だと警告が出るけど一応動きます)、Netscape 4.x では
括弧を二重にしてもうまくいきませんでした。
変な書き方ですが、(a = b, a) とするとどちらでも通りました。
== を = と間違える奴の方が悪いと私は思うんですが、Netscape が
そういう実装になってるのでし方ないです。

(2) は確かに禁止してるように読めます。しかしながら指摘の二文目が
\n のことについて書いてるのでどうも違和感が残ります。
\n のつもりで \改行 としちゃだめと言いたいような気がしないでもない。
\ による改行文字の無効化は Netscape や MSIE の独自実装という
ことで、使わないようにします。

311 名前: ( ´,_ゝ`)プッ 投稿日:2005/07/16(土) 23:41:07 ID:???
>>309
          ブンブンブブブン!!
     \\ ブンブンブブブン!! //
 +   + \\ ブンブンブブブン!!/+
                            +
.   +    /⌒ヽ  /⌒ヽ  /⌒ヽ  +
      ( ^ω^∩(^ω^∩) ( ^ω^)
 +  (( (つ   ノ(つ  丿 (つ  つ ))  +
       ヽ  ( ノ ( ヽノ   ) ) )
       (_)し'  し(_)  (_)_)

312 名前:Name_Not_Found 投稿日:2005/07/16(土) 23:56:20 ID:???
>>310
> \n のつもりで \改行 としちゃだめと言いたいような気がしないでもない。
その解釈は間違ってない。
\ を使う目的は2、3通りに場合分けできる。
第一に、書けない文字を書くこと。
これは、\\, \", \' と、\uHHHH, \xHH, \OOO, \b, ... に分けられる。
第二に、無視される \。
\g は g である。より適切な例を思いつかないので、
正規表現でよく見られる変な書き方でごまかすと、
[\.] と書く人が大量にいるが、そもそも文字クラス内
の . をエスケープする必要はなく、\ は無視される。
こういう曖昧さというか融通がある。

改行前の \ は第二(無視される \ )を利用している。
改行自体は定義された「記号」には無い (改行自体を n で定義している)。
定義されてないから、\g が g になるのと同様に、
\[改行] は、[改行] を文字列に含めようとする。
しかし、>>305の引用の原文
A 'LineTerminator' character cannot appear in a string literal,
even if preceded by a backslash \.
にあるように、\ が前にあっても、
[改行] は文字列に含めないよう処理される。
結果的に、\[改行] は、完全に無視される。

> Netscape や MSIE の独自実装
というよりも、ECMA262がこれを正当化している。

但し、\g みたいなのも含め、こういう無視される \ 全ての使用を
控えるよう注意する一文が developer-test.mozilla.org にあったので、
今後は使わない方が無難なのかもしれない。

313 名前:Name_Not_Found 投稿日:2005/07/17(日) 09:07:06 ID:???
何もわかってないので下世話な話題しか振れないウザ厨。
色々知っているが他人のレベル・場の雰囲気のことをまったく介しない独り善がり厨。

噛み合わない2人の織り成すハーモニーに多数は引き気味だろうよ。
久々に思った。荒れてるなあって。

314 名前:Name_Not_Found 投稿日:2005/07/17(日) 09:41:40 ID:???
if(a=b){......}
1. aの居場所にb侵入してきたので、aは当然異物かどうか吟味する
2. aがbと同じ(値)であれば、問題ない
3. もしbがaと異なるとすると同居は出来ない
4. typeofの異なるオブジェクトであれば、(1.)から繰り返す
5. 2.の吟味結果(true)によって[...]を実行する
6. 3.の吟味結果(false)によって{....}を回避してelse{....}を吟味実行する
7. 6.に分岐があれば、(1.)に帰る
8. else{..}実行後、そこにfunctionの終端があれば命令を完了する
9. function{}外にfunction名があれば(1.)から実行吟味する

315 名前:Name_Not_Found 投稿日:2005/07/17(日) 09:57:25 ID:???
>>314
if(a=b){......}
1. bがaに成りすまそうとする。aはidentity喪失の危機におちいる
2. aがbと同じ(値)であれば互角で同居(true)
3. もしbがaと異なるとすると同居は出来ない
4. (3.)の結果から{...}は回避
5. 以後はECMAの標準にしたがう

316 名前:Name_Not_Found 投稿日:2005/07/17(日) 13:57:42 ID:hD2+vqZd
日付・時間を二桁で得る簡単な方法無いですか?

今は

now = new Date();
(now.getMonth()<9 ? '0' : '') + (now.getMonth() + 1)

とかやってるんですが。


317 名前:Name_Not_Found 投稿日:2005/07/17(日) 13:58:34 ID:hD2+vqZd
>>316

一部切り出しなので、細かい部分は気にしないでください。


318 名前:Name_Not_Found 投稿日:2005/07/17(日) 14:09:54 ID:???
now.getChance

319 名前:Name_Not_Found 投稿日:2005/07/17(日) 15:55:23 ID:rli+lM/N
((new Date()).getMonth()+1+"").replace(/^([0-9])$/,"0$1");
((new Date()).getHours()+"").replace(/^([0-9])$/,"0$1");
((new Date()).getSeconds()+"").replace(/^([0-9])$/,"0$1");

とか?

320 名前:316 投稿日:2005/07/17(日) 15:57:25 ID:???
>>318
undefinedと出てしまいました。どこがいけないのでしょうか。
now = new Date();
document.writeln(now.getChance)
です。

321 名前:Name_Not_Found 投稿日:2005/07/17(日) 16:27:52 ID:???
>>316
('0'+((new Date()).getMonth()+1)).charAt(2)==0||1||2?('0'
+((new Date()).getMonth()+1)):((new Date()).getMonth+1)

322 名前:Name_Not_Found 投稿日:2005/07/17(日) 17:09:57 ID:???
>>321
>>316 よりややこしいんだが

323 名前:Name_Not_Found 投稿日:2005/07/17(日) 17:10:51 ID:HNvj5AS8
ttp://dynamicdrive.com/dynamicindex1/topnavbar.htm
ここのメニューバーを改造してみてるのですが、行き詰まってしまいました

「Home」「News」等の文字を画像に変更したところまではできたのですが、
マウスを乗せたときに「Home(1)」の画像から「Home(2)」の画像に変更する事はできるのでしょうか?
自分で調べた限りでは、メニューがすべて文字orメニューが全て画像のどちらかしか見つかりませんでした_| ̄|○

324 名前:Name_Not_Found 投稿日:2005/07/17(日) 17:14:41 ID:???
> マウスを乗せたときに「Home(1)」の画像から「Home(2)」の画像に変更する事はできるのでしょうか?
できる


325 名前:Name_Not_Found 投稿日:2005/07/17(日) 17:20:06 ID:???
>>323
無理

326 名前:Name_Not_Found 投稿日:2005/07/17(日) 18:36:32 ID:???
>>325
できる

327 名前:323 投稿日:2005/07/17(日) 18:52:51 ID:HNvj5AS8
どっちなんだろ・・・(^^;

できれば、マウスオーバーで画像が入れ替わって、リンクは別フレームに飛ばしたいんですけど、
どのあたりをどうやって書き換えればいいのかが、まだわかりません(;;

328 名前:Name_Not_Found 投稿日:2005/07/17(日) 18:53:45 ID:???
>>323
正規ライセンスじゃないからだと思います。
プロテクトがかかるはずです。登録はしましたか?

329 名前:Name_Not_Found 投稿日:2005/07/17(日) 19:04:04 ID:???
>>327
<img src="a.gif" alt="gazou" onMouseOver="this,src='b.gif';">
カーソルはずして元に戻すなら
onMouseOut="this.src='a.gif';"
も追加すべし。

って意味でなく?

330 名前:Name_Not_Found 投稿日:2005/07/17(日) 19:05:14 ID:???
× this,src='b.gif';
○ this.src='b.gif';

331 名前:Name_Not_Found 投稿日:2005/07/17(日) 19:16:27 ID:BYVM+mVb
質問です。
配列で文字列が重複していても、各1語しか出さないようにするにはどう書けば
良いでしょうか。
var cost = new Array('car','train','taxi','car','taxi','bike')
のような場合です。

332 名前:Name_Not_Found 投稿日:2005/07/17(日) 19:24:11 ID:???
>>328
まったく関係ない

>>323
navBarCreateの中のHTMLヘッダを作ってるところを変更する
normとhighそれぞれのspanをimgに変えて

そのあとのthis.menus[i].items[0].textがトップメニューの文字列だから
これを弄ってファイル名とかにしちゃえばいいんじゃな?
アドホックだけど



333 名前:Name_Not_Found 投稿日:2005/07/17(日) 19:27:48 ID:???
>>327
リンクを別フレームに飛ばすのはnavbar.jsのnavBarItemClickの
window.location.href = this.link;

parent.framewindow_name.location.href=this.link
にすればいいだろ


334 名前:Name_Not_Found 投稿日:2005/07/17(日) 19:31:04 ID:???
>>331
var o = new Object();
for(var i = 0; i < cost.length; ++i) {
if(!o([cost[i]]) { o[cost[i]] = true; document.write(cost[i]); }
}

335 名前:Name_Not_Found 投稿日:2005/07/17(日) 19:44:32 ID:???
>>331
連想配列に入れてしまうとか

var cost = new Array('car','train','taxi','car','taxi','bike');
var cost2 = new Object();
for(var i = 0; i < cost.length; i++) {
cost2[cost[i]] = cost[i];
}
for(var j in cost2) {
document.write(cost2[j] + " ");
}

この後の処理を考えて使い分けれ

336 名前:323 投稿日:2005/07/17(日) 20:38:24 ID:???
>>328->>330>>332-333
みなさんご意見ありがとうございます


でも、Macで動かないと言われました_| ̄|...●

修正しつつ、他のも探してみます

また質問させていただくかもしれません
そのときはよろしくお願いしますm(__;)m

337 名前:Name_Not_Found 投稿日:2005/07/17(日) 22:22:38 ID:???
アンカーまで滑らかにスクロールする機能なのですが
どこかにフリーのサンプルとかないですかね。

ここの「価格表/JANコード表」や「ページ先頭へ戻る」をクリックした時になるやつ
http://fujifilm.jp/personal/utsurundesu/superior/nightandday/index.html

ここの「PAGE TOP」「ページの先頭」でも使われている
http://www.sekisuihouse.co.jp/mobile/index.html
http://www.toraya-group.co.jp/products/pro_index.html

338 名前:Name_Not_Found 投稿日:2005/07/17(日) 22:47:12 ID:???
そのページで使われてるコードを見ればいいのでは?

339 名前:Name_Not_Found 投稿日:2005/07/17(日) 23:11:10 ID:???
>>337
ちなみに老婆心ながらあれがユーザフレンドリーだと思ってるんなら勘違いだからやめたほうがいい


340 名前:323 投稿日:2005/07/17(日) 23:18:56 ID:???
結局、全部画像で作ることになりました
画像入れ替えもちゃんと動きました

ほんとにありがとうございますm(__)m

341 名前:Name_Not_Found 投稿日:2005/07/17(日) 23:23:59 ID:???
>>339
いきなりジャンプすると、同じページで移動したのか
違うページに移動したのかわかりにくいので、
よさそうだと思ったのですが。

342 名前:Name_Not_Found 投稿日:2005/07/17(日) 23:33:35 ID:???
>>341
個人的にはそんなに嫌いじゃないよ
そう思ってる人もいるってことで

343 名前:Name_Not_Found 投稿日:2005/07/17(日) 23:39:21 ID:???
>>337は問題解決したのか

344 名前:Name_Not_Found 投稿日:2005/07/18(月) 00:54:07 ID:???
>>337
このJavaScript質問スレの過去スレを探せば20個くらいサンプルが
あると思うがね。過去スレ全集は >>1 にリンクがある。

345 名前:Name_Not_Found 投稿日:2005/07/18(月) 03:17:47 ID:???
>>344
ttp://user.ftth100.com/mirrorhenkan/javascript/read.php?key=1117009013&st=1&to=1001
の297で見つけました。トンクス。解決です。

346 名前:Name_Not_Found 投稿日:2005/07/18(月) 03:24:09 ID:???
すみません、これにも答えてやっていただけませんか・・・
http://pc8.2ch.net/test/read.cgi/hp/1066750037/282


347 名前:Name_Not_Found 投稿日:2005/07/18(月) 06:27:52 ID:???
>>345
>297で見つけました
ならこう書け。余計なトラフィック使わせるな
http://user.ftth100.com/mirrorhenkan/javascript/read.php?key=1117009013&st=297&to=297
st:スタート to:ここまで

話の流れを示したいなら
http://user.ftth100.com/mirrorhenkan/javascript/read.php?key=1117009013&st=290&to=299

348 名前:Name_Not_Found 投稿日:2005/07/18(月) 07:02:25 ID:???
>>331
「配列で文字列が重複」される必要性があるのかね?
やりたいことがレコードの検索で他にフィールドがあるから、
フィールド配列で文字列が重複するのではないのか?

それなら
フィールドが2つの場合:
>>335の入れ方はともかく、連想配列が簡単。
var cost ={'car':'Taro','train':'Jirou','car':'Saburou'};

フィールドがそれ以上:クラス作ってやれ。それかDOM。
function cl_goods(){
this.name='alto';
this.type='car';
this.cost='1000ペリカ';
・・・・
return this;}

フィールドとか関係ないから:
データ構造を考え直せ。そしたら配列に入れる前に重複をチェックするだろ。
for(var i=0;i<ar.length;i++){
if(ar[i]==chekee){continue;}
else if(i==ar.length-1){ar.push(chekee);}
}



349 名前:Name_Not_Found 投稿日:2005/07/18(月) 07:23:23 ID:???
もう少し妄想してみた。
>var cost = new Array('car','train','taxi','car','taxi','bike');
costってことは、金額だよな。で車種は重複を許さないということは
これを使って、別窓か何かに車種の料金表を作ろうって訳か?

で使うソースは、何かの表(恐らくHTML若しくはXML)で
他のフィールド込みのレコードを羅列した表がすでに作成してあって、
そこから(普通は逆なのだが)車種の料金表を作ろうことなのか?
<td><div name="type">car</div></td><td><div name="cost">100000</div></td>
こういうのがあって、name="type"の値はすべて配列に抽出できたが
同じものが重複してて「車種の料金表」にならないので、
重複を解消したいという事なのか?

だったら「配列に入れる前に重複をチェックするだろ。」

350 名前:Name_Not_Found 投稿日:2005/07/18(月) 07:30:22 ID:???
>>346
うーんなぜだろうね。
「javascript:window.open('about:blank').document.write('Hello world!');void(0)」
ではどうかな。それでも駄目なら
「javascript:window.open('javascript:document.write(\'Hello world!\')');void(0)」
とか。

351 名前:Name_Not_Found 投稿日:2005/07/18(月) 08:17:13 ID:???
>>348
そのくらすとやら単体では無意味。
プロトタイプチェインのどこかで引数を渡せる関数が必要。
>>349
例示がXMLなら、HTMLにある要素型を使うとほぼ全員が混乱する。
例示がHTMLなら、div要素型にname属性は定義されていない。

352 名前:Name_Not_Found 投稿日:2005/07/18(月) 11:09:36 ID:???
>>351
M$-HTMLでは正当な文法。W3c信者うざい。

353 名前:Name_Not_Found 投稿日:2005/07/18(月) 12:14:54 ID:uPBGqTd0
質問です。
パターンで[0-49]の意味を教えて下さい。あと、どうしてそうなるのでしょうか。

354 名前:Name_Not_Found 投稿日:2005/07/18(月) 12:48:06 ID:???
正規表現なら0か1か2か3か4か9のどれかって意味。[012349]と書いてもいい。
その6文字を選んで何をしてるのかは元のスクリプトに聞いてくれ。

355 名前:346 投稿日:2005/07/18(月) 13:58:18 ID:???
>>350
最初の方法はダメで、2番目の方法ではイケました。
が、提示したソースはあくまでサンプルでして、実は新しいウィンドウには結構長い HTML を出力するので、
残念ながらこの方法は使えそうにないです。
というか、他の方はエラーが出ることなく動いていたりするのでしょうか?
動いている方がいるのでしたら、多分こちらの環境の何かに問題があるのでしょうから、これまでとは
違ったアプローチでいろいろと検証しなくてはと思います。
>>350 の環境ではエラーは出ませんか?

356 名前:Name_Not_Found 投稿日:2005/07/18(月) 16:21:19 ID:afassTzI
>>355
場合と環境によっちゃウィンドウが開く前に処理が進んでdocument.write時点でwindowはundefinedな時がある
その時はエラー
これ再現したりしなかったりでかなり鬱陶しい

おれは新しいウィンドウ側のonloadで親ウィンドウから情報拾って自分にdocument.writeして回避



357 名前:346 投稿日:2005/07/18(月) 17:04:20 ID:???
>>356
ブックマークレットを作ってるので、新しいウィンドウの onLoad を利用することはできません。
ウィンドウが開くタイミングとdocument.writeのタイミングがちぐはぐになる可能性については認識していますが、
実際に元質問のソースを試してもらえば、今回の問題はそういうことではないようだと理解してもらえると思います。
親ウィンドウ側で何らかの細工が施されているのだと思うのですが、どういった手法が使われているのか見当がつきません。
ページ外の JavaScript からは、アクセスできるオブジェクトの範囲に制限があったりしますが、そういった制限を
自分(ブックマークレット)が作り出したオブジェクト(window.open で新規に開いたもの)に対して課すことができる
ものなのでしょうか。
質問元でうまく動かないサイトの例として挙げたリンク先では、さまざまな細工が施されているようで、なかなか
扱いづらいです。

ちなみに自分が作ろうとしているものは、開いているページのHTMLソースから内の画像と思われる文字列の一覧を作って、
新しいウィンドウに画像つきでリストアップするブックマークレットです。


358 名前:Name_Not_Found 投稿日:2005/07/18(月) 18:12:38 ID:afassTzI
>>347
原因はcommon.jsの中のsetDomain()でdocument.domainを変更しているからだと思う

<html>
<head><script type="text/javascript">document.domain=document.domain;</script></head>
<body/>
</html>
が最小限の再現コード

対策は・・・どうすんだろう?

359 名前:Name_Not_Found 投稿日:2005/07/18(月) 18:20:39 ID:JluStJ2W
(機能)
フォームにて、[確認画面へ遷移]と題したボタンをクリックすると、
確認画面表示関数(javascript)が起動。
確認画面表示関数は、確認画面を表示する。
そこにはサブミットボタンがあり、クリックすると、
任意のCGIスクリプトをキックする。

(疑問点)
WinXP、firefox 1.0.4にて実行すると、確認画面に遷移するのは
いいのだが、そこで「ファイル読み込み中」
(マウスカーソル砂時計状態)状態のままになってしまう。
その状態でもサブミットボタンは機能するのですが気持ち悪いです。
javascriptに詳しい方、お教え下さい。

(次にサンプルソースを投稿します)

360 名前:359 投稿日:2005/07/18(月) 18:21:29 ID:???
(サンプルソース)

<html>
<head>
<title>何故だ</title>
<script type="text/javascript">
function kakunin(){
document.writeln('<title>確認画面</title>');
document.writeln('確認画面に遷移した');
document.writeln('<form name="F2" action="../cgiscript.cgi">');
document.writeln('<input type="submit" value="確認したので送信">');
document.writeln('</form>');
}
</script>
</head>

<body>
<form name ="F1">
<input type="button" value="確認画面へ遷移" onclick="kakunin()">
</form>
</body>
</html>


361 名前:Name_Not_Found 投稿日:2005/07/18(月) 18:23:49 ID:???
>>345>>347
path_info表示出来るので、↓でも表示可能です

http://user.ftth100.com/mirrorhenkan/javascript/read.php/1117009013/290-299n

途中までやったのですが、スクリプト直す気力が無い・・
スレ違い気味すみません

362 名前:Name_Not_Found 投稿日:2005/07/18(月) 18:30:04 ID:???
>>359-360
document.write(...)が一通り終わったら最後にdocument.close()しろ。
そうしないから永遠に「書き出し中」なんだYO。

363 名前:359 投稿日:2005/07/18(月) 18:33:24 ID:???
>>362
有難うございました。
あっという間に解決できました。

364 名前:Name_Not_Found 投稿日:2005/07/18(月) 18:36:27 ID:???
>>352
MSのドキュメントでdivにnameを定義してるのはどこか参考までに教えてくれる?
ここにはないようだ。
ttp://msdn.microsoft.com/workshop/author/dhtml/reference/objects/div.asp

365 名前:ラブ天使 投稿日:2005/07/18(月) 19:26:37 ID:TPP04SYK
痛くて痛くて言葉にできない(ちがうだろ)

366 名前:Name_Not_Found 投稿日:2005/07/18(月) 20:18:17 ID:jJCIlVbx
すいません質問です。すごくばかなことだと思います。
<span id="a1">Hello World</span>
というHTMLがあるとき、文字列「Hello World」を取得するのはどう書けば
よいのでしょうか。
document.all['a1']のあとがわかりません。ホントにすいません。

367 名前:Name_Not_Found 投稿日:2005/07/18(月) 20:20:09 ID:???
innerTextとかinnerHTMLとか

368 名前:Name_Not_Found 投稿日:2005/07/18(月) 20:29:22 ID:???
>>366
document.allはIE専。innerTextも。
document.getElementById('a1').innerHTML
が、標準ではないがだいたい普通のブラウザどれでもOK。

369 名前:Name_Not_Found 投稿日:2005/07/18(月) 21:34:02 ID:???
> document.allはIE専。

実はそうでもなかったりするという。
# 今更 document.all を勧める気はないが。

370 名前:Name_Not_Found 投稿日:2005/07/18(月) 22:04:49 ID:???
>>368
いまどきは、だいたい普通のブラウザどれでも
document.all('a1').innerHTML
でok。w3c信者の勧誘してるんじゃなければallでいいでしょ?

371 名前:Name_Not_Found 投稿日:2005/07/18(月) 22:15:25 ID:???
Mozillaに公式に入るまで嫌だな。
ttp://www.mozilla.org/docs/dom/domref/dom_doc_ref.html#1022427

372 名前:Name_Not_Found 投稿日:2005/07/18(月) 22:18:39 ID:???
innerHTMLみたいに適当な(手軽な)代替がないものならともかく
標準のdocument.getElementById()があるんだからdocument.allなんか
使う気はない。

373 名前:Name_Not_Found 投稿日:2005/07/19(火) 01:08:12 ID:???
まったく驚く。
<script type="text/javascript">
<!--

//-->
なんていつまでもご丁寧にやっているくせに、IE4はもう切り捨て?
document.getElementById()全能にはもう少し年数が必要では?



374 名前:Name_Not_Found 投稿日:2005/07/19(火) 01:22:22 ID:???
知ったかは黙ってろ。

375 名前:Name_Not_Found 投稿日:2005/07/19(火) 02:17:39 ID:???
>>373
コメントアウトに時代は関係無い。text/htmlに対してはいつでもやれ。

因みに、5年前ならコメントアウトは不要と錯覚する奴がいたかもしれないが、
今は携帯で見る機会が異常に増えたから、
今その錯覚をする奴は携帯も持ってない極貧生活を送っているに違いない。

376 名前:Name_Not_Found 投稿日:2005/07/19(火) 02:29:30 ID:???
HTMLならコメント必須だと思っていたが。ちがうの?>>373

377 名前:Name_Not_Found 投稿日:2005/07/19(火) 02:38:05 ID:???
//ひどくこうばしい何人かに一応言っておいたほうがよいだろう。
getElementById と all は別物。
また、MS独自の all を使うのは今では稀だろうが、children の方は
便利(高速)なので必要に応じて使う。

378 名前:Name_Not_Found 投稿日:2005/07/19(火) 03:00:31 ID:???
>>376
必須ではないが、スクリプトに「&<>」が出現したら必須。
いずれにせよ、>>375で言ったように、確実にコメントアウトしてくれ。

憶えるならこんなかんじ。
# スクリプトを知らないUAの為のコメントアウト。
# スクリプトを知っているUAの為の「'<\/'」。
# スクリプトを知らないUAの為にコメントアウトした時には
 スクリプトを知らないUAの為にディクリメント除去 (i = i - 1)。

379 名前:Name_Not_Found 投稿日:2005/07/19(火) 03:19:10 ID:???
>>378を少しだけ詳しく書き換えた。

# スクリプトを知らないUAの為のコメントアウト。
# スクリプトを知らないUAの為にコメントアウトした時には
 スクリプトを知らないUAの為に「--」をとにかく全て除去。
  --i → i = i - 1
  i-- → i = i - 1
  "--" → "-" + "-"
  //JSコメント内の -- も忘れず除去。

 ( 2番目の i-- では結果が違ってくるのでやや注意。)

# スクリプトを知っているUAの為の「'<\/'」。
# スクリプトを知っているUAの為に「-->」じゃなく「//-->」。

380 名前:Name_Not_Found 投稿日:2005/07/19(火) 04:43:56 ID:???
// 外部JSにすれば済むのに……

381 名前:Name_Not_Found 投稿日:2005/07/19(火) 04:59:17 ID:???
DOM厨の俺は
document.getElementById('a1').firstChild.nodeValueとかすぐやってしまう。

382 名前:Name_Not_Found 投稿日:2005/07/19(火) 05:06:43 ID:???
>>359はいつもwritelnを使いたがるが、>>362もあるので
そろそろinnerHTMLとか覚えようね。

var str='';
str+='<title>確認画面</title>確認画面に遷移した';
str+='<form name="F2" action="../cgiscript.cgi">';
str+='<input type="submit" value="確認したので送信"></form>';
document.body.innerHTML=str;

やっぱDOM勧めた方が良いかな?この思いっきり書き換えはちょっとコワイ。

383 名前:Name_Not_Found 投稿日:2005/07/19(火) 08:24:41 ID:???
>>378-380
その注意書き全部実践してるヤシはどれくらいいるのか…
とりあえず普通に書いておいて最後に外部JSにするのが吉
と思う。script知らないUAが取り寄せなくて済むしね。
>>382
別に思いっきり書き換えでもいいと思うけどねー。

384 名前:Name_Not_Found 投稿日:2005/07/19(火) 10:44:14 ID:???
>>380
全てを外部にするのは繁雑になって嫌だなぁ。
GoogleMapなんかは、XHTMLの上、<![CDATA[〜]]>を、器用にコメントアウトしてたなぁ。

そういえばMapの日本語版出たねカコイイ!

385 名前:Name_Not_Found 投稿日:2005/07/19(火) 11:17:36 ID:blztNp76
質問です。
persistent cookieの有効期限をとりたいのですが、JavaScriptでとれますか?
とれるのであれば、どのような方法がありますか?

386 名前:Name_Not_Found 投稿日:2005/07/19(火) 11:23:53 ID:Oz2EkQHl
質問:
Perlで有効な/c{2,3}?/gはJavaScriptだと、繰返し演算子不正のエラーが出て
しまう。最短一致でこれを回避する方法はある?

387 名前:Name_Not_Found 投稿日:2005/07/19(火) 11:31:55 ID:???
>>385
「alert(document.cookie)」して取り方を考えれば。
クッキーの仕様はこちらね。
ttp://wp.netscape.com/newsref/std/cookie_spec.html
>>386
悪いけどここの常連はPerl屋じゃないんで、「どういう
正規表現操作をしたいのか」を言葉で正確に書いてくれ。

388 名前:Name_Not_Found 投稿日:2005/07/19(火) 11:42:40 ID:???
>>386
単にかっこで囲めばいいんじゃないの?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
</head><body>
<p><script type="text/javascript">
var str = 'ccccccccc';
document.write(str.replace(/(c{2,3})?/g, 'X'));
</script></p>
</body></html>

389 名前:Name_Not_Found 投稿日:2005/07/19(火) 11:44:20 ID:???
>>385
とれない
>>386
エラーが出ない

390 名前:Name_Not_Found 投稿日:2005/07/19(火) 11:48:20 ID:???
>>385
もしかして「よその」サイトのクッキーのこと?そんなもん
取れるようなブラウザ、あったら怖すぎ。

391 名前:Name_Not_Found 投稿日:2005/07/19(火) 11:49:56 ID:???
>>386
{2,3}がccかcccとして、
?が0か1つにマッチするから
それがおかしいのでは。
末尾なら$ね

392 名前:Name_Not_Found 投稿日:2005/07/19(火) 11:52:39 ID:T26XKbY9
質問です。
僕は何度かこの質問スレッドを利用させて頂いているのですが、一発で快刀乱麻の
答えをして頂いています。ここのみなさんスゴイです。でも、お礼のレスはリソース
の無駄と思いしていませんでした。回答される方はやはりお礼があるとうれしいと
思いますが、やはり「ありがとうございました」のレス返すべきでしょうか。みなさ
ん、特にレギュラーの回答者の先生方いかがですか?

393 名前:386 投稿日:2005/07/19(火) 11:58:45 ID:???
>>388
正解。なんてこった、括弧ワル。
丁寧なコード、サンクス。

394 名前:Name_Not_Found 投稿日:2005/07/19(火) 12:06:27 ID:blztNp76
>>390
同じドメインです。
>>389
マジですか?

firefoxで保持しているクッキーの情報をみると
名前、内容、有効期限ってのが出てます。
内容に、有効期限が入ってないのですが、有効期限が表示されてます。
persistentであることを覚えておくためには、どこに記録されるんでしょう?

395 名前:Name_Not_Found 投稿日:2005/07/19(火) 12:16:06 ID:???
>>394
ブラウザ上のJSに限らず、名前=値 しか読めない。
初心者がこんがらがるのは、
書けるし書いたはずなのに読めない、
document.cookie = なのに += みたいに振舞う、
という二点。

396 名前:386 投稿日:2005/07/19(火) 12:30:56 ID:???
>>388
ちょとまてよ。これ最短一致じゃないじゃん。とりあえず「とほほ」のレファレンス
みてみたら、c{2,3})?/gってpatternはないね。JavaScriptにはないってことかい?

397 名前:Name_Not_Found 投稿日:2005/07/19(火) 12:32:22 ID:blztNp76
>>395
セッションクッキーであるか、そうでないかも、わからない、ってことですね?

398 名前:Name_Not_Found 投稿日:2005/07/19(火) 12:41:15 ID:???
>>396
どういう文字列から何をマッチさせたいかを書いてみては?

399 名前:Name_Not_Found 投稿日:2005/07/19(火) 12:51:26 ID:???
>>396
最小一致は確かIE5.5、Netscape 6以降じゃないと使えなかったと思うが
お前さんはどんなブラウザを使ってるんだ?

400 名前:Name_Not_Found 投稿日:2005/07/19(火) 13:03:24 ID:???
c{2} でいいじゃん。

401 名前:Name_Not_Found 投稿日:2005/07/19(火) 13:26:52 ID:???
>>392
お礼は必ずしも必要ではないが結果報告は必須
なので報告のついでに一言添えるがよろし

402 名前:Name_Not_Found 投稿日:2005/07/19(火) 13:37:53 ID:???
「GoogleMapで自宅を検索した人。 ノ
 あ〜 やっぱり(rya」
          by ハローけいすけ

と、リソース消費して遊んで見るテスト。

403 名前:Name_Not_Found 投稿日:2005/07/19(火) 14:25:23 ID:???
>>396
var str = 'abccdefgccccc';
var mch = str.match(/c{2,3}?/g);
alert(mch); // cc, cc

普通にできるけど? IE6.0 Opera8.0 FF1.0

str.match(/ccc??/g); でも同じ結果。
でも単に同じ文字の最短マッチって意味ないと思う。 つまり /cc/ だしなあ。

404 名前:Name_Not_Found 投稿日:2005/07/19(火) 14:28:48 ID:???
>>392 > お礼のレスはリソースの無駄
どっからそんな考えが生まれてくるんだろなー。

405 名前:Name_Not_Found 投稿日:2005/07/19(火) 15:32:46 ID:RBtJ55xG BE:69024029-
PHPbbを参考にして、Textareaに入力支援機能(顔とかをクリックしたら絵文字がフォームに追加されるような)を
作っています
function emoticon(text) {
var txtarea = document.post.message;
text = ' ' + text + ' ';
if (txtarea.createTextRange && txtarea.caretPos) {
var caretPos = txtarea.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? caretPos.text + text + ' ' : caretPos.text + text;
txtarea.focus();
} else {
txtarea.value += text;
txtarea.focus();
}
}
こんな感じで一応動作はしたのですが
フォーム名は、サーバー側の処理の都合上 message[4] など配列の名前になってるので
var txtarea = document.post.message[4];
このようにしたのですが、これだと動作しなくなります。
フォーム名を変える意外方法はないのでしょうか?

406 名前:396 投稿日:2005/07/19(火) 16:08:16 ID:???
ごめそ、旧いの使ってるの。かあちゃん帰ったら確かめてみる。
>>399,>>403の説が正しいと思う。サンキュ

407 名前:Name_Not_Found 投稿日:2005/07/19(火) 16:17:05 ID:???
>>405
>>3 の Q7 参照のこと。
他にも、name指定じゃなくとも、id 指定するなり、getElementsByTagName('TEXTAREA')[0] とかいろいろ方法はあるはず。

408 名前:Name_Not_Found 投稿日:2005/07/19(火) 17:45:18 ID:RBtJ55xG BE:184061568-
>>407
見逃してました。すいませんm(_ _)m
var txtarea = document.post.elements['message[4]'];
でいけましたです。ありがとござました

409 名前:Name_Not_Found 投稿日:2005/07/19(火) 17:52:26 ID:nCnwiKKM
脇から失礼します。
正規表現に\2というのがあります。2番目のマッチを返すというものですが、
これの使い方が分かりません。どなたか例示お願いします。

410 名前:Name_Not_Found 投稿日:2005/07/19(火) 18:16:31 ID:Ap7U6ipv
脇から失礼します

"踊る阿呆に見る阿呆同じ阿呆なら踊らにゃ損損".match(/(踊|見)る阿呆に(踊|見)る阿呆同じ阿呆なら\1.*にゃ損損/)
はマッチする

"踊る阿呆に見る阿呆同じ阿呆なら踊らにゃ損損".match(/(踊|見)る阿呆に(踊|見)る阿呆同じ阿呆なら\2.*にゃ損損/)
はマッチしない

411 名前:ラブ天使 投稿日:2005/07/19(火) 18:53:18 ID:VmiSsPqX
大塚愛のアレ・・・えーと・・・。

412 名前:Name_Not_Found 投稿日:2005/07/19(火) 18:53:40 ID:XKwoIzji
arr[n]={11, 123, 1234, ...}; //n==0,1,2,3,......
をJavaScriptで表わすにはどうなるんですか?



413 名前:ラブ天使 投稿日:2005/07/19(火) 18:54:22 ID:VmiSsPqX
>>411
♪だーいすきーよー 貴方ーとひとつーになれるーのーならー
 こーんなしあわせはないわー

414 名前:ラブ天使 投稿日:2005/07/19(火) 18:55:04 ID:VmiSsPqX
>>413
そうそう、それ。
それを歌って欲しいの。

415 名前:ラブ天使 投稿日:2005/07/19(火) 18:56:18 ID:VmiSsPqX
>>414
だーいすきーよー おまいーとひとつーになれるーのーならー
こーんなふしあわせはないわー

416 名前:ラブ天使 投稿日:2005/07/19(火) 18:56:50 ID:VmiSsPqX
>>415
ちゃうちゃう。ちゃうで。

417 名前:Name_Not_Found 投稿日:2005/07/19(火) 19:06:35 ID:Ap7U6ipv
>>412

関数版でよければ
var r=function(i){
var ret="";
for(var j=(i+2);j>0;--j){
ret=j+ret;
}
return ret;
}
for(var i=0;i<100;++i){
document.write(r(i)+"<br/>");
}


418 名前:Name_Not_Found 投稿日:2005/07/19(火) 19:12:56 ID:???
>>409
それより前にある括弧が食い終えた文字列を参照できる。
数字は何番目の開き括弧かを表す。
同じ文字が2文字なら「(.)\1」 // .{2}は同じではないのでNG
10文字の回文なら「(.)(.)(.)(.)(.)\5\4\3\2\1」
促音を考えたローマ字(少々不正確)なら「^(([bdghjkmnprstz])?\2?[aiueo]|n|-|w[ao]|([bghjkmnprt])?\3?y[auo]|([cs])\4?h[auo])+$」

419 名前:ラブ天使 投稿日:2005/07/19(火) 19:19:26 ID:VmiSsPqX
荒らし叩く朗増殖中!!

420 名前:Name_Not_Found 投稿日:2005/07/19(火) 22:47:43 ID:???
画像にリンクしているときにマウスオーバーすると
リンクしている画像がポップアップするのを
a要素内に何か書くのでなくhtmlからJavaScriptを呼び出してすることはできますか?
ファイル名は規則的(*-1,*-2...)などにするんですが…

もしできるのならやり方を教えてほしいんですが…

421 名前:Name_Not_Found 投稿日:2005/07/19(火) 22:55:33 ID:???
ポップアップはできてるんならあとは
onmouseoverとwindow.event.srcElementでイベント拾えばいいんじゃない?
ファイル名は規則的じゃなくていいんじゃない?
必要ならサンプル書いてあげてもいいんじゃない?

422 名前:Name_Not_Found 投稿日:2005/07/19(火) 23:29:42 ID:???
こんなもんか
<html>
<head>
<script type="text/javascript">
var img_holder__;
function preview_on(){
img_holder__.setAttribute("src",window.event.srcElement.getAttribute("href"));
img_holder__.style.left=window.document.body.scrollLeft+window.event.clientX;
img_holder__.style.top=window.document.body.scrollTop+window.event.clientY;
img_holder__.style.display="block";
}
function preview_off(){
img_holder__.style.display="none";
img_holder__.setAttribute("src","");
}
function init(){
img_holder__=document.createElement("img");
img_holder__.style.display="none";
img_holder__.style.position="absolute";
img_holder__.style.width="300";
document.getElementsByTagName("body")[0].appendChild(img_holder__);
for(var i=0,as=document.getElementsByTagName("a");i<as.length;++i){
if(as[i].getAttribute("href").match(/.*?\.(jpg)|(png)|(bmp)$/))as[i].onmouseover=preview_on; as[i].onmouseout=preview_off;
}
}
</script>
</head>
<body onload="init();"><p><a href="a1.jpg">絵1</a></p><p><a href="a2.jpg">絵2</a></p><p><a href="b1.jpg">絵3</a></p></body>
</html>
a要素が画面の一番下にあると気まずいのでそこら辺はポジショニングを調整してもらったらよい

423 名前:fromchar 投稿日:2005/07/19(火) 23:35:21 ID:???
(・∀・)ノィョ-ゥ
40,65439,1044,65439,41,98,32,12521,12502,22825,
20351,12490,12452,12473,12473,12523,12540

424 名前:Name_Not_Found 投稿日:2005/07/19(火) 23:42:42 ID:???
>>420
インラインスクリプトなしでってことですよね。はい可能です。
Netscape 6 以降なら addEventListener、MSIE 5 以降なら
attachEvent というメソッドで特定の要素のイベントを捕捉することが
できます。
イベントが発生すると設定したリスナ関数が自動的に呼び出され、
第一引数に Event オブジェクトが渡ってきます。
これの target (Netscape) または srcElement (MSIE) プロパティから
イベントの発生した最初の要素を得ることができますので、それを元に
必要な処理を実行してください。

425 名前:Name_Not_Found 投稿日:2005/07/19(火) 23:56:33 ID:???
>>420
>>422のブックマークレット版
javascript:var h=document.createElement("img");h.style.display="none";h.style.position="absolute";h.style.width="300";
document.body.appendChild(h);for(var i=0,as=document.getElementsByTagName("a");i<as.length;++i){
if(as[i].getAttribute("href").match(/.*?\.(jpg)|(png)|(bmp)$/)){as[i].onmouseover=function(){
h.setAttribute("src",event.srcElement.getAttribute("href"));h.style.display="block";};as[i].onmouseout=function(){
h.style.display="none";h.setAttribute("src","");};}};void(0);文字数が足りなくてポジショニングできず

426 名前:Name_Not_Found 投稿日:2005/07/20(水) 00:00:43 ID:???
>>422
<a ..><span>..</span>..<img height="100" ..>..<span>..<span>..</span></span>..</a>
みたいな状況では、DOM2-Eventsなブラウザでかなり鬱陶しいことになるわな。
つうか、最後の if に「{ }」がないのは仕様ですか?

// DOM1使ってるくせにDOM2-Events使わない人が今でも大量にいるが、
// Opera6でも相手にしているつもりだろうか。

427 名前:Name_Not_Found 投稿日:2005/07/20(水) 00:05:18 ID:???
>>426
> <a ..><span>..</span>..<img height="100" ..>..<span>..<span>..</span></span>..</a>
みたいな状況では、DOM2-Eventsなブラウザでかなり鬱陶しいことになるわな。
どういう風に?

>つうか、最後の if に「{ }」がないのは仕様ですか?
仕様です

428 名前:Name_Not_Found 投稿日:2005/07/20(水) 00:25:20 ID:???
>>426
IEがDOM2-Eventsに対応してないじゃん。ハンドラつける関数とか
違ってるし。非標準なもの書かされるくらいなら古い方がましという
気分もあったりして。なんで、煽るのは勝手だが洩れは嗜好だと思っている。

429 名前:Name_Not_Found 投稿日:2005/07/20(水) 00:31:56 ID:ii2sD32R
>>420-421
ジエン?

430 名前:Name_Not_Found 投稿日:2005/07/20(水) 00:37:40 ID:???
>>429
惜しい
421=422=425=427=鬱陶しいなオレ

431 名前:Name_Not_Found 投稿日:2005/07/20(水) 01:33:33 ID:N26S+tPX
http://www.keikotomanabu.net/cgi-bin/kz_list.cgi?BUNYA_CD=0001&CAP_KUKURI_CD=0001&AREA_CD=30
リクルートのケイコとマナブなんですが、「資料を取りよせる」というボタンをクリックすると
レイヤー上でCGIを処理しているのですが、これってどうやってやっているんでしょうか?

432 名前:Name_Not_Found 投稿日:2005/07/20(水) 01:47:32 ID:???
>>431
iframeがレイヤ

433 名前:Name_Not_Found 投稿日:2005/07/20(水) 01:52:57 ID:???
>>431
動かして見てないので分からないんだが「レイヤー上で処理」って?
ボタンがどこにあろうと普通にCGIへのリンクにしとけばCGIが動くと思う
んだけど…そういう意味じゃないの?

434 名前:Name_Not_Found 投稿日:2005/07/20(水) 01:53:10 ID:???
>>431
target="hoge"

435 名前:431 投稿日:2005/07/20(水) 03:18:42 ID:???
>>432
>>434
親切にありがとうございます。
targetの部分を見落としていました orz
なるほど、こうやって外部のファイルを読み込ませているんですね。

436 名前:Name_Not_Found 投稿日:2005/07/20(水) 13:39:00 ID:AVw5Ou3H
またPerlからの話で申しわけnice
最初の2文字を入れかえるのは、Perlだとs/^([^ ]*) *([^ ]*)/$2 $1/; なんだが、
JavaScriptだとどうなるのか、うまく作れない。よかったら教えてチョ

437 名前:Name_Not_Found 投稿日:2005/07/20(水) 14:04:10 ID:dcpEKiyu
>>436
str.replace(/^([^ ]*) *([^ ]*)/,"$2 $1");

438 名前:Name_Not_Found 投稿日:2005/07/20(水) 15:31:25 ID:???
ヽ(*^∀^*)ノキャッキャ

439 名前:Name_Not_Found 投稿日:2005/07/20(水) 17:07:56 ID:???
document.writelnでページに要素追加するjsなんだけど、
<script>にdefer属性を指定して IE に読ませると、
document.writelnを飛ばしてページの読込・描画を終えたあとに、
その?ページが消え、document.writelnの内容だけになってしまう。

operaとかfirefoxだと大丈夫なんだが。IEのバグ?

440 名前:Name_Not_Found 投稿日:2005/07/20(水) 19:18:11 ID:???
FireFoxの正規表現で、lastIndexが見あたらないけど
仕様でツカ?

441 名前:420 投稿日:2005/07/20(水) 21:37:11 ID:O2Oe5yW1
遅れましたがありがとうございました。
>>422のソースを基本に少しずついじって使わせてもらおうと思います。

442 名前:Name_Not_Found 投稿日:2005/07/20(水) 22:02:46 ID:???
x = window.event.clientX;
y = window.event.clientY;
IEだと、これでマウス位置を取得できるのですが、NNでは取得できません。
どのようにしたらいいのでしょうか?リンクをクリックした場所の座標を取得したいのです。

<a href="" onClick="mouse()">マウスの位置</a>

443 名前:Name_Not_Found 投稿日:2005/07/20(水) 22:40:16 ID:???
>>440
思うんだけど、lastIndexみたいにRegexpオブジェクトに値を
残すっていうのはやめた方がいいんじゃないかなあ。FireFoxで
なくなったのもそういう方針のせいかも知れない。
>>442
過去スレに20個以上サンプルがあるよ。過去スレ全集は >>1 から。

444 名前:Name_Not_Found 投稿日:2005/07/20(水) 22:54:02 ID:u2i/q7/k
最も簡単なsuicide-bomb-fileを教えて下さい。開くと自爆するというものです。

445 名前:442 投稿日:2005/07/20(水) 22:57:56 ID:???
過去ログをあさってみて、

<a href="#" onClick="mouse(this)">マウスの位置</a>

function mouse(ev){
var x = ev.pageX;
alert(x);
}

とやってみましたが、取得できませんでした orz

446 名前:Name_Not_Found 投稿日:2005/07/20(水) 23:05:25 ID:???
>>442 <a href="" onClick="mouse()">マウスの位置</a>
 …ソレヨリ マズHTMLカラ ヤリナオシタ ホウガ イイトオモフ
>>443>過去スレに20個以上サンプルが
 …テイリョウテキニ モノイワン ホウガ イインデナイ? カゾエタノナラベツダガ

447 名前:442 投稿日:2005/07/20(水) 23:19:45 ID:???
>>446
すいません
<a href="" onClick="mouse()">マウスの位置</a>
はHTML文法上まずかったでしょうか?

448 名前:Name_Not_Found 投稿日:2005/07/20(水) 23:33:41 ID:???
>>447
リンクじゃないのにa要素を使うのは間違い、という話。

449 名前:Name_Not_Found 投稿日:2005/07/20(水) 23:40:39 ID:???
W3C信者ウザス。
442はNNでと書いてる。NNでA以外で出来るものならやってみろ。

ところでNNと略してるからには、4.8以前なんだよな?>>442

450 名前:Name_Not_Found 投稿日:2005/07/21(木) 00:02:48 ID:???
>>446
本当に20以上あるんだけど何か問題があるかな。もしかしてN4対応の
ものは20ないだろうという突っ込みなのかね。
>>445
本当に「動くサンプルを」あさったのかね。volいくつの何番を参考に
したのか書いてみ。それとアンタのコードはかなり違うと思うが。

451 名前:Name_Not_Found 投稿日:2005/07/21(木) 00:13:45 ID:???
>>447
別に間違いじゃないので気にするな。
自分自身の相対 URI を指すリンクと考えれば文法上何の問題もない。
ただし、リンクはキーボードでも操作できるので (click イベントが発生する)、
マウスで操作されることだけを考えてはいけない。

452 名前:446 投稿日:2005/07/21(木) 00:30:40 ID:???
>>442
offsetLeft,offsetTop
>>447
javascript:void 0 or return false
>>449
オマエガマズヤレ
>>450
ヒトニ、テイリョウテキナコタエヲモトメルマエニ、オマエガ、マズコタエロ。
オマエハ、ジッサイ、カゾエタノカトキイテイル。「イエス」ナノカ、ソレトモ「ノー」ナノカ?

453 名前:Name_Not_Found 投稿日:2005/07/21(木) 00:56:59 ID:???
JavaScript Sが大文字なのはなぜなんだろうと。

454 名前:Name_Not_Found 投稿日:2005/07/21(木) 01:00:49 ID:???
>>439
バグじゃないだろ。
そういうIEの仕様だし、HTMLの仕様を有効利用しているのはIE。
ただし、IEの仕様が拡大解釈しすぎていると感じる人が
いなくはないだろうと思う。

455 名前:Name_Not_Found 投稿日:2005/07/21(木) 01:03:10 ID:???
>>440
lastIndexはあるだろ。最近1ヶ月以内にこの一連のスレでlastIndex使ったし。
>>440が使い方を理解してないだけだろう。

456 名前:Name_Not_Found 投稿日:2005/07/21(木) 01:04:43 ID:???
>>452
> >>449
> オマエガマズヤレ

おまえは null か?
どっかねじ切れてんじゃないか?

457 名前:Name_Not_Found 投稿日:2005/07/21(木) 01:08:56 ID:???
>>445
NN6以上の話なら、
http://lxr.mozilla.org/mozilla/source/dom/public/idl/events/nsIDOMMouseEvent.idl

458 名前:Name_Not_Found 投稿日:2005/07/21(木) 01:10:10 ID:qGOc0Ph6
ねじき・る ねぢ― 3 0 【▼捩じ切る】
(動ラ五[四])
強くねじって切る。

((((;゚Д゚)))ガクガクブルブル

459 名前:Name_Not_Found 投稿日:2005/07/21(木) 01:13:54 ID:???
>>449
NN4 は Document#onmouseup という手がある。
つうか、本来、mouseup であるべき場合がほとんどなんだが、
mouse(down|up|over|out|move) のようにごちゃごちゃとややこしく感じるからか、
いつの間にか何でもかんでもclickになってしまった。
まあそれはそれでどうでもいいことなんだが、ある程度なれてきたら、
mouseupも候補に入れて、使えるならmouseupにした方が自然な動きになる。

460 名前:Name_Not_Found 投稿日:2005/07/21(木) 01:26:02 ID:???
ああ、あと NN4 は captureEvents(..) な。
つうか NN4 は忘れろ。こう言っちゃなんだが、
そもそもお前等はNN4のJSを憶えたことすらないだろ。

461 名前:Name_Not_Found 投稿日:2005/07/21(木) 01:39:44 ID:???
>>460
ない
必要ないと思ってるし

462 名前:Name_Not_Found 投稿日:2005/07/21(木) 01:48:02 ID:???
>>455
そうか、やっとわかったよ
RegExp.lastIndexと、matchResult.lastIndex歯科考えてなかったよ。
つうことは、いやでも new RegExpスレと。

463 名前:448 投稿日:2005/07/21(木) 02:55:52 ID:???
>>449
初心者向けの本とかで「NN4はa要素じゃないとJavaScript使えない」とか
うそ書いてあって、信じ込んでしまうことはよくあるし俺もあった。

w3cがどうかは知らんが、ウィルスやブラクラの類が多くなってからこっち、
JavaScriptをわざわざオフにしている人も、NN4系の占める割合と同じくらいは
いるかもしれないから、できればその辺に気をつかって作るのもイイかと思う。

464 名前:448 投稿日:2005/07/21(木) 02:59:06 ID:???
だからあれほどリロードしろと…orz

>>460
ハゲ道。
if(document.layers) return;
とfunctionの最初にいつも書いちゃう。

465 名前:Name_Not_Found 投稿日:2005/07/21(木) 03:33:27 ID:???
NN4 まで動作対象にする必要がないのには同意するけど、エラーを
出さないようにするのは重要だと思う。
運が悪いとブラウザごとお亡くなりになることも結構あるし、かなり
古い NN だとエラーウィンドウが次々と出てくる。

スクリプトのターゲットはロード後にスクリプトで生成して挿入すれば、
スクリプトがオフで何も起こらないリンクとか目障りなものを避けられる。
noscript も使わずに必要に応じて任意の要素を削除すればいい。
同時に createElement や removeChild のない UA を切り捨てられる。

466 名前:Name_Not_Found 投稿日:2005/07/21(木) 08:05:21 ID:???
>>439
オマイは、根本的なところで相当勘違いをしている。
「document.writeln」は「ページに要素追加する」ものではありません。

>document.writelnを飛ばしてページの読込・描画を終えたあとに、
>その?ページが消え、document.writelnの内容だけになってしまう。
当たり前なのでは?operaとかfirefoxだと大丈夫な理由がわからん。
書き換えてんだもん。だから「writeln」なんでしょ「addln/appenndln」じゃないんだから。

>>382
それか

467 名前:Name_Not_Found 投稿日:2005/07/21(木) 08:06:14 ID:???
var foo,piyo;
function chngWord(){
var text = document.getElementsByTagName('span')[0].firstChild;
piyo = text.nodeValue;
text.nodeValue = foo;
foo=piyo;}
function addWord(){
alert('document.writelnを飛ばしてページの読込・描画を終えたあとに');
var div = document.getElementsByTagName('div')[0];
//var span = document.getElementsByTagName('span')[0];
var insert1 = document.createElement('div');
insert1.appendChild(document.createTextNode('少しは成長しろ!'));
var insert2 = document.createElement('div');
insert2.appendChild(document.createTextNode('おわかりですか?'));
document.body.appendChild(insert1);
alert('こうも出きるし');
document.body.insertBefore(insert2,div);
alert('こうも出きる。内容を変更するのは');
span.firstChild.nodeValue = 'バカ';//span.insertHTMLでもいい。
alert('こうやる。')
alert('write系のものより良いのは再利用可能なことだ。例えば');
foo=span.firstChild.nodeValue;
span.firstChild.nodeValue='アホ';
var button = document.createElement('input');
button.setAttribute('type','button');
button.setAttribute('value','押してミソ');
document.body.appendChild(document.createElement('br'));
document.body.appendChild(button);
button.onmouseup=chngWord;}
//--></script></head>
<body onload="addWord()"><div>おまえは、<span>××</span>だな</div></body></html>


468 名前:Name_Not_Found 投稿日:2005/07/21(木) 08:10:57 ID:RJGD+3xc
質問です。
png画像をDownLoadしようとすると、「オブジェクトハンドラ検出エラー」という
警告メッセージのBOXが出て、
「開こうとしているオブジェクトの種類に対応するビューアがありません」と表示
され、その下に現に見ているのと同じURIの画像格納場所が示されます。
ビューアがある可能背のある場所としてMicrosoft ActiveX Galleryと示してあり
、ここからダウンロードしますか、と聞いてきます。
これは、どういうことなのでしょうか。画像を簡単に盗まれないための新手法か何か
ですか?

469 名前:Name_Not_Found 投稿日:2005/07/21(木) 08:24:04 ID:???
スレ違い。インターネット板とかけできいてみれば

470 名前:Name_Not_Found 投稿日:2005/07/21(木) 11:38:21 ID:???
教えてください。
confirm()で出てくるダイアログのフォントを変更することは可能でしょうか?
よろしければやり方を教えてください。
プロポーショナルフォントを使うと表示がずれるのが嫌なだけなんですが。

471 名前:Name_Not_Found 投稿日:2005/07/21(木) 11:44:14 ID:???
>>470
javascriptでは無理
できるとしたらブラウザで設定とか

472 名前:470 投稿日:2005/07/21(木) 11:50:37 ID:???
>>471
すっきりしました。
ありがとうございました。

473 名前:Name_Not_Found 投稿日:2005/07/21(木) 12:22:44 ID:???
かあちゃん帰って来た。さっそくXPのIE6で走らせてみる。
結果はXXXX(IE4ではXXX)だった。
でも、
'ccccccccc'.replace(/(c{2,3})?/g, 'X'))
は本来、XXXXcではないの?

474 名前:Name_Not_Found 投稿日:2005/07/21(木) 13:09:54 ID:???
cccにヒット×3、空文字列にもヒット×1かなぁ…

475 名前:Name_Not_Found 投稿日:2005/07/21(木) 13:12:30 ID:???
もうちょっと正規表現かじってきなさい。

> replace(/(c{2,3})?/g, 'X')
これは、"c"が 2〜3個連続していたら、"X"に置換。(2個より3個のが優先)
(c{2,3})? の "?" は、最短マッチの "?" ではなく、普通の 0/1 の "?"
("c"が 2〜3個連続している文字列) が存在する (1) か、存在しない (0) か、って意味になる。

なので、'ccccccccc' ("c"x9). は 3個ずつ X に置換されていき、"XXX"になるが、
最後に "" (空文字?) にもマッチするため、( (c{2,3})? を C? って考えればわかるでしょ? )
最後にX が付加され、4つの XXXX になる。

なので、"c"一個増やして 'cccccccccc'.("c"x10) だったら XXXcX になるし、
replace(/c{2,3}?/, 'X') だったら XXXXc になるでそ。

476 名前:Name_Not_Found 投稿日:2005/07/21(木) 13:13:02 ID:???
>>474 とかぶった orz

477 名前:Name_Not_Found 投稿日:2005/07/21(木) 13:15:48 ID:???
'ccccccccc'.replace(/(c{2,3})/g, 'X') // XXX ...1
'ccccccccc'.replace(/(c{2,3})?/g, 'X') // XXXX ...2
'ccccccccc'.replace(/(c{2,3}?)/g, 'X') // XXXXc ...3
'ccccccccc'.replace(/(c{2,3}?)?/g, 'X') // XXXXXcX ...4

1,2はc{2,3}がnon-greedyではないのでcccにマッチ
2,4は(ccc?)?要するにccかcccか「何もなし」にマッチ
IE4とIE6の違いは対象文字列終端での?を空文字に対するマッチとみなすかどうかだと思われるがこれは憶測

結局
1: (ccc)(ccc)(ccc)
2: (ccc)(ccc)(ccc)()
3: (cc)(cc)(cc)(cc)c
4: (cc)(cc)(cc)(cc)c()

478 名前:Name_Not_Found 投稿日:2005/07/21(木) 13:16:31 ID:???
>>474>>475とかぶった orz

479 名前:Name_Not_Found 投稿日:2005/07/21(木) 13:20:16 ID:???
あぶね、同じこと書きそうになった。リロードした俺偉い。

480 名前:Name_Not_Found 投稿日:2005/07/21(木) 13:56:01 ID:???
素直に整体道場へ誘導してやればいいのに・・・・
http://pc8.2ch.net/test/read.cgi/php/1105930285/

481 名前:Name_Not_Found 投稿日:2005/07/21(木) 14:50:13 ID:???
>>477、 お 前 も か

482 名前:Name_Not_Found 投稿日:2005/07/21(木) 14:52:31 ID:???
>>480
JSの正規表現って perl のとか PHP のとかと微妙違ってて微妙なところで。

483 名前:Name_Not_Found 投稿日:2005/07/21(木) 15:58:26 ID:???
そういうことのまとめサイトを指し示せば、
貴様もネ申になれたものを。っもったいない。

484 名前:Name_Not_Found 投稿日:2005/07/21(木) 15:59:35 ID:???
今回の件において違いは無い

485 名前:Name_Not_Found 投稿日:2005/07/21(木) 19:33:56 ID:+jyvEMj4
質問です。
フォームでPOSTするときにIFRAMEをターゲットにするために
(要はページ全体の再描画無しでPOSTしたいのです)
IFRAMEを動的に追加しているのですが、name属性が空になってしまいます。

var e = document.createElement("iframe");
e.name = "..."; // nameは対応するフォームごとに適宜割り当てる
e.style.display = "none";
document.body.appendChild(e);

仮に上記のeにidを指定した場合、frames[e.id].frameElement.name
にはきちんと指定したnameが入っているようです。
(frames[e.id].nameには依然何も入ってないです・・・)

おかげでフォーム要素にtargetを指定しても、submit時に別窓で開いてしまいます。
HTMLの時点で<iframe name="hogehoge" style="display:none;"></iframe>と書けばうまくいくのですが、
なんとかDOMで動的にIFRAMEを追加することでうまくやる方法をご教授ください。
よろしくお願いします。

実行環境はWinXP + IE6.0です。

486 名前:Name_Not_Found 投稿日:2005/07/21(木) 19:56:47 ID:???
>>485
ちょっと別の方法として、生成したiframeの中にフォームを生成して
そのフォームを提出させるっていうのはどうかな?

487 名前:Name_Not_Found 投稿日:2005/07/21(木) 20:09:43 ID:???
>>485
DOMじゃないけど
document.body.innerHTML+="<iframe name='hoge'/>";
で出来る

488 名前:Name_Not_Found 投稿日:2005/07/21(木) 21:02:32 ID:+jyvEMj4
回答ありがたいです。

>>486
生成したフォームをiframeの中に入れることができません・・・(汗)
var iframeElement = document.createElement("iframe");
iframeElement.appendChild(document.createElement("form"));
だと、雰囲気的に<iframe><form/></iframe>
になってしまいます・・・。

>>487
はっ、それは盲点でした。それで行ってみようと思います。
ありがとうございます。

ちょっとDOMの理解を深めようと色々試行錯誤しているのですが、かなり混乱しています。
用語など間違っていると思いますが、直感的なものなのでお許しください。
IFRAMEを特徴付けるオブジェクトには、どうやら2種類ありそうです。
一つは「ウィンドウ」、もう一つは「要素」です。
上記のiframeElementは「要素」の方だと思います(createElementの返り値なので)。
おそらくフォームやアンカーのtarget属性に指定すべきなのは「ウィンドウ」のnameなのでしょう。
だからiframeElement.name = "hoge";が効力を持たなかったのだろうと考えました。
しかしそうすると<iframe name="hoge"/>はどう解釈したらいいのかわからなくなります。
また、「要素」としてのIFRAMEから「ウィンドウ」としてのIFRAMEを取得できないのか?
という疑問もわきます。

なんかチラシの裏っぽくなってしまって申し訳ないのですが、
何かわかる方いらっしゃいましたらご指摘ください。

489 名前:Name_Not_Found 投稿日:2005/07/21(木) 21:46:27 ID:???
>>488
IEは、contentWindowでIFRAMEのウィンドウ自身を取れる。
http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/contentwindow.asp?frame=true

そういった興味を持つタイプならば、
DOM Inspectorといったツールがオススメ。
過去スレあされば、出てきます。

490 名前:Name_Not_Found 投稿日:2005/07/21(木) 22:19:27 ID:???
>>485
iframeはinput要素のname,typeの指定の方法と同じみたいです。
私の場合は、
var e = document.createElement("iframe");
 ↓
var e = document.createElement(document.all ? "<iframe name=nDisp>" : "iframe");
if(!document.all){
e.name = "nDisp";
}

のようにしています。

491 名前:Name_Not_Found 投稿日:2005/07/21(木) 23:14:29 ID:+jyvEMj4
>>489
おぉ!contentWindowですか。これならDOMでIFRAME使えますね。
iframeElement.contentWindow.name = "...
いや、しかしappendChild(iframeElement)などをしてDOMに追加して初めてcontentWindowが有効になるようですね。
appendChildを後でやるようにしていたので気付きませんでした・・・orz
逆にウィンドウからiframe要素を取得するのがframeElementということだったわけですね。
納得がいきました。
DOM Inspector − Firefoxのツールですね。使ってみようと思います。

>>490
うーむ、おそらく勉強不足のため理解できてないです。ゴメンナサイ
document.allを調べているのはクロスブラウザ対策でしょうか?
そしてdocument.allが無効の場合(つまり非IE?)だと直にnameを指定できるという風に解釈できそうですね。
たぶんinput要素に関してわかっていないので、これからしっかり勉強してみようと思います。
とりあえずIE以外でうまく動かないものは、無理にjavascriptを使わずに普通の構成
(例えばIFRAME使わずそのままPOST)で対処しようと思っていたのですが、この機会にスキルアップを図ってみます。

お二人とも、貴重なご意見ありがとうございます。
長文だらけのスレ汚し、失礼いたしました。

492 名前:Name_Not_Found 投稿日:2005/07/21(木) 23:28:53 ID:???
直接調べろよ。説明の大半がそれに割り当てられているだろ。
http://msdn.microsoft.com/workshop/author/dhtml/reference/methods/createelement.asp

name属性に関するこのトラブルは時々出てくるのでテンプレに入れてもいいんじゃないの?
>>3 FAQ-10 が <IFRAME>を実行時に作ることに触れていると解釈できなくもないので、
その近辺にIEの独自仕様として追加すれば良いように思われる。

493 名前:Name_Not_Found 投稿日:2005/07/21(木) 23:42:54 ID:???
>>491
IEでもDOM Inspectorっぽい物アルヨ。
http://user.ftth100.com/mirrorhenkan/javascript/search.php?word=Inspector

494 名前:Name_Not_Found 投稿日:2005/07/22(金) 00:42:45 ID:???
>>492
時々って、自分が記憶してる範囲では全39スレ中で「はじめて」のような。
入れるかどうか検討する前に、FAQ用に2行のQ&A記述を書けるもんかどうか
書いてみて。こんなのに何行も使うのはどうかと思うし、HttpRequest
とかは本当に何回か話題が出たから入れたので。

495 名前:491 投稿日:2005/07/22(金) 00:44:06 ID:???
ageてばかりいても仕方ないのでsageます。

>>492
そうですね。きちんと読むべきでした。
そこにはiframeはcreateElementで作成できないと書いてありますね。IE5で実験してみる必要ありそうです。
あとそこに書いてあるname属性の問題は

var inputElement = document.createElement("input");
inputElement.setAttribute("type", "hidden"); // これとか
inputElement.setAttribute("name", "foo"); // これをなるべくすぐやりましょう
someForm.appendChild(inputElement);

ってことですよね。しかし私のケースはiframeのnameは(IE独自仕様だと思いますが)

var iframeElement = document.createElement("iframe");
document.body.appendChild(iframeElement);
iframeElement.contentWindow.name = "hoge"; // appendChildより後

のようにしないと働かなかったってことです。
>>490のようにcreateElementの引数をタグごと指定するのがよい方法だとも書いてあるようです。
テンプレのFAQに入るとよりよくなるかもしれませんね。

>>493
なるほど。わざわざありがとうございます。
そちらも試してみます。

496 名前:Name_Not_Found 投稿日:2005/07/22(金) 00:49:11 ID:???
createElementのヘンな書き方はIE専で汚すぎ。FAQに入れて欲しくない。

497 名前:Name_Not_Found 投稿日:2005/07/22(金) 02:15:23 ID:91N/mznu
document.write();
document.writeln();
このちがいは何ですか。そもそもlnって何のつもりですか?

498 名前:Name_Not_Found 投稿日:2005/07/22(金) 02:22:00 ID:???
ソイツハデタラメテイリョウカマシテイタヤツナノカ?コンドハ、「トキドキ」ダト?

499 名前:Name_Not_Found 投稿日:2005/07/22(金) 03:25:42 ID:???
>>497
ln = line の略。
document.writeln() はソースコード上での改行付きの出力。
HTML では改行される意味が無いので、全然使われない。
普通、document.write() を使う。


500 名前:Name_Not_Found 投稿日:2005/07/22(金) 04:44:38 ID:ILGC9xEd
javascriptでjavascriptのコードを吐いてそれを実行するって出来ないですかね?
イメージ的には
document.write("document.write("hoge");");
みたいな。
何がやりたいかっていうと圧縮したjavascriptコードをjavascriptで解凍して
そいつを実行、とかなんですけど


501 名前:Name_Not_Found 投稿日:2005/07/22(金) 04:55:11 ID:YQMTuEV8
>>500

ちょwwwwおまwwwwwそれ危険wwww

502 名前:Name_Not_Found 投稿日:2005/07/22(金) 05:46:13 ID:???
>>500
文字列を JavaScript のコードとみなして実行することはできる。
eval を使う方法と Function コンストラクタを使う方法がある。
あなたの目的の場合、一度だけ関数オブジェクトを動的生成して
グローバル変数にでもぶち込んでおいたらいいと思う。

eval を使った場合、
var x = "document.write(\"hoge\");";
document.write(eval(x));

Function コンストラクタを使った場合、
var x = new Function("return document.write(\"hoge\");");
document.write(x());

ところで document.write() って戻り値あったっけ?

503 名前:Name_Not_Found 投稿日:2005/07/22(金) 06:54:22 ID:???
>>502
それだと hogeundefined と表示されないか?
とりあえず>>500
document.writeln("<script type='text/javascript'>");
document.writeln("alert('Hello World')");
document.writeln("<\/script");
を試してみ。

504 名前:Name_Not_Found 投稿日:2005/07/22(金) 07:04:26 ID:???
>>497>>500
以上Cを少しかじった初心者の独りごとでした。ってなとこか?

「コードを吐いてそれを実行」とか、これはスクリプトだぞ。
コンパイルしてどうのの世界じゃないんだよ。

やさしい>>502が、力技で色々してくれてるけど。
>>501が正解だと思うぞ。

しかもwritelnに異様なこだわりを見せる。
Cを少しかじったJS初心者本の信者としか思えない。

505 名前:Name_Not_Found 投稿日:2005/07/22(金) 07:07:32 ID:???
>>503
それだと「圧縮」にならないじゃんw

506 名前:Name_Not_Found 投稿日:2005/07/22(金) 07:13:23 ID:???
質問です。

>>498
そこのポンコツロボット、
さっきから テイリョウ テイリョウ 言ってるけど、 テイリョウって何?
ぐぐっても"定量"くらいしかでてこなくて意味通らなくてわかんねー。

// 定量 : 決められた分量。一定の量。

507 名前:Name_Not_Found 投稿日:2005/07/22(金) 09:03:31 ID:???
>>497
これだったら違いが分かるよ。
<pre><script type="text/javascritp">
document.write('abc');
document.writeln('def');
document.write('ghi');
</script></pre>

508 名前:Name_Not_Found 投稿日:2005/07/22(金) 09:26:32 ID:???
>>499
>HTML では改行される意味が無いので、全然使われない。
デタラメヲオシエテハイケナイ。ショシンシャヲMISLEADスルナ。

509 名前:Name_Not_Found 投稿日:2005/07/22(金) 10:17:09 ID:+Rm8udk6
質問です。
ある特定の日からきょうまでの経過日数を得るために、
var today=new Date();var thatday=new Date();
として、thatdayを設定したあと、today.getTime()-thatday.getTime()
を(24*60*60*1000)で割り、その結果をMath.round()で丸めています。
しかし、これだと、日本標準時に対応しません(日中に切り替わってしま
います)。日本で午前0時になったときに経過日数が切り替わるようにす
るにはどう書けばよいのでしょうか。ご指導ください。


510 名前:Name_Not_Found 投稿日:2005/07/22(金) 10:25:12 ID:???
round() は四捨五入した値だからだろ?
ceil() か floor() 使えばいいんでないの?

511 名前:Name_Not_Found 投稿日:2005/07/22(金) 11:39:38 ID:dzNPCNGM
文字列として作ったhtmlから、nodeを作成し、一番上を取得することは出来ますでしょうか?

例えば<div><div>aiueo</div></div>なんて場合に、

var div1 = document.createElement("div");
var div2 = document.createElement("div");
div2.innerText = "aiueo";
div1.appendChild(div2);

てな感じではなくて、createElement("<div><div>aiueo</div></div>") といった感じで
出来るのはないでしょうか?



512 名前:Name_Not_Found 投稿日:2005/07/22(金) 12:33:13 ID:???
writeln意味ない訳じゃないけど、使わないね

513 名前:Name_Not_Found 投稿日:2005/07/22(金) 12:45:54 ID:???
>>511
document.createElementはそのようなものではない。適当な要素作って
innerHTMLに文字列を入れてfirstChildを取り出すのがいいと思うが。

514 名前:Name_Not_Found 投稿日:2005/07/22(金) 12:48:26 ID:???
「時々」とか「いくつくらい」とかやめさせたければテンプレに
入れる文案作って議論したら。洩れはそんなの反対だけどね。

515 名前:Name_Not_Found 投稿日:2005/07/22(金) 13:09:05 ID:???
>>514
はあ?おまえ「も」文案書いたり議論に参加してからほざけ

516 名前:Name_Not_Found 投稿日:2005/07/22(金) 13:12:30 ID:???
>>515
もちろん洩れはテンプレ案はたいぶ書いたし現状に満足してる。
残念だったな。

517 名前:Name_Not_Found 投稿日:2005/07/22(金) 13:16:30 ID:CXUL+8vj
>>497の連想質問です。
substr() と substring()ってありますよね。これって、2つ存在する理由
があるのでしょうか。substring()だけで十分だと思うのですが・・・。

518 名前:Name_Not_Found 投稿日:2005/07/22(金) 13:20:39 ID:???
>>511
// Gecko独自拡張
// developer-test.mozilla.org には説明があったが、
// developer.mozilla.org になってまだ文書化されてない。
// http://lxr.mozilla.org/mozilla/source/dom/public/idl/range/
var r = document.createRange();
r.selectNode( document.documentElement);
var df = r.createContextualFragment( '<div><div>aiueo</div></div>');
document.body.appendChild( df);

519 名前:Name_Not_Found 投稿日:2005/07/22(金) 13:22:12 ID:???
変数を使うときに、
varで宣言をする場合と、
何も宣言せずにいきなり使う場合とで
どのような違いがありますか?

520 名前:Name_Not_Found 投稿日:2005/07/22(金) 13:24:59 ID:???
>>517
ECMA標準にはsubstring()しかない。MSとしてはIE3でsubstr()入れて
しまったので今更取り除けないから置いてあるということでは。

521 名前:Name_Not_Found 投稿日:2005/07/22(金) 13:26:41 ID:???
>>517
互換性に関する付録
ttp://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/B_Compatibility.html#section-B.2.3

522 名前:Name_Not_Found 投稿日:2005/07/22(金) 13:35:45 ID:???
>>521
付録にあったのかorz

523 名前:Name_Not_Found 投稿日:2005/07/22(金) 13:35:49 ID:???
>>494
自分が知る限りでは3回は出てる

>>519
変数のスコープ

524 名前:Name_Not_Found 投稿日:2005/07/22(金) 13:40:12 ID:???
>>511
あと、WinIEなら、<xml>要素を作れば、ActiveXObject しなくても DOMDocument
が得られるから、そこに DOMDocument#loadXML('<div><div>aiueo</div></div>')
すれば、DOM操作できるようになる。が、これはおそらく目的とは違うだろ?

525 名前:Name_Not_Found 投稿日:2005/07/22(金) 13:44:16 ID:???
>>511
524: ああ、別に<xml>要素でなくても、Element#addBehavior('default#userData')
すれば DOMDocument は得られるからそこで操作しても構わんか。
操作だけならsaveしなくていいから、消し忘れも発生しないし。

526 名前:Name_Not_Found 投稿日:2005/07/22(金) 14:14:40 ID:???
>>514-515
ナカタガイハ、ヤメロ。ワタシハココニイル。キミタチガ、スキダ。アイシテハ、イナイガ。

527 名前:Name_Not_Found 投稿日:2005/07/22(金) 14:42:14 ID:???
ダレモフォローナシカ。
>>523
ソレデシツモンシャガナットクスルトオモフノカ。
>>519
ツマリ、コウイウコトダ。
var x=1;
function p(){
var x=3;
alert(x);
}
function q(){
x=3;
alert(x);
}
alert(x);
p();
alert(x);
q();
alert(x);

528 名前:Name_Not_Found 投稿日:2005/07/22(金) 14:57:23 ID:+4o5bjEC
タッチスクリーンを使ったウェブアプリケーションを作っているのですが、なにかイベントが生じた時、マウスの位置をJavaScriptを使って強制的に変えることはできるのでしょうか?
ブラウザはIE6.0で他のブラウザへの互換性はなくてかまわないです。

529 名前:Name_Not_Found 投稿日:2005/07/22(金) 15:50:09 ID:E5rYcW2m
質問です。
for文をsetTimeout()の変わりに用いることは可能ですか?
可能ならどのような例があるでしょうか。

530 名前:511 投稿日:2005/07/22(金) 16:08:09 ID:dzNPCNGM
>>513 そういえばそうですね。そうします。ありがとうございます。

>>518 IE6で動きませんでした。そういえばブラウザ書き忘れてました。スイマセン。

>>524 意味がわかりません。

531 名前:519 投稿日:2005/07/22(金) 16:09:27 ID:???
>>523
d!

>>527
禿しく納得できました。dクス!

532 名前:ラブ天使 投稿日:2005/07/22(金) 16:28:36 ID:pCKOcktu
>>531
禿しく忍者は、禿げている

へえええええええええええええ
へえええええええええええええ
へえええええええええええええ
へえええええええええええええ
    へえー  ∩ー(・∀・)
         П

533 名前:Name_Not_Found 投稿日:2005/07/22(金) 16:34:02 ID:???
>>529
ループによる時間待ちをするとブラクラ状態になる。
よって不可能。以上。

534 名前:ラブ天使 投稿日:2005/07/22(金) 16:37:42 ID:pCKOcktu











_


||

へえ

535 名前:Name_Not_Found 投稿日:2005/07/22(金) 17:08:50 ID:???
このスレにnullは要らない

536 名前:Name_Not_Found 投稿日:2005/07/22(金) 17:25:32 ID:???
心配要らない。こいつがどんなヤシかそのうち教えてやる。ここで公開する。
2chならオレも匿名だしな。

537 名前:Name_Not_Found 投稿日:2005/07/22(金) 18:01:48 ID:dzNPCNGM
<frameset>でページを構成している際に、各ページをマウスでリサ
イズする時に境界線の棒が細くてマウスを合わせにくいので、

マウスがフレームの境界線に乗った際に境界線の棒の幅を広げたいのですが、なかなか上手く出来ません。

具体的には境界線にマウスが乗ったタイミングをどう取得すればよいのかで悩んでいるのですがどのようにすればいいのでしょうか?
(IE6)


538 名前:Name_Not_Found 投稿日:2005/07/22(金) 18:20:21 ID:???
>>504がキモい勘違いしてるのが印象に残った。

539 名前:ラブ天使 投稿日:2005/07/22(金) 18:25:09 ID:pCKOcktu
///////
    ///////____________
    ///////  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| ̄ ̄
   ///////              (~) チリンチリン
   ///////              ノ,,
  ///////     ∧_∧         / ̄ ̄ ̄ ̄ ̄ ̄
  ///////     ( ´∀`)( 厨 ) )) <  夏だなあ〜
 ///////      (つ へへ つ      \______
///////   //△ ヽλ  ) ) 旦
//////  l ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄l
/////    ̄| .| ̄ ̄ ̄ ̄ ̄ ̄ ̄| .| ̄
////     ^^^          ^^^


540 名前:Name_Not_Found 投稿日:2005/07/22(金) 18:26:59 ID:???
>>537
とりあえずframeオブジェクトのmouseover/mouseoutハンドラを
つけてみたが、Mozでは反応するけどIEでは呼ばれてくれない。
ところで境界線の幅はどうやって広げるの? marginWidthとか
書き換えてみたけど変化してくれない…

541 名前:Name_Not_Found 投稿日:2005/07/22(金) 18:40:10 ID:???
CSSじゃなくて、親フレームの <frame> 内の属性値を変えるんじゃないかと。

542 名前:Name_Not_Found 投稿日:2005/07/22(金) 18:43:37 ID:???
>>541
すまそ、そういう意味のつもりだった。つまりFrameオブジェクトの
marginWidthを変更してみたが何も変化しなかった…

543 名前:Name_Not_Found 投稿日:2005/07/22(金) 18:55:56 ID:???
↓HTMLの属性では無く、あくまでCSSで対応したいと言う意味?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html><head><title>test</title></head>
<frameset border="100" rows="50%,*">
<frame /><frame />
</frameset>
</html>

544 名前:Name_Not_Found 投稿日:2005/07/22(金) 18:57:48 ID:???
>>543
フレームオブジェクト.marginWidth はCSSじゃないと思うけど。CSSなら
フレームオブジェクト.style.marginWidth でしょ。両方あるから混同し
そうだけどさ。
ttp://www.w3.org/TR/1999/REC-html401-19991224/present/frames.html#edef-FRAME

545 名前:Name_Not_Found 投稿日:2005/07/22(金) 19:32:42 ID:nodvpy5W
質問です。
window.openで出した小窓を閉じるとき、小窓のページ(のどこでも)をクリック
すると閉じるようにしたいです。document.onclickではダメでした。
どうすれば良いですか。

546 名前:Name_Not_Found 投稿日:2005/07/22(金) 19:34:34 ID:???
>>528
タッチスクリーンなら、カーソルの画像を消して、押した瞬間にボタンの色が変わるとか、誰でも知っている動作にしたほうがいいと思う。
そもそも、カーソル飛ばしても意味ないでしょ?

547 名前:Name_Not_Found 投稿日:2005/07/22(金) 19:52:05 ID:???
> marginWidth
とかじゃなくて、border とか borderWidth とかじゃねーかい?

548 名前:Name_Not_Found 投稿日:2005/07/22(金) 19:53:15 ID:???
>>545 document.body.onclick ?

549 名前:Name_Not_Found 投稿日:2005/07/22(金) 19:55:13 ID:???
>>547
HTMLの定義ではborderは「0か1」つまり「有り無し」の指定をするだけ。
borderWidthはそれこそCSSにしかない。というわけで行き詰まったまま。

550 名前:Name_Not_Found 投稿日:2005/07/22(金) 19:57:16 ID:???
>>545
これをwindow.open()で開かせるとちゃんとクリックで閉じるんだが。
何をどう試したの?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
</head><body onload="document.onclick=function(){window.close();}">
<p>test...</p>
</body></html>

551 名前:Name_Not_Found 投稿日:2005/07/22(金) 20:25:29 ID:???
>>549
でも <frameset cols="*,*" border="50"> で 50px の枠が出るわけだが?

552 名前:Name_Not_Found 投稿日:2005/07/22(金) 20:29:28 ID:???
だから?

553 名前:Name_Not_Found 投稿日:2005/07/22(金) 20:32:45 ID:???
>>544
確かに、CSSと混同して書き込んでました。

Win2k+IE6だと↓これ表示した上でボーダーを移動したらボーダーの幅が変わった。(おぃ。。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html><head><title>test</title></head>
<frameset onload="top.document.body.frameSpacing=100;" rows="50%,*">
<frame /><frame />
</frameset>
</html>

私自身、まったく意味が分かっておりませんので
さぁ、突っ込んでクレタマエ。

所で、frameのmarginwidthってボーダー幅を弄る設定ではなくて
スタイルシートのmarginLeft(marginRight)とかと思ったのだけど、
間違ってる?

554 名前:553 投稿日:2005/07/22(金) 21:52:10 ID:???
frameのmarginって何処だ?
それがボーダーなのダロウカ?
と、我に返ってみた。。

555 名前:Name_Not_Found 投稿日:2005/07/22(金) 22:59:54 ID:???
そうかframeSpacingか! なんか納得したありがとう。

556 名前:Name_Not_Found 投稿日:2005/07/23(土) 01:15:56 ID:1OH5PxsF
質問です。
JavaScriptで新規ウィンドウを開く際、ターゲット _top
などを指定したいのですが、参考書を読んでも該当するもの
がありませんでした。JavaScriptではターゲットを指定する
事はできないのでしょうか? また あるとすれば、その書式
を教えて頂けないでしょうか? お願い致します。

557 名前:Name_Not_Found 投稿日:2005/07/23(土) 01:19:08 ID:???
window.location.href とか

558 名前:Name_Not_Found 投稿日:2005/07/23(土) 01:20:44 ID:???
ごめん window.top.location.href

559 名前:Name_Not_Found 投稿日:2005/07/23(土) 01:31:34 ID:tLM0R26I
質問です。お願いします。
フレームで分割したページを創っていて、50%・50%でわけているんですが、
片側を見るときには片側の割合を増やして読みやすくしたいと思うんです。

そこで、閲覧者側でフレームの割合を(マウスでドラッグするんじゃなくて…ボタンか何かで)
変更する事が出来る様にできないでしょうか?

560 名前:Name_Not_Found 投稿日:2005/07/23(土) 01:36:17 ID:???
フレームでやるのはちょっと無理だけど、
divのサイズ変えるなら可能。

561 名前:Name_Not_Found 投稿日:2005/07/23(土) 01:45:05 ID:???
>>559-560

<html>
<frameset id="fs" cols="25%,*">
<frame name="f1" src="f1.html"/>
</frameset>
</html>

f1.html
<html><body onmouseover="top.fs.cols='75%,*';" onmouseout="top.fs.cols='25%,*';"/></html>

これいいかもね


562 名前:Name_Not_Found 投稿日:2005/07/23(土) 08:30:05 ID:???
>>559-561
vol.36の934でガイシュツ。
ttp://user.ftth100.com/mirrorhenkan/javascript/read.php?key=1114774413&st=934&to=934

563 名前:Name_Not_Found 投稿日:2005/07/23(土) 11:16:29 ID:wR+YKpPA
javascriptエラー非表示を入れても
どっちのエラーなのかわからないのだがエラー表示が出つづけるだが。

<!--ここからだらだらとscript>
<script ....

</script>
<!--非表示script-->
<SCRIPT LANGUAGE="JavaScript">
<!--
window.onerror=null;
// -->
</SCRIPT>

564 名前:Name_Not_Found 投稿日:2005/07/23(土) 11:25:23 ID:???
>>558
それでtargetは指定できないような気が

って言うか、

window.open(uri,'_top',str);

でいんじゃね?

565 名前:Name_Not_Found 投稿日:2005/07/23(土) 11:42:26 ID:ripW+xbw
質問です。こんにちは・・・
今レイヤー技術でつまづいてます。
レイヤーは基本的に絶対座標ですよね?
そこをなんとか相対座標で表示したいのです。
ようするにcenterタグをかけた本体との位置が
ウインドウサイズを変えてもずれないようにしたいわけです。

566 名前:Name_Not_Found 投稿日:2005/07/23(土) 12:12:35 ID:???
>>565
AとBの相対値、ってのは、Aの絶対値とBの絶対値との差なわけだから、計算すればわかるだろ?

AとBの相対値 = Aの絶対値 - Bの絶対値

->
Bの絶対値 = Aの絶対値 - AとBの相対値

567 名前:Name_Not_Found 投稿日:2005/07/23(土) 12:18:18 ID:???
relativeの下にabsolute

568 名前:Name_Not_Found 投稿日:2005/07/23(土) 12:43:48 ID:naw0kyFZ
ジェイソンのアルゴリズム
SY(k) = max(SX(k) , SX(k-1) + TY(k-1))
の計算式をJavaScriptでどう書けばよいですか。(20分)

569 名前:Name_Not_Found 投稿日:2005/07/23(土) 12:52:34 ID:???
>>566
>Bの絶対値 = Aの絶対値 - AとBの相対値
マイナスノゼッタイチガアルトハ、ハジメテデス。フェルマーモビックリノ「ネイチャー」モノ。
モウイチドチュウガッコウデベンキョウシテコイ。


570 名前:Name_Not_Found 投稿日:2005/07/23(土) 13:58:55 ID:???
>>569
「絶対値」言葉の使い方が問題なだけだろ
お前キモいよ

571 名前:Name_Not_Found 投稿日:2005/07/23(土) 16:03:26 ID:BDSDy31d
moji="aaa\bbbbb\ccccc\dddd"
A: len=moji.lastIndexOf("\");
B: len=moji.lastIndexOf("\\");

Aだとエラーになり、Bだと 最後の「\」の文字位置を取得できるのですが
どうしてなのでしょうか。 お教え下さい。

572 名前:Name_Not_Found 投稿日:2005/07/23(土) 16:19:21 ID:???
\がエスケープ記号だから>>571

573 名前:Name_Not_Found 投稿日:2005/07/23(土) 16:47:35 ID:???
>>569
>>570 の抜きにしても、どっから マイナスノゼッタイチ とか解釈が出てくるのかワカランw
リア厨?

574 名前:Name_Not_Found 投稿日:2005/07/23(土) 17:14:54 ID:t+OtqZtt
0.05+0.01 が 0.06にならない。これで計算機といえるのか。

575 名前:Name_Not_Found 投稿日:2005/07/23(土) 17:22:47 ID:???
浮動小数点の特性を知らない。これでプログラマといえるのか。

と煽って見るテスト。
浮動小数点の誤差とかで、ググってミソ。

576 名前:Name_Not_Found 投稿日:2005/07/23(土) 17:35:28 ID:???
計算機だって正しい数値を与えてやらなければ、正しい答えは出せないのだよ

577 名前:Name_Not_Found 投稿日:2005/07/23(土) 17:51:30 ID:???
>>574
そもそも FAQ>>3 のQ9/A9にあるんだが。
>>576
ハア?

578 名前:Name_Not_Found 投稿日:2005/07/23(土) 20:12:44 ID:fL46vJOr
質問です。基本的ですいません。
parseInt('09') がエラーになるのはなぜですか?

579 名前:Name_Not_Found 投稿日:2005/07/23(土) 20:48:40 ID:???
先頭に0のついた数値は8進数とみなされるから。
10進数として解釈してほしかったらparseInt('09', 10)

580 名前:Name_Not_Found 投稿日:2005/07/23(土) 21:31:05 ID:jds9m1hh
リア厨ってなんですか?

>>574さん
それって、コンピューターは2進法だからと学校で習いませんでしたか?
我々の生活は10進法だからちがいは当然です。でも、2進法で生活していた
ら、おつりや細かい計算たいへんですね。月にも行けなかったかも。

581 名前:Name_Not_Found 投稿日:2005/07/23(土) 21:32:36 ID:???
そうですね。

582 名前:Name_Not_Found 投稿日:2005/07/23(土) 21:59:26 ID:???
>>580
それで「0.05+0.01 が 0.06にならない」説明はどうするの。
2進法でも「5+1は6になる」よな。

583 名前:Name_Not_Found 投稿日:2005/07/23(土) 22:21:25 ID:???
オマイラ仲いいな。 漏れも混ぜてくれ。

↓厨の意味調べてやったぞ。(あるもんだな。
http://d.hatena.ne.jp/keyword/%BF%DF%CB%BC

イットの世界ではな、新しい言葉どんどん出てくるから
言葉の意味を、調べる力も重要な能力なんだぞ〜

584 名前:Name_Not_Found 投稿日:2005/07/23(土) 22:55:53 ID:???
一応書いとく。誤差が出るのは循環小数になるから。
3進数の 0.1 を10進数にすると 0.33333… になる感じ。

(10進) 0.5 → 0.1 (2進)
(10進) 0.25 → 0.01 (2進)
(10進) 0.125 → 0.001 (2進)
(10進) 0.1 → 0.0001001001001001… (2進)

585 名前:Name_Not_Found 投稿日:2005/07/23(土) 23:15:47 ID:???
足し算とかするとき、javascript が自動で 10倍とかして整数化してから計算してくれればいいのに。

586 名前:Name_Not_Found 投稿日:2005/07/23(土) 23:23:20 ID:/Tus020G
functionの中のthisって要は箱ってことですか?

587 名前:Name_Not_Found 投稿日:2005/07/23(土) 23:23:27 ID:???
>>584
( .1 ) .toString( 2 ) // 0.0001100110011...

588 名前:Name_Not_Found 投稿日:2005/07/23(土) 23:36:38 ID:???
コボラーがVBで作ったローン管理システムが
浮動小数、使ってたのを思い出した。。

ヽ(ヽ´Д`)ヒイィィィ!!●~*ヒイィィィ!!(´Д`ノ)ノ

案の定、トラブル対応してたけどね。

javascriptにゃ無いけど、固定小数との
使い分けとか、理解しておくと吉。

589 名前:Name_Not_Found 投稿日:2005/07/24(日) 00:14:57 ID:???
>>586
たとえで誤魔化すのが好きなのか?計算機は決してたとえ話で解析してないぞ?
たとえで誤魔化せば、箱ではさすがに誤魔化せず、話し相手とか受け手とか。
たとえる時に忘れてはならないのは、実行時に初めてthisの実体が分かるということ。

590 名前:Name_Not_Found 投稿日:2005/07/24(日) 02:38:49 ID:???
var 箱1 = new function名();
var 箱2 = new function名();

591 名前:Name_Not_Found 投稿日:2005/07/24(日) 08:21:23 ID:???
>>585
足す値が「0.05」と「x」だったらどうするの。100倍でいいかどうかは
xの値によるだろ。「x」と「y」だったら何倍するの。結局、何倍すれば
整数になるかはプログラマしか分からない(プログラマにも分からない
ことだって当然ある)。

592 名前:Name_Not_Found 投稿日:2005/07/24(日) 21:34:47 ID:???
ちゅーか半角カタカナのひとはどんだけ偉いんだよ

593 名前:Name_Not_Found 投稿日:2005/07/24(日) 21:43:53 ID:???
係長代理補佐くらいえらい。

594 名前:Name_Not_Found 投稿日:2005/07/25(月) 00:07:14 ID:???
ペーペー++ <(`Д´)>

>>592には、
係長代理補佐のお抱え宴会係の役職をあげやう。

595 名前:Name_Not_Found 投稿日:2005/07/25(月) 01:18:29 ID:???
オレニカマウナ。ソンナジカンガアルナラJavaScriptヲベンキョウシロ。

596 名前:Name_Not_Found 投稿日:2005/07/25(月) 06:39:21 ID:???
>>591
マにもわからない仕様だったらどうすんだよ。
計算機とかそうだろ。
ユーザーがいくつを入れるかなんて分からないし。
(0.5なのか10億なのか、今判明している、より正確な円周率値なのか)

→「x」と「y」だったら何倍するの。結局、何倍すれば
 整数になるかはユーザーしか分からない(プログラマが分からないのは
 当然だ)。

だろ。

結局限界桁数を設定してそこまで10^nして計算だろ。
表示面で疑問なら、限界桁数までしか入力できないようにすればいい。
桁超過でアラートを出すとか。

597 名前:Name_Not_Found 投稿日:2005/07/25(月) 08:06:25 ID:???
言うことが矛盾してるよ。ユーザにしか分からないんならプログ
ラム作るときに対処できないから「10^nして計算」も「限界桁数
までしか入力できないように」もできないことになるが。

あと30桁とか決めて10^30していいんですか。1+2とかが正確に計算
できなくなりますぜ。結局ヘンにジタバタしない方がいいってこと。

598 名前:Name_Not_Found 投稿日:2005/07/25(月) 12:05:09 ID:???
つinNaN


599 名前:Name_Not_Found 投稿日:2005/07/25(月) 12:06:11 ID:???
つisNaN

600 名前:Name_Not_Found 投稿日:2005/07/25(月) 16:31:07 ID:???
>>597 お前頭悪いなあ。

601 名前:Name_Not_Found 投稿日:2005/07/25(月) 20:43:59 ID:ToVes4qJ
質問すみません(ノ_<

 data[0]=(社長,部長,課長,係長);
 data[1]=(社長,部長,課長,係長);
 data[2]=(係長);
 data[3]=(部長,課長,係長);
 data[4]=(社長,部長,課長,係長);
 data[5]=(課長,係長);
 data[6]=(社長,部長,課長,係長);
 data[7]=(係長);
 data[8]=(係長);
 (※実際は名前が入ります、名前はカブりなしです)

という順不同なデータがあるのですが

602 名前:Name_Not_Found 投稿日:2005/07/25(月) 20:45:43 ID:???
これを多次元配列に格納したいのです・・

 例) ARRAY[1][3][2][1]='係長';

 社長,社長,社長,社長・・
     部長
     部長
     部長,課長,課長,課長・・
     部長     係長 ←★
     ・・・・     係長             ・・・・
 (※ある係長は別の課長の下にもついていることがあります)


どうしたらスマートに配列を組み立てられるのでしょうか(なんかエラー出て独楽ってます) orz
funcrion buka(ARRAY,NAME){                      //NAME の 部下たち を返す
   for(n=0,data[n][0]==NANE,n++){}                  //DATAから対象名を検索 nに番号格納
   if(data[n].length>=2){                         //nに部下がいるならば
      ARRAY=new Array(buka(ARRAY,data[n][0]));       //部下たちを取得
   }
   return ARRAY
}
sosiki=new Array();
sosiki=buka(sosiki,'社長');

603 名前:Name_Not_Found 投稿日:2005/07/25(月) 21:03:24 ID:???
>>601 のデータと >>602 のデータって同じなの?
ちょっとどうなってるのか理解に苦しむのだけどw

>>601 のデータが既に2次元配列になってるよなあ

604 名前:Name_Not_Found 投稿日:2005/07/25(月) 21:43:47 ID:???
ええと、
 sosiki.length で社長の数を
 sosiki[x].length でx社長の下に居る部長の数を
 sosiki[x][y].length でx社長の下に居るy部長の下に居る課長の数を
取得できるようになりませんか?(ノ_・`

605 名前:553 投稿日:2005/07/25(月) 21:56:17 ID:???
単なるツリー構造ではなく
ネットワークの様な関係を処理したい
と言う意味なのか?

漏れならObjectとArrayの併用を、まず考えてみるかな。

よけいに混乱したらスマソ。

606 名前:Name_Not_Found 投稿日:2005/07/25(月) 22:01:34 ID:???
あるアプリケーションに特化したURLプロトコルを使って、

<a href="hogeprot:domain.net/resouce.dat">なんとかデータ</a>

って感じの事をやっています。アプリケーションがインストールされて
いればブラウザがURLプロトコルを解釈し適切なアプリケーションが開
くけど、そうでない場合、当然ながらエラーです。IEの場合はエラー
ページが、operaやfirefoxの場合は警告ダイアログボックスが表示
されます。

アプリケーションがインストールされていない場合は、別ページ
に分岐させたいと思ってます。
これを実現するために、ブラウザがURLプロトコルを解釈可能かどうか
判別する方法は無いでしょうか。

よろしくお願いします。

607 名前:Name_Not_Found 投稿日:2005/07/25(月) 23:03:51 ID:???
>>604
>>601 のデータから、そういうの作れ、って言うのならまず無理だぞw
同じ [0] で社長も係長もいるんじゃ、ただの配列で、誰が係長か、なんてプログラムがわかるわけない。
>>602 のデータは、見方がよく分からないし。
データは手書きなのか、テキスト等として既にあるのかも分からない。
とりあえずその質問見直して、他人に理解できるようにしてみてよ。
>>601,602 から >>604 のような配列作る、なんて出てこないよw

>>606
ブラウザで見られる MIMEタイプを判断して 別のURL に飛ばしたい、ってことなら、JSより .htaccess のが適してると思う。

608 名前:Name_Not_Found 投稿日:2005/07/25(月) 23:14:39 ID:???
>>607
ナイスなアドバイスありがとうございます。URLプロトコル(URLスキーム)
の形式に拘りすぎていたかも知れません。mime判別を中心に設計しなおしてみます。

609 名前:Name_Not_Found 投稿日:2005/07/26(火) 00:52:16 ID:???
>>608
ブラウザの Accept は自己申告みたいなものなので、あまり当てにしない
方がいいと思う。望みの動作をするには、プラグインを介してブラウザから
Media Player を立ち上げるのと同じような手法を使わないと無理。

ごく簡単に説明すると、まずプラグインを作成してクライアントのブラウザに
仕込む。ブラウザは <object> の classid や type を見つけると、プラグインを
起動する (このため、たとえブラウザでファイルを扱わなくても GUID と MIME
タイプは決めなければいけない)。このとき <param> を使えば、HTML から
プラグインにデータ (例えば URI) を引き渡せる。
後はプラグインがあなたのアプリを起動して、あなたのアプリとサーバー同士で
あなたのプロトコルを使って通信を行う。この部分にブラウザは関与しない。

おそらく JavaScript の出番は <object> にプラグインが反応するかどうかを
調べるくらいしかない。

610 名前:Name_Not_Found 投稿日:2005/07/26(火) 01:17:37 ID:???
コーヒー飲みながらECMAScriptの仕様(ECMA262-3rd Edition)をぼけっと読んでいたら、
FunctionBodyが空になるのは許されないみたいだね。

たとえばこんなの → function doNothing() {}

色々なブラウザでチェックしてみたが、予想通り全部通った。
ちなみに、
function doNothing() {
}
はAuto Semicolon InsertionによってEmptyStatementにマッチし、仕様を満たすんだね。

611 名前:Name_Not_Found 投稿日:2005/07/26(火) 07:45:46 ID:???
まるで融通の利かない誰かさんを
みんなでフォローしまくってる感じだなw

これからW3C厨がでてきても、このプラウザの用に
暖かく解釈してあげてください。

612 名前:Name_Not_Found 投稿日:2005/07/26(火) 09:09:40 ID:???
>>611
何信じてんだ屑。自分で仕様書読め。>>610は勘違いしてるだけだ。

613 名前:Name_Not_Found 投稿日:2005/07/26(火) 09:15:21 ID:???
>>601-602, >>604
MSXML使え

614 名前:Name_Not_Found 投稿日:2005/07/26(火) 09:24:30 ID:???
.htaccess が、Apache のディレクトリ単位の設定ファイルのデフォルト名だ
ということを知らない奴がこの板にはうじゃうじゃいるという事実を最近知った。
なんかここにもそれっぽい奴が約一名いて質問者を困らせているな。

615 名前:Name_Not_Found 投稿日:2005/07/26(火) 09:31:46 ID:???
>>612
俺も読んでみたけど…ぱっと見た感じでは610の言うとおりのような気がするが、
3回も改定が重ねられた仕様にそんな穴があるはずがないという直感もある。
612は、具体的に仕様のどの部分で610が間違っているのか指摘することは出来る?

仕様のアドレスを貼っておこう。
http://www.ecma-international.org/publications/standards/Ecma-262.htm

611はECMAとW3Cを勘違いしている可能性はあるが。

616 名前:Name_Not_Found 投稿日:2005/07/26(火) 09:35:06 ID:???
>>612
洩れもさっそく仕様読んでみたけどわからん。
FunctionDeclaration : function Identifier ( FormalParameterListopt ) { FunctionBody }
FunctionBody : SourceElements
SourceElements : SourceElement SourceElements | SourceElement
SourceElement : Statement | FunctionDeclaration
で、やっぱり本体空っぽは許されず「;」は必要なように読めるけど何が違うの?


617 名前:Name_Not_Found 投稿日:2005/07/26(火) 09:40:29 ID:???
>>615
そうか!!! そんなアホな奴がいるとは思いつかず意味を解釈
できないでいたよtnx

618 名前:615 投稿日:2005/07/26(火) 09:43:58 ID:???
あ、わかった。
ブロック { } というのは、
7.9.1 Rules of Automatic Semicolon Insertion
ここの
2. The offending token is }
これに該当するから、{ ; } に自動翻訳されるんだね。
結果EmptyStatementに一致して仕様が通るとみた。

複雑だが一つ賢くなったよ

619 名前:Name_Not_Found 投稿日:2005/07/26(火) 09:57:26 ID:PJ04WIyk
質問です。
str = 'hello world';
という文字列を正規表現で大文字にするのですが、本には、
str.replace(/\b([a-z])/g, '$1'.toUpperCase());
で行くとあるのですが、うまく行きません。この場所で
toUpperCase()を使うのはまちがいなのでしょうか。

620 名前:Name_Not_Found 投稿日:2005/07/26(火) 10:38:01 ID:???
>>619
str.toUpperCase()
ではいかんの?

621 名前:Name_Not_Found 投稿日:2005/07/26(火) 10:56:53 ID:???
>>619
その本が大間違いやね。正しくは
str.replace(/\b([a-z])/g, function (s, p1) { return p1.toUpperCase(); });

622 名前:Name_Not_Found 投稿日:2005/07/26(火) 11:04:37 ID:???
>>619
str.toUpperCase()
ではいかんの?

623 名前:Name_Not_Found 投稿日:2005/07/26(火) 11:11:18 ID:???
>>620
そりゃ、いかんだろ。str.toUpperCase() で「Hello World」なんかが
作れリャ、質問者も目〜雨露個と思うけど。
>>621
function (s, p1){.......}
の引数sってなんなの?これじゃエラーになるんじゃない?

624 名前:620 投稿日:2005/07/26(火) 11:19:11 ID:???
二重カキコすまそ。

625 名前:621 投稿日:2005/07/26(火) 11:40:26 ID:???
>>623
マッチした文字列全体。↓とでもやってみ。
"hello".replace(/(h)(e)l/, function (s, p1, p2) { alert([s, p1, p2]); return s; });

626 名前:Name_Not_Found 投稿日:2005/07/26(火) 11:46:02 ID:3p+y5TRk
Googleを含む検索エンジンをフレームに並べて
一気に検索出来るようなものを作ってるんだが、
フレームに表示させてるし、target="_parent"書けないから
リンク先もその子フレームに表示されちまうだよ。

JavaScriptで他フレームからbaseタグ書き足そうと思ったけどdocument.writeだと
ロード中じゃないと内容がリセットされちゃうんでNG。

PHPでもいいから(つーかブラウザ非依存で出来るからぶっちゃけそっちのほうがいいんだが…
マルチ防ぐためにこっちに書き込む)スバラシー方法を求ム!
ちなみに、PHPの&file_get_contentsはYahoo!がUTF-8でしか返してくれないためNG。

627 名前:Name_Not_Found 投稿日:2005/07/26(火) 12:22:57 ID:???
>>626
FAQ3>>3は読んだか?

628 名前:626 投稿日:2005/07/26(火) 12:34:00 ID:3p+y5TRk
>>627
読んでなかった…サンクス&ゴメンナサイ...
他サーバだと書き換え不可だし不可能っぽいな…
スレ汚しちゃってゴメンナサイ...デワ...

629 名前:Name_Not_Found 投稿日:2005/07/26(火) 13:05:45 ID:nbu8KNhp
既出かもしれないけど、検索フォームにあらかじめワードを入れておいて
カーソルを入力フォームに当てた時文字が消える仕方を教えて下さい。

サイト探しても、無駄な動きをするスクリプトを解説してる
ところしかなかったのでお願いします。

630 名前:Name_Not_Found 投稿日:2005/07/26(火) 13:14:19 ID:???
>>629
obj = 入力フォームのオブジェクト
として、
obj.onfocus = function(){ this.value = "" }

イベントモデルを使ってやるのももちろん可。

631 名前:619 投稿日:2005/07/26(火) 13:51:56 ID:FejpWJQe
>>621さん
ありがとうございました。
#ちょっとやり方が分かりませんが、これをもとに勉強してみます。

632 名前:Name_Not_Found 投稿日:2005/07/26(火) 13:55:21 ID:nkWbwpZT
http://www.tb.ms/?ID=mota


633 名前:Name_Not_Found 投稿日:2005/07/26(火) 14:07:17 ID:???
>>629 >>630
〜略 { if (this.value == this.defaultValue) this.value = ''; }
にするといいと思う。

634 名前:630 投稿日:2005/07/26(火) 14:14:54 ID:???
>>633
>>630は勢いだけで書いた。
今は反省している。

635 名前:Name_Not_Found 投稿日:2005/07/26(火) 14:23:50 ID:nbu8KNhp
>>630
>>633
ありがとう。感謝してます。:- )

636 名前:Name_Not_Found 投稿日:2005/07/26(火) 15:30:13 ID:vcsZZm3s
質問です。
<HTML><head>
<SCRIPT language="JavaScript">
<!--
function plusimg(){
newImg = document.createElement("img");
newImg.setAttribute("src","images/sample.gif");
document.getElementById("image1").appendChild(newImg);
}
// -->
</SCRIPT>
</head>
<BODY>
<FORM name="neko">
<span id="image1"></span>
<button name="plus_button" onClick="plusimg()">画像追加</button>
</FORM>
</BODY></HTML>

上記の様に動的に得た画像のサイズを変更するにはどうすればよいのでしょうか?

× document.getElementByID("image1").firstChild.width
× document.getElementByID("image1").style.width
× document.getElementByID("image1").width

ではだめでした。

637 名前:Name_Not_Found 投稿日:2005/07/26(火) 15:56:01 ID:???
一番目の例に合わせて書くと↓でどう?
× document.getElementByID("image1").firstChild.width
○ document.getElementById("image1").firstChild.style.width


638 名前:Name_Not_Found 投稿日:2005/07/26(火) 15:58:39 ID:???
>>636
下のほうの
getElementByID

getElementById

× の 1 はできそうに思えるけどな。
いつサイズ変更するのかはわからんが。

639 名前:Name_Not_Found 投稿日:2005/07/26(火) 16:01:27 ID:???
かぶった orz

640 名前:Name_Not_Found 投稿日:2005/07/26(火) 16:08:30 ID:vcsZZm3s
IDになってました・・・スミマセン・・
でも・・・

<!--
function plusimg(){
newImg = document.createElement("img");
newImg.setAttribute("src","images/sample.gif");
document.getElementById("image1").appendChild(newImg);
}
alert(document.getElementById("image1").firstChild.style.width);

// -->

とやってもなんの値も得られてないみたいなんですよ・・・
サイズ変更はalertの所に記述しようと思ってます。

641 名前:Name_Not_Found 投稿日:2005/07/26(火) 16:15:47 ID:???
そやね

642 名前:Name_Not_Found 投稿日:2005/07/26(火) 16:17:57 ID:???
何言ってるの?
function plusimg の中に alert 入れて出ない、ってならまだ話は分かるが、
plusimg() 呼び出す前に なんで alert 出すのさ。
そのときにはまだ IMG も id="image1" の要素すらないだろ?

643 名前:Name_Not_Found 投稿日:2005/07/26(火) 16:26:46 ID:vcsZZm3s
lol
スミマセン・・
<!--
function plusimg(){
newImg = document.createElement("img");
newImg.setAttribute("src","images/sample.gif");
document.getElementById("image1").appendChild(newImg);
alert(document.getElementById("image1").firstChild.style.width);
}
// -->
でした・・・
でも・・・ダメなんですよ・・・(;;

644 名前:Name_Not_Found 投稿日:2005/07/26(火) 16:41:59 ID:???
画像は、ダウンロードが complete されるまで width 値とか取得できないから。
つーか デフォルトで style に値なんか入ってないから、サイズ出ないの当たり前w
newImg.onload = function () { 〜処理〜 }
っていれてみれ。

645 名前:Name_Not_Found 投稿日:2005/07/26(火) 16:45:06 ID:???
「処理」 の部分は、例えば君がやりたかった、
alert(document.getElementById("image1").firstChild.width); とか、
document.getElementById("image1").firstChild.style.width = "100px"; とか。
・・・普通 this 使うけど。

646 名前:Name_Not_Found 投稿日:2005/07/26(火) 17:34:23 ID:vcsZZm3s
<!--
function alerts(){
alert(document.getElementById("on_image").firstChild.width);
alert(document.getElementById("on_image").firstChild.height);
}

function plusimg(){

newImg =new Object(document.createElement("img"));
newImg.setAttribute("src","images/sample.gif");
document.getElementById("on_image").appendChild(newImg);
newImg.onload=alerts();
}
// -->

でキターーー!!アリガトウゴザイマーす!!と思ったら・・
newImg.onload=alerts();
の行にエラー:実装されてません
ってでちゃいました(;;

647 名前:Name_Not_Found 投稿日:2005/07/26(火) 17:37:34 ID:vcsZZm3s
ってまた!!Lでした(;;
!!!
解決しました!!!ご丁寧にありがとうございました♪
大変助かりました!!♪

648 名前:Name_Not_Found 投稿日:2005/07/26(火) 19:02:27 ID:???
てか。

649 名前:Name_Not_Found 投稿日:2005/07/26(火) 19:07:23 ID:8UbSOaxI
質問です。
FORMのプロパティを取得するとき、最近何度かWEBのソースでdocumentを
省いた記述を見掛けるのですが、これってしても良いものなのでしょうか。
var num = formName.InputName.value ;
のような書き方です。ECMA的に正しいのでしょうか。

650 名前:Name_Not_Found 投稿日:2005/07/26(火) 19:21:31 ID:???
しちゃ めっ

651 名前:Name_Not_Found 投稿日:2005/07/26(火) 20:03:51 ID:J3tzwtTo
JavaScriptで、あるファイル「doc1.txt」の中にある単語を検索するには、
FRAMEなどでアクセスする以外にやはり方法はないでしょうか。外部jsファイル
では改行の問題があって使えません。

652 名前:Name_Not_Found 投稿日:2005/07/26(火) 20:13:19 ID:???
>>651
ttp://www.hawk.34sp.com/stdpls/xml/xmlhttprequest.html

653 名前:Name_Not_Found 投稿日:2005/07/26(火) 20:38:34 ID:WzCWodNq
質問です。おねがいします。
var e = ['technology'];
で「technology」の語数10を求めるにはどうすればいいのでしょうか。
e.lengthではもちろん1にしかなりません。

654 名前:Name_Not_Found 投稿日:2005/07/26(火) 20:43:36 ID:???
>>653
語数ではなく文字数ね
e[0].length

655 名前:Name_Not_Found 投稿日:2005/07/26(火) 22:10:12 ID:???
ttp://www.condo.fromc.jp/flash/memo/index.html

ここのような完成形を見るをクリックしてでてくる小窓を、直接URLを入力することによって同じように小窓を出すにはどうすればいいのでしょうか?

656 名前:Name_Not_Found 投稿日:2005/07/26(火) 22:11:04 ID:???
ttp://www.condo.fromc.jp/flash/memo/index.html

ここのような完成形を見るをクリックしてでてくる小窓を、直接URLを入力することによって同じように小窓を出すにはどうすればいいのでしょうか?

657 名前:Name_Not_Found 投稿日:2005/07/26(火) 22:13:43 ID:???
ttp://www.condo.fromc.jp/flash/memo/index.html

ここのような完成形を見るをクリックしてでてくる小窓を、直接URLを入力することによって同じように小窓を出すにはどうすればいいのでしょうか?

658 名前:Name_Not_Found 投稿日:2005/07/26(火) 22:17:22 ID:???
ttp://www.condo.fromc.jp/flash/memo/index.html

ここのような完成形を見るをクリックしてでてくる小窓を、直接URLを入力することによって同じように小窓を出すにはどうすればいいのでしょうか?

659 名前:Name_Not_Found 投稿日:2005/07/26(火) 22:40:45 ID:???
ttp://www.condo.fromc.jp/flash/memo/index.html

ここのような完成形を見るをクリックしてでてくる小窓を、直接URLを入力することによって同じように小窓を出すにはどうすればいいのでしょうか?

660 名前:Name_Not_Found 投稿日:2005/07/26(火) 22:41:23 ID:???
ttp://www.condo.fromc.jp/flash/memo/index.html

ここのような完成形を見るをクリックしてでてくる小窓を、直接URLを入力することによって同じように小窓を出すにはどうすればいいのでしょうか?

661 名前:Name_Not_Found 投稿日:2005/07/26(火) 22:42:12 ID:???
ttp://www.condo.fromc.jp/flash/memo/index.html

ここのような完成形を見るをクリックしてでてくる小窓を、直接URLを入力することによって同じように小窓を出すにはどうすればいいのでしょうか?

662 名前:Name_Not_Found 投稿日:2005/07/26(火) 22:42:49 ID:???
ttp://www.condo.fromc.jp/flash/memo/index.html

ここのような完成形を見るをクリックしてでてくる小窓を、直接URLを入力することによって同じように小窓を出すにはどうすればいいのでしょうか?

663 名前:655 投稿日:2005/07/26(火) 22:49:36 ID:???
orz 重いと思ったら・・・

664 名前:Name_Not_Found 投稿日:2005/07/26(火) 22:54:53 ID:???
>>655
それは不可能


665 名前:Name_Not_Found 投稿日:2005/07/26(火) 22:58:24 ID:nbu8KNhp
うーん、2ch重い。。

666 名前:Name_Not_Found 投稿日:2005/07/26(火) 23:01:20 ID:???
>>662
var form = form要素;
として

form.onsubmit = function(){
var text = テキストボックスのinput要素;
var url = text.value;
window.open(url,"適当なウィンドウの名前","新規ウィンドウのパラメタいろいろ");
return false;
}

とか。

667 名前:Name_Not_Found 投稿日:2005/07/26(火) 23:06:54 ID:???
>>662
var form = form要素;
として

form.onsubmit = function(){
var text = テキストボックスのinput要素;
var url = text.value;
window.open(url,"適当なウィンドウの名前","新規ウィンドウのパラメタいろいろ");
return false;
}

とか。

668 名前:Name_Not_Found 投稿日:2005/07/26(火) 23:53:05 ID:???
みなさん多重書き込みですよ

みなさん多重書き込みですよ


669 名前:Name_Not_Found 投稿日:2005/07/26(火) 23:57:50 ID:???
みなさん多重書き込みですよ

みなさん多重書き込みですよ


670 名前:Name_Not_Found 投稿日:2005/07/27(水) 01:14:53 ID:OHHO2f8N
質問です。例えば文字列で
var line = "aa bb cc dd aa aa bb";
とあったとします。正規表現を使うのだと思いますが、この中に
重複して何個あるかを求めることはできますか。つまり、
aa=3,bb=2,cc=1,dd=1
のような出力を得たいのですが。アドバイスお願いします。

671 名前:Name_Not_Found 投稿日:2005/07/27(水) 01:19:20 ID:???
JavaScriptを使ってLineToを作ってみたんだけれど、
<DIV>でlineのピクセルを描くしか方法はないよね。

軽くアプリケーションを作ってみたら、
1万ピクセル(body直下に子要素が1万個)程度でクソ重くなった。
この方法だと残念ながら実用にはほど遠いな。

何かアイデアないですかね?

672 名前:Name_Not_Found 投稿日:2005/07/27(水) 01:20:29 ID:???
>>670
aa bb cc ddという文字列はあらかじめわかっているのか?

673 名前:Name_Not_Found 投稿日:2005/07/27(水) 01:24:59 ID:???
>670
正規表現を使いたいなら正規表現のスレで聞いてみたら?

674 名前:670 投稿日:2005/07/27(水) 01:27:49 ID:79IgUXKY
すいません。例が良くありませんでした。
var line = "dog cat dug dog pig dog cat";
でお願いします。これで、
dog=3,cat=2,dug=1,pig=1
を得たいです。

675 名前:670 投稿日:2005/07/27(水) 01:30:30 ID:???
>>672さん
はい。わかっています。

676 名前:Name_Not_Found 投稿日:2005/07/27(水) 01:36:52 ID:???
>674 例のどこが悪かったのかわからん。

たとえば、

function getPatternCount(target, pattern) {
var pos = 0;
var count = 0;
while(true) {
pos = target.indexOf(pattern, pos);
if(pos == -1) { return count; }
count++;
}
}

var line = "dog cat dug dog pig dog cat";
dog = getPatternCount(line, "dog");

とかではだめなの?上のコードは動かしていないので文法ミスやバグがあれば申し訳ない

677 名前:Name_Not_Found 投稿日:2005/07/27(水) 02:13:42 ID:???
異動でフィルタかかった会社に配置されて
久しぶりにここ北が
常連はもういなくなっちまったんだな。
レベル低・・・まぁ夏だし仕方ないか

漏れも夏厨が居なくなる9月くらいまで仕事に専念するよ
またな

678 名前:Name_Not_Found 投稿日:2005/07/27(水) 02:27:58 ID:???
またな。

679 名前:Name_Not_Found 投稿日:2005/07/27(水) 02:45:56 ID:???
>>671
Flashを使うとか、そういうのは駄目なんだよね。

680 名前:Name_Not_Found 投稿日:2005/07/27(水) 02:57:32 ID:???
レベルどうこうは知らんが、道場っぽい雰囲気は減ったかな。
そして、>>677は、そういう雰囲気が好きだったという事なのだろうな(Mなのか?
またな

681 名前:Name_Not_Found 投稿日:2005/07/27(水) 06:16:06 ID:???
>>646
newImg =new Object(document.createElement("img"));
って
newImg=document.createElement("img");
じゃまずいのか?なぜに新しいインスタンスを作ってるか知りたい。

前の方のスレでget/setAttributeなどは挙動が不安定なんであんまり使うなとか
怒られたことがあるが、今度作るときは、styleタグ内でCSSを弄くるやり方も
考えた方がいいよ。
createStyleSheet,addRuleなんかも参考になるかも。
http://east.portland.ne.jp/~sigekazu/css/javascript3.htm

682 名前:Name_Not_Found 投稿日:2005/07/27(水) 06:41:22 ID:???
正規表現でやりたきゃこういうことだろ。
alert('aa bb cc dd aa aa bb'.match(/\baa\b/g).length);

正規表現は、整体道場で>>480

683 名前:Name_Not_Found 投稿日:2005/07/27(水) 07:53:53 ID:???
>>674
対象は、dog,cat,dug,pig の4種類と決まっており、
各々の出現回数を知りたいのか、
それとも、場合によってはlion、tiger、...etc...
も加わり、全部で何種類であるかは実行時にならないと
分からないのかどっちだ

684 名前:Name_Not_Found 投稿日:2005/07/27(水) 08:57:15 ID:???
>>683
ちゃんと質問者の発言をピックアップして読め。それにもう彼は来ないだろ

685 名前:Name_Not_Found 投稿日:2005/07/27(水) 10:23:35 ID:???
" "でsplitして、sortしてうんぬん…の方が早そう。

686 名前:Name_Not_Found 投稿日:2005/07/27(水) 10:37:09 ID:???
>>671
SVGとか実験してみてクレ

687 名前:Name_Not_Found 投稿日:2005/07/27(水) 10:51:35 ID:???
>>686
出来れば多くのブラウザで使えるようにしたいところです。
SVGを使うならば、同じプラグインでもFLASHの方が普及しているので、
そちらを使ったほうが良いかもしれません。

一応の希望としてはHTML構造の上に落書きできるような描画方法です。
FF1.5の<canvus>なども、他のブラウザで同じ事がエミュレートできる範囲でなら
使ってみるのもいいかもしれませんね

688 名前:Name_Not_Found 投稿日:2005/07/27(水) 11:33:33 ID:???
正規表現スレだと tr して length で割れという回答しか来ないだろう。

689 名前:Name_Not_Found 投稿日:2005/07/27(水) 11:40:23 ID:???
ひょっとして正規表現スレを馬鹿にしてる?

690 名前:Name_Not_Found 投稿日:2005/07/27(水) 12:06:41 ID:???
>>689
Perl主導という意味だ

691 名前:Name_Not_Found 投稿日:2005/07/27(水) 12:11:07 ID:???
>>687
u? canvas?
typo はともかく、本題へ。HTMLソース(文字列)で処理してるか?
ある要素の内容全てを新規作成する場合、
DOM-Core なやり方を採る意味は無い。
10000くらいなら1、2秒で描画しちゃうだろ。
ループ { s += '<div class="hoge"><\/div>' }
// 特にJScriptで遅い。時間が長い短いの差はあるが固まる。
ループ { a[ a.length ] = '<div class="hoge"><\/div>' } s = a.join( '' )
// まだ遅い。
s = new Array( 1 + 10000 ).join( '<div class="hoge"><\/div>' )
// 最速。

要素の内容に追加する場合でも、
Element#insertAdjacentHTML, Range#createContextualFragment,
DOMDocument#loadXML, DOMParser#parseFromString
など、思いつくだけでもいくつか専用の独自拡張メソッドがある。
とりあえず、テンプレにもあるように、その遅いコードを書いとけば
とっくに解決してそうな気がする。

692 名前:Name_Not_Found 投稿日:2005/07/27(水) 13:15:21 ID:???
>>691
俺も似た様な経験をしたことがあるけれど、まず、
s = new Array( 1 + 10000 ).join( '<div class="hoge"><\/div>' )
これは普通何の意味も持たない。
divを単純に1万個作ればいいわけではなく、普通それぞれのstyleを変える必要があるからね。

次に、
Element#insertAdjacentHTML, Range#createContextualFragment,
これらを使うよりDOM構造を使ったほうが早いことが多い。
単純なDOM操作だとIEで遅くなるんだけれど、cloneNode(true)を使えば
文字列パースより断然に速い。

DOMDocument#loadXML, DOMParser#parseFromString
ここら辺を提示するってことは根本的に勘違いしていそうだな。

693 名前:Name_Not_Found 投稿日:2005/07/27(水) 13:17:50 ID:???
どのブラウザでも使えるようにって言っているんだから、
Element#insertAdjacentHTML, Range#createContextualFragment,
ここらを使っちゃいけないんじゃないの?

694 名前:Name_Not_Found 投稿日:2005/07/27(水) 13:40:56 ID:???
なんでみんなそんな真面目に考えてるんだw

PHP/Perl の GDライブラリ などと連携して、データから適宜画像を出力して、HTMLに埋め込んだり、
何らかの方法で FLASH にデータ渡したら、その FLASH がそのデータに沿って図形を描画してくれたり、
そういうのを探したり作ったりした方がいいんじゃないのか。

HTML (つまりテキスト文書) で図形描写しようなんて、効率がいいとはとても思えない。
AA作成JSでも作った方がまだいいよ。

695 名前:Name_Not_Found 投稿日:2005/07/27(水) 14:07:57 ID:???
>>691
canvasでしたか。typoというか間違ってスペル覚えていました。

とりあえず作ったものを提示してみます。
ttp://void-main.org/spline/more_smooth_version.html
IE5、Opera7、NN7、Mozilla1.4、FF1.0、Safari1.3で動作確認していますが、
Mozilla系ではブラクラ並に重くなるのでお勧めしません。

696 名前:Name_Not_Found 投稿日:2005/07/27(水) 14:35:51 ID:???
>>695
すげー

697 名前:Name_Not_Found 投稿日:2005/07/27(水) 14:50:12 ID:???
DIVの出力やHTMLのパース部分を速くすることは出来るかもしれないけれど、
出来上がった構造がCTRL+Aでクソ重くなるのはもうJavaScriptではどうしようもないね。

698 名前:Name_Not_Found 投稿日:2005/07/27(水) 15:06:05 ID:???
おもろいな

でもうっかりドラッグしたら凍ったw
せめて onselectstart を false するようにするとかー。 (IE)

699 名前:Name_Not_Found 投稿日:2005/07/27(水) 16:10:35 ID:dsHHylns
innnerHTMLを使うとタグ付き文章を扱えて便利なんですが、DOMのようにノードを動的に増やしたり減らしたりできなくて不便です。<span>のところにタグ付き文章を動的に増やしたり減らしたりするにはどうすれば良いですか?

700 名前:Name_Not_Found 投稿日:2005/07/27(水) 16:18:41 ID:???
>>699
そのspanに一意的なID振って
document.getElementById('ID名').innerHTML = ...
でいいんでわ?

701 名前:Name_Not_Found 投稿日:2005/07/27(水) 16:20:21 ID:???
>>698
ページに「Never to try」と書いてあることをわざわざ試すお前はエンジニアとしてかなり優秀だな

しかし、>695はいい問題を提示してくれたな。これでドラッグが解決できれば面白そうだ。

702 名前:699 投稿日:2005/07/27(水) 16:28:26 ID:dsHHylns
>>700
document.getElementById('ID名').innerHTML = ...
だと1回... を追加してしまうと終りですよね?
<span>の所に... を沢山追加したり、減らしたりしたいんです。

703 名前:Name_Not_Found 投稿日:2005/07/27(水) 17:04:53 ID:???
>>702
追加したり減らしたりする文字列全部を毎回innerHTMLで
食べさせるかDOM使うか。どっちも嫌なんて我儘と思うな。

704 名前:Name_Not_Found 投稿日:2005/07/27(水) 17:59:09 ID:???
innerHTML += ... を知らないだけだったりして。

705 名前:Name_Not_Found 投稿日:2005/07/27(水) 18:29:50 ID:???
695です、皆さん反応ありがとう。
でも、重いのを何とかするというのはやはり現状のブラウザでは出来ないみたいですね。
こういう描画が出来れば色々と面白いだろうと思ったのですが、別の方法を考えてみます。
次はJavaScriptを使ってAppletやFlashと通信する方法を考えてみようかな。

706 名前:Name_Not_Found 投稿日:2005/07/27(水) 18:53:24 ID:???
もの凄く初歩的なことだと思うのですが、質問させてください、宜しくおねがいします。

if 等の条件分岐などで、{ } の省略ができますよね。
続く命令が1文のみである時に { } が省略できると教わったのですが、
それはつまり、裏を返して、{ } が省略されている場合は、
if 等の後に続く1文のみがその条件分岐の対象であると考えて問題ないのでしょうか?

例えば、以下のように記述されていた場合、

if(xx = yy) 命令1; 命令2;

以下のようになるのかなと認識しているのですが、間違っていないでしょうか?

if(xx = yy) {
 命令1;
}
命令2;

707 名前:Name_Not_Found 投稿日:2005/07/27(水) 19:09:55 ID:???
>706 その通り

708 名前:Name_Not_Found 投稿日:2005/07/27(水) 19:18:41 ID:???
>>707
>>706です、ありがとうございます。
自分でも適当なスクリプトでテストしてみて、考え方は大丈夫だろうと思ってはいたのですが、
まだ勉強を始めたばかりで自信がなくて質問させてもらった次第でした。

精進します。

709 名前:Name_Not_Found 投稿日:2005/07/28(木) 08:08:01 ID:???
ポップアップさせる画像の位置をマウスの場所などに関係なく
常にディスプレイの同じ場所に表示させることはできますか?

710 名前:Name_Not_Found 投稿日:2005/07/28(木) 08:35:02 ID:???
その画像の「ポップアップ」をどうやってるか考えてみると…

711 名前:Name_Not_Found 投稿日:2005/07/28(木) 08:55:34 ID:???
>>695
var i = 0; var j = 0; var c = 100; var b = true;
do { if (b) { j++ } else { j-- } } while ( ++i < c );
// b == true は一度判定すれば済む。99回が不要。
if (b) { do { j++ } while ( ++i < c ) }
else { do { j-- } while (++i < c) }
とりあえずこういうかんじの箇所が目に付いた。
これだけを直しても劇的に速くなることは無いが。

>>705
> 重いのを何とかするというのは
> やはり現状のブラウザでは出来ないみたいですね。
率直に言うが、上記のような即座に目に付く「無意味な無駄」
を含むコードを書く人間のセリフじゃない。

712 名前:Name_Not_Found 投稿日:2005/07/28(木) 08:56:25 ID:???
>>699

innerHTMLかなりルーズな使い方できるんで、
あまり肩肘波瀾でも

document.body.innerHTML='<div>こんな<span>感じ</span>にね</div>';
var span = document.getElementsByTagName('span')[0];
var str = span.removeChild(span.firstChild);
//var str = span.innerHTML,span.innerHTML='';
span.innerHTML+='<span>ふうな</span>';
span.innerHTML+='<span>感じ</span>';
//span.appendChild(document.createElement('span').appendChild(document.createTextNode('感じ')));
var span2=document.body.appendChild(document.createChild('span'));
span2.innerHTML='いくらでもできる';
alert(document.body.outerHTML);

713 名前:Name_Not_Found 投稿日:2005/07/28(木) 09:00:08 ID:???
>>704
<div id="D"><p id="P">p</p></div>
var a = document.getElementById( 'P' );
document.getElementById( 'D' ).innerHTML += '<p>q<\/p>';
var b = document.getElementById( 'P' );
alert( a == b ) // false
document.getElementById( 'D' ).insertAdjacentHTML( 'beforeEnd', '<p>r<\/p>' );
var c = document.getElementById( 'P' );
alert( b == c ) // true

714 名前:Name_Not_Found 投稿日:2005/07/28(木) 09:12:00 ID:???
>>711
意味不明

715 名前:Name_Not_Found 投稿日:2005/07/28(木) 09:14:07 ID:???
>ディスプレイの同じ場所に表示
まあ開いてる窓(ウィンドウ)の中のことだと思うが、
表示サイトの作り方にもよるよ。
フレーム分けして別フレームの固定位置なのか?
そこに同一フレーム内で何か表示されていようが関係なく
重なり上等で、○○の位置に無理やり表示するのか?

文字通りに「ディスプレイ」を解すると
メニューバーのヘルプ(H)の横ぐらいに画像を入れられるかとかなら
俺はわからないw

716 名前:Name_Not_Found 投稿日:2005/07/28(木) 09:16:55 ID:???
>>692
> divを単純に1万個作ればいいわけではなく、
> 普通それぞれのstyleを変える必要があるからね。
からかってんのか? 少子化ゆとり?
>>695の init() を例にして、一応釣られてやるが……。
あれが20じゃなしに2000だったら、JScriptで固まるかもしれないわな。
ああいうのは、
function r () { return i++ }
var s = new Array( 1 + 2000 ).join( '...X...Y...Z...' );
var
i = 0; s = s.replace( /X/g, r );
i = 0; s = s.replace( /Y/g, r );
i = 1; s = s.replace( /Z/g, r );
...innerHTML = s;
みたいにすればいいじゃないの。
あるいは、
var i = 0; var I = 2000 * 3; var n = [ ]; while ( n.push( i, i, ++i ) < I );
みたいにして [ 0, 0, 1, 1, 1, 2, ... , 1999, 1999, 2000 ] を作っておいて、
function r () { return n[ i++ ] }
i = 0;
...innerHTML = new Array( 1 + 2000 ).join( '...N...N...N...' ).replace( /N/g, r );
のようにしてもいいじゃないの。

> cloneNode(true)を使えば文字列パースより断然に速い
1万あっても? 断然? ちょっと工夫すれば長大な文字列連結を
JSのループでやらなくても済ませられる場合が少なくないのに?

> 勘違い
これは全くもってその通りで、幅と高さをCSSで明示したブロックボックスに
1x1 の インライン画像とかフロートとかをタイル状に敷き詰めて、
それの色を変えて線を描く、というものをイメージしていた。

717 名前:Name_Not_Found 投稿日:2005/07/28(木) 09:18:29 ID:???
var D = document.getElementById( 'D' ).innerHTML += '<p>q<\/p>';
var b = D.firstChild;
1回1回検索せんでも・・・

718 名前:Name_Not_Found 投稿日:2005/07/28(木) 09:25:29 ID:???
>>714
do { if (incrementX == 0)
という無意味に無駄な数千回がいきなりあるだろ。
こういうのは、
if (incrementX == 0) { do {
みたいに入れ子を逆にするんだ。判定が一度だけで済む。
同じようなループを if の分岐の数だけ書いてコードが長くなるとかは問題じゃない。
長くなるのが嫌なら、function hoge (..) { do { .. } while (..) } みたいにすればいいわけだ。

719 名前:Name_Not_Found 投稿日:2005/07/28(木) 09:29:52 ID:???
>>717
js> var a = 'a' += 'b'
101: SyntaxError: invalid assignment left-hand side:
101: var a = 'a' += 'b'
101: ............^

720 名前:Name_Not_Found 投稿日:2005/07/28(木) 09:36:18 ID:???
なんか716とか718とかが痛々しいほど勘違いしているのだが、
695は「表示部分を速くする事は可能」と言っていて、
小手先のテクニックで速くする事なんて望んでないんだよ。
完全に質問の意図を誤解してるくせにえらそうで、見てらんない

695の質問はな、「出力されたHTMLが重すぎて、
IEでCTRL+Aとかすると落ちてしまうので困っている」というものだ

それに速くするなら、実際に695と同じ処理をするソースコードを
提示して言ってみろ。半分以上時間を縮められたら認めてやるよ。
その程度の知識で出来るはずもないだろうけどな

721 名前:Name_Not_Found 投稿日:2005/07/28(木) 09:39:15 ID:???
>>720

> それに速くするなら、実際に695と同じ処理をするソースコードを
> 提示して言ってみろ。半分以上時間を縮められたら認めてやるよ。

懐かしの、アスキーの付録「論よりRUN」を思い出した(笑)

722 名前:Name_Not_Found 投稿日:2005/07/28(木) 09:44:56 ID:???
>>671関連で加熱してるけど、
もっと低レベルなところからapiとか作らなきゃ根本的にはダメなんじゃないか?
最終的な表示には、
表示に使うHTMLのタグ
これを操作するJavascript
これを拡張するDOM
というようにappenChildとかやる時に2重3重と回りくどいことを裏でやってるんだと思う。
結果的にその処理が何万回と重なるから遅いのでは?

なんで、直接各UAごとになるが直接点を描くところのプログラムから
引っ張ってこないと、根本的な早さの解決にならないと思われ。

お絵描きぐらいならJavascriptにこだわらなくても
アプレット使った方が早いような・・・

熱意のある方が、ドエロければがんばってみてホスィ
遂行にはかなりの知識と忍耐とどうしようもない性欲が必要。

723 名前:Name_Not_Found 投稿日:2005/07/28(木) 09:48:50 ID:???
>>719
はっしょったのが裏目にでた。
要は、
そこから子ノードを持ってきた方がいいのではということ
大して変わりはないのかね。

724 名前:Name_Not_Found 投稿日:2005/07/28(木) 09:55:20 ID:???
>>722
それで速くなったとして、その結果できたHTMLが重くて使えなければ
すべての努力が水泡に帰すんじゃないかと思うな

>>723
読みにくいコードを書くのは恥だよ

725 名前:Name_Not_Found 投稿日:2005/07/28(木) 11:51:39 ID:???
>>724はいつもその名文句を残すが
今回は大して変わらんのおもうがな。

idで逝きたいなら、.innerHTML+=<p id='Q'>・・・にしないのかと?
サンプルだけならともかく、それを実用に持ってくには不親切なのでは。
わからん奴が「そのサンプルでqを求めるにはどうしたらいいですか?
getElementByIdだと・・・」とか言い出しそう。

726 名前:Name_Not_Found 投稿日:2005/07/28(木) 12:04:33 ID:???
>>725
724ではないが、君は日本語も読みにくいな。

727 名前:Name_Not_Found 投稿日:2005/07/28(木) 12:13:58 ID:???
ああ、荒れつつある。ここはお互いこらえろ

695のページが現在の焦点だな?とても綺麗なソースコードじゃないか。
・描画を速くする
・描画した後にCTRL+Aを押しても落ちないようにする
この2つが課題なんだな。

で、描画を速くする方法は>>720で言われているようにまだ誰も提示できていない。
描画した後にCTRL+Aを押して落ちる問題も解決していない

今のところのまとめはこうだな。揚げ足を取らずに質問を解決していこうぜ

728 名前:709 投稿日:2005/07/28(木) 13:45:22 ID:???
>>715
開いてるウィンドウの中です。わかりにくくてすみません。

同じフレームの中で右下などに表示させたいんですが…

729 名前:Name_Not_Found 投稿日:2005/07/28(木) 20:57:43 ID:???
Ajax特集があったのでJava Worldを立ち読みしたが、ひどい内容だった。
・JavaScriptを長時間使うとブラウザがハングアップする
とか書いてあって、もうアホかと。

730 名前:Name_Not_Found 投稿日:2005/07/28(木) 22:09:58 ID:???
この程度で荒れてるとは・・・
663(だっけ?)を、無視設定云々ぐらいになって ああ、荒れてるなぁ だろうが。
ここは罵り合いながらお勉強していく場ですよw

それはともかくだ
709は、同一フレームなら開く側を絶対値で指定すれば良いのでは?
これに関してはCSSか何かと一緒にググれば出てくるはず。

あとは、スクロールなりしてもこれと重ならないように
HTMLを設計するだけ。それが問題だと思うのだけど。


731 名前:Name_Not_Found 投稿日:2005/07/29(金) 14:28:32 ID:???
>>729
具体的にどんな内容なの?知ってる香具師教えて。

732 名前:Name_Not_Found 投稿日:2005/07/29(金) 15:07:29 ID:???
>>731
俺も軽く立ち読みしただけだけど、
なんかJavaをサーバサイドに使うのを前提にしていて、
それはいいとしてもクライアントにMVCモデルをどうこうとAjaxとは関係のないことばかり書いてあり、
著者(確か日本人だった)がAjaxを知らないことが浮き彫りになっていた気がする。
XSLTを知らないとAjaxは使えないんだってさ。XML知らなくてもその気になれば使えるのにね。

733 名前:Name_Not_Found 投稿日:2005/07/29(金) 22:25:52 ID:???
>>732

Java と J(ava)Script を混同してるのか?


734 名前:Name_Not_Found 投稿日:2005/07/29(金) 23:22:06 ID:???
その本は、読んで無いけど
Model = WebService
View = HTML
Controller = JavaScript
と考えると、結構納得してしまうま。

ViewとControllerを、ブラウザの代わりに
.NETなクライアントで作っても良いし、
やる気は無いが、Viewの部分をHTAに変更すれば
セキュリティ無視して結構な事が出来そうな予感。。

Ajaxでは無いけど、マスタメンテ系のアプリを、
上記の考え+XmlHttp同期モード+iE専で作成したら、
一切Submitしなくて良くすっきりしたよ。

ブラウザがハングアップするかと言われたら、
重い処理動かすと、たまに落ちるね。
クライアントだから、まぁ実用レベルっしょ。
( ´ー`)y−~~


735 名前:Name_Not_Found 投稿日:2005/07/30(土) 00:01:33 ID:???
読んでみた。確かにひどかったが、まぁキーワードを知らしめるくらいの効果はあった
Ajaxを利用してMVCモデルを作るのは良いとしよう
しかしAjaxの説明記事でMVCモデルを書くのは意味がわからんな

736 名前:Name_Not_Found 投稿日:2005/07/30(土) 21:49:32 ID:???
おいおい、皆さん忙しいのですか?只只引いてるのですか?
いきなり静かになるもんな。
わからない話題はスルーで良いし、煽られても無視無視!

まあ、なんというか

次の質問どーぞ。

737 名前:Name_Not_Found 投稿日:2005/07/31(日) 03:35:36 ID:uVkyNA2k
助けてください。
閲覧者の画面サイズ(解像度)によってインラインフレームの高さを変更したいんですが、
iframeのサイズを指定する方法がわかりません。

もしわかる方いましたら、教えてください。宜しくお願いします。

738 名前:Name_Not_Found 投稿日:2005/07/31(日) 07:46:31 ID:???
>>737
解像度を調べるプロパティがあるので検索しなさい

739 名前:Name_Not_Found 投稿日:2005/07/31(日) 08:37:50 ID:???
viewport (閲覧領域) に合わせるならそれなりに意味があるだろうけど、
画面のサイズや解像度に合わせる意図って何?

印刷物じゃないんだから解像度なんて測ったところで何の意味もない。
プロジェクタだったら置く場所によって実際のサイズは変わるでしょ。

740 名前:Name_Not_Found 投稿日:2005/07/31(日) 12:21:20 ID:IkkfUiNZ
>>737
javascriptを使う必要がないと思われ。
ただたんにheight=○% width=●%だけでいいんじゃないか?

741 名前:Name_Not_Found 投稿日:2005/07/31(日) 12:59:50 ID:???
>>740
>>質問者は「解像度」って言ってる
それじゃ閲覧領域で影響する

742 名前:Name_Not_Found 投稿日:2005/07/31(日) 13:04:18 ID:???
言葉遊びは他所でやれよガキ

743 名前:Name_Not_Found 投稿日:2005/07/31(日) 14:52:11 ID:gUQZMEuR
document.write内にCSS使ってsrcタグにjavaで作った変数って入れられないですよね?
背景固定でランダム背景にしようと思うのですが。
ranimg = new Array();
ranimg[0]="test.jpg";
xx = Math.floor(ranimg.length*Math.random());
ranimg = ranimg[Math.floor(xx)];
document.write('<style type="text/css">
body {
background-image: url("'+ ranimg +'");
}
');
宜しくお願いします。

744 名前:Name_Not_Found 投稿日:2005/07/31(日) 15:28:16 ID:???
>>743
document.write() を使いたい理由は?

745 名前:743 投稿日:2005/07/31(日) 15:35:22 ID:???
自分の知ってる範疇じゃJAVAでランダム作ってCSSで固定させる。
ってのしか思いつかなかったんですがやっぱりもっといい方法を探してみた方が良いでしょうか?

746 名前:Name_Not_Found 投稿日:2005/07/31(日) 15:47:08 ID:???
>>745
とりあえずJavaとJavaScriptの区別がつくようになってください

747 名前:Name_Not_Found 投稿日:2005/07/31(日) 15:47:55 ID:???
http://bf2s.com/player/Beagle/
ここにある表みたいに、並び変えたいのですが
保存してやってもエラーでクリックしても正常に動いてくれません。
必要最低限なファイルはどれどれなのでしょうか?

748 名前:743 投稿日:2005/07/31(日) 15:52:59 ID:???
>>746
すいません!焦ってました。
一応、document.write()にしとけば
CSSやらHTMLのものがそのまま持ってこれるから楽かなとか思ったもので。
もちっと修行してきます。有賀とうございました。

749 名前:Name_Not_Found 投稿日:2005/07/31(日) 18:19:24 ID:???
>>743
addRule() とかのがいいよtabun。

750 名前:743 投稿日:2005/07/31(日) 19:36:22 ID:???
>>749
そんなのが有るんですか。ちょっとやってmimasu.

751 名前:Name_Not_Found 投稿日:2005/08/01(月) 00:30:51 ID:???
テキストエリアにフォーカスしている時 Alt + P で <p></p> とテキストエリアに打ち込ませたいのですが、 JavaScript で可能でしょうか?
また、可能ならどのようにスクリプトを記述すればいいのでしょうか。

ご教授くださるとうれしいです。

752 名前:Name_Not_Found 投稿日:2005/08/01(月) 00:49:37 ID:???
innnerHTMLとが調べで見よう

753 名前:Name_Not_Found 投稿日:2005/08/01(月) 00:51:04 ID:???
多分可能。ためしてないけれど。

ALT+Pを取得するには、onkeydownなどでKEY_CODEをチェックすれば出来ると思う。
問題は現在のテキストエリアのカーソルの位置を取得する方法だけれど、
ブラウザによって方法は変わるかもしれないけれど確か出来たと思う。
選択範囲の取得みたいなAPIを使って得るんじゃなかったかな

754 名前:Name_Not_Found 投稿日:2005/08/01(月) 01:12:28 ID:???
会社のPCはスクリプトでのコピペを許可してないので、>>751のスクリプトは使えない気がする

755 名前:Name_Not_Found 投稿日:2005/08/01(月) 01:23:09 ID:???
>>754
そんな設定が出来るの?
というか、コピペではなくて挿入だと思うんだけど

756 名前:Name_Not_Found 投稿日:2005/08/01(月) 03:14:12 ID:???
インターネットオプション→セキュリティ→レベルのカスタマイズ→スクリプトによる貼り付け処理の許可

クリップボードに文字列を送って、ペーストが早いかなと思っただけだけど、できるかどうかはわからない

757 名前:Name_Not_Found 投稿日:2005/08/01(月) 11:13:55 ID:???
phpBBの書き込みフォームにそんな仕掛けがあった希ガス。

758 名前:Name_Not_Found 投稿日:2005/08/01(月) 16:27:16 ID:???
>>747のサイト逝ったけど
クライアントサイド(ユーザーのコンピュータ上)で
変更されてるような表が見当たらないんだけど、
LookUpStatus云々の変更は、PHPで処理して
画面全換えっぽいけどこのことかな?

画面変更するだけならJavascriptで同じことはできるよ。
Javascript一通り機能を学べ。それですぐ分かると思う。

違うなら、書き直して。(まだいればだが)

759 名前:Name_Not_Found 投稿日:2005/08/01(月) 16:54:36 ID:???
ああ、勘違い。表の項目クリックできるんだ。

ここのサイトのやり方か分からんが、こういうことで出きるのでは?

<table id='table1'><tbody>
<tr><td>1</td><td>a</td><td>z</td></tr>
<tr><td>2</td><td>b</td><td>y</td></tr>
<tr><td>3</td><td>c</td><td>x</td></tr>
</tbody></table>


var tb = document.getElementById('table1').getElementsByTagName('tbody')[0];
var tr1 = tb.childNodes[0];
var tr2 = tb.childNodes[1];
var tr3 = tb.childNodes[2];
var con1 = tr1.childNodes[0].innerHTML;
var con2 = tr2.childNodes[0].innerHTML;
var con3 = tr3.childNodes[0].innerHTML;
var ar ={con1:tr1,con2:tr2,con3:tr3}
//並べ替えは、お好きなように。省略。今回はcon3→con2→con1
tb.innerHTML='';
tb.appendChild(ar[con3]);//ar[con3]==tr3;
tb.appendChild(ar[con2]);
tb.appendChild(ar[con1]);
動くか試してないニヤリ

760 名前:Name_Not_Found 投稿日:2005/08/01(月) 22:08:52 ID:???
てーか innerHTML とかつかわんでも、その tr ノードを、並び替えるだけで済むんじゃないのか。

あと質問は、「script 教えて」 じゃなくて、「ファイル教えて」、なんだが。

761 名前:Name_Not_Found 投稿日:2005/08/02(火) 09:20:47 ID:???
ファイル教えてだけど、ファイル開けなかったんじゃなかったっけ?
まあどうしてもやりたいなら、こうやってやれてきなレスデスタ

次の質問どーぞ。

762 名前:Name_Not_Found 投稿日:2005/08/02(火) 09:34:23 ID:???
ファイル落とせるじゃん。nt.jsじゃないの?
出来ないのは、ちゃんとした場所に保存してないからと見た。
ヘッダをよーく見て、参照されている場所と自分の保存場所を照合せよ。
ヘッダかえるか保存場所修正すれば逝きそうな悪寒。

763 名前:Name_Not_Found 投稿日:2005/08/02(火) 11:23:51 ID:???
>>720
> それに速くするなら、実際に695と同じ処理をするソースコードを
> 提示して言ってみろ。半分以上時間を縮められたら認めてやるよ。
> その程度の知識で出来るはずもないだろうけどな

半分、というか、一桁短縮しましたよ?
どこまでおんぶにだっこなんだよ。
十分過ぎるヒントを与えてやっただろ。
お前の人並み程度のIQでも大丈夫なように。

764 名前:Name_Not_Found 投稿日:2005/08/02(火) 11:35:14 ID:???
>>720
> 695の質問はな、「出力されたHTMLが重すぎて、
> IEでCTRL+Aとかすると落ちてしまうので困っている」というものだ
読み直したが違うじゃん。
速くしたいが最優先事項だろ。

765 名前:Name_Not_Found 投稿日:2005/08/02(火) 12:03:46 ID:???
>>720
何故か必死に俺を貶めようとしてるが、まあ、無能に起因する
お門違いな嫉妬とみなして許してやるよ。
泣く赤子をあやすような広い心で(笑)。

とにかく、お前の頭を使ってやってみろよ。
気が向けばアドヴァイスしてやらんこともない。

計算部分で、三乗や二乗を2000回やっているのを1000回にしたら、
効果は明らかにある。しかし、微々たるものだ。
計算部分で、1000回やっている割り算が気になるCプログラマが
いるかもしれないが、JSは割り算も足し算も一様に遅いし、
ほとんど改善の余地は無い。

何度も言うが、最大のネックはJSのループで逐次DOMを操作してるところ。
JSのループ無しで長い文字列を作る術は簡単な応用込みで与えてやっただろ。
それを使って一気に書き出せ。

766 名前:Name_Not_Found 投稿日:2005/08/02(火) 12:11:08 ID:???
>>720
あと、お前の最大の間違いは、
ループ1万回 { appendChild cloneNode }
ループ1万回 { insertAdjacentHTML }
の速度比較にすがっているところだ。

何度も言うが、JSのループがいらないんだよ。
お前の悪い頭ではJSのループが必要な部分でも、
例示してやったように簡単な工夫で回避できるわけだ。
ループ1万回{ appendChild cloneNode }
insertAdjacentHTML( ..., 内部で作ったループ1万回相当の文字列を一気)
もう、しゃれにならんくらい後者が速いわな。

767 名前:Name_Not_Found 投稿日:2005/08/02(火) 12:18:51 ID:???
なんでいまごろ一週間前の発言に必死になっているんだ…?

768 名前:Name_Not_Found 投稿日:2005/08/02(火) 12:43:28 ID:???
それは1週間詳しい人に教えてもらって宝

769 名前:Name_Not_Found 投稿日:2005/08/02(火) 12:45:36 ID:???
終わった話題をぐちぐちと・・・

770 名前:Name_Not_Found 投稿日:2005/08/02(火) 20:28:47 ID:???
>>763-766
カワイソス

771 名前:Name_Not_Found 投稿日:2005/08/03(水) 03:48:51 ID:WT5Jnb/g
過去ログを読み直してこの件は触れられていませんでした。
(話題になりそうでならなかったケースはありました)

写真ギャラリー
枚数>450枚(それぞれにショートコメント付き)
画像サイズ>一定(500*350px)

1.htmlがあったとき、「次へ」というボタンがあります。
押すと2.htmlにいきます。
そこからは前へ・次へで移動します。

例えば5.htmlなら 前へは4.htmlに、次へは6.htmlへいきますが
400枚オーバーのギャラリーなので400.htmlというのも大変な気がします。
こういった処理をjavascriptでおこなえないものでしょうか?
一括処理は無理でも、前へと次へをjavascriptで出来ればかなり
楽になると思うのです。

どうかアドバイスをお願いでないでしょうか?




772 名前:Name_Not_Found 投稿日:2005/08/03(水) 05:17:45 ID:???
どうしたいのかよくわからんのだが。
450個のHTML作んないで JS で一括制御したいってことか?

773 名前:771 投稿日:2005/08/03(水) 06:23:33 ID:???
>>772
どうも、ありがとうございます。

1.htmlから450.htmlまでつくってそれぞれ「前へ」と「次へ」の
リンクでつなげるというものですが、これをjavascriptで作業を
短縮できないか…ということなのです。
出来ればギャラリーとしてみせるソースをテンプレートのようにして

1)次へを押すと「今のurl」に1を足して移動(1.htmlなら2.htmlに)
2)同様に「前へ」を押すと1を引いたurlに移動。
と考えています。

それが出来れば450枚のページ作りも楽できるだろうなという考えです。
いかがでしょうか?


774 名前:Name_Not_Found 投稿日:2005/08/03(水) 07:03:08 ID:???
location.href から次のページへのリンクと前のページへのリンクを自動生成して document.write する
外部スクリプト作って各ページで使い回せばいいんじゃね?

ただ JavaScript 無効で閲覧不能になるんならフレーム使った方が良いような肝するがな。

775 名前:Name_Not_Found 投稿日:2005/08/03(水) 08:11:10 ID:???
1.htmlとかよりは、1.jpgにして画像だけ書き換えた方が良い様な希ガス
html450枚作るなら、前へ次へつけるのも手間はそんなに変わらんキモス
DWあたりのテンプレートでhtmlの名前を取得する事できなかったろうか?
それができれば、作業はかなり楽になるが
そうじゃなくても、なんかのスクリプトでhtml自動生成かな

と言うか、ショートコメント月なのね
ま、jsで書き換えるのもできない話じゃない屋根

ななしの言う様に、js無効で見られなくなると言うのはどう考えてる?

776 名前:Name_Not_Found 投稿日:2005/08/03(水) 08:20:32 ID:???
>>773
イメージが変わるだけならページを書き直さなくても <img> の src を
変更するだけでいいんじゃないの?
極端な場合だと HTML と JavaScript ソースは一枚で済む。

コメントの部分は配列として JavaScript ソースに埋め込んでおいて、
HTML の一部を書き換えるとか。NN4 ならレイヤー使え。

ただ、この手のものに関しては CGI が使えるなら CGI で生成した方が
断然簡単だと思う。クライアント環境に依存しないし。

777 名前:Name_Not_Found 投稿日:2005/08/03(水) 09:18:55 ID:???
そこまで言ったんだったら、とりあえず、
http://〜〜/hoge.html?400 で 400.jpg と 400番目のコメントが出るようなやつ作ってやってくれ。
前へ と 次へ も付きで。

でも JS じゃー web検索にはひっかからないよなあ。
考えてないならいいのだけどサ。

778 名前:Name_Not_Found 投稿日:2005/08/03(水) 09:51:18 ID:???
あとは comments.js でずらーっと配列にコメント入れておけば好きなように作れるね
(スレ違いだけど)Perlとかでhtml沢山生成させるのも悪くない手だと思う

779 名前:771 投稿日:2005/08/03(水) 11:21:35 ID:???
みなさんどうもです!

考えてたよりも難しそうですね(私には)
javascript無効時の問題は、賛否両論あるかとは思いますが今回は無視します。

CGIでという手段があるのですね。
確認したところ、CGI.PHPともにOKだそうです。
障害者支援のボランティア団体のギャラリーでして、あまり詳しくない私が
即担当になってしまうようなレベルです。
ただ今夏にあるイベント前に過去のギャラリーを見せて行きたいという意向から
出た話なのです。
途中まで一つ一つやっていたら案の定、リンク間違いが出たりして
ヘロヘロになってしまいました。
画像毎に違うコメントがつくのでスライドショー的なjavascriptでは
対応できず困っていました。
cgiという線で一度探してみます。
良いアイデアを頂戴しました。
どうもありがとうございました。


780 名前:Name_Not_Found 投稿日:2005/08/03(水) 11:25:55 ID:???
オマイラ、ネタなさすぎでこんな話題どこまでもひっぱるんのか?
ホレ氏も低レベル(頭の良し悪しの方)でホレしないってか?

とにかくだ。
云々言う前にソースシコッテ出せや。
話題が発展せんぞ


781 名前:Name_Not_Found 投稿日:2005/08/03(水) 11:28:14 ID:???
つ〜ことで、ホレ氏に代わってホレ。
画像はこのファイルと同じ階層で作ってみためんどいから。
<html><head><script language="Javascript">
<!--
var cnt = 1;
function chgJPG(element){
if(element.value=='前'){
(cnt==1)?cnt:cnt--;
setJPG();
}else if(element.value=='次'){
(cnt==400)?cnt:cnt++;
setJPG();}}
function setJPG(){
var target = cnt.toString() + '.jpg';
document.getElementsByTagName('img')[0].src=target;}
//-->
</script></head>
<body onload="setJPG()">
<img src=""><br>
<input type="button" value="前" onmouseup="chgJPG(this)">
<input type="button" value="次" onmouseup="chgJPG(this)">
</body></html>

782 名前:Name_Not_Found 投稿日:2005/08/03(水) 11:40:39 ID:???
>>781
その頭の悪そうな言葉遣いを何とかしてからもう一度来てください

783 名前:Name_Not_Found 投稿日:2005/08/03(水) 12:05:13 ID:???
ここは「Javascript質問スレッド」から「Javascript雑談スレッド」へ変わったようです。

784 名前:Name_Not_Found 投稿日:2005/08/03(水) 12:28:41 ID:???
Javascriptは知らないけどJavascriptならわかるよ

785 名前:Name_Not_Found 投稿日:2005/08/03(水) 14:17:56 ID:J85VExbS
ヤフオクの検索機能をつけたいのですが、

<form name="key"><input name="word"></form>
<input type="button" value="serch" onclick="window.open('http://search.auctions.yahoo.co.jp/jp/search/auc?p='+key.word.value,'_blank');return false;">
としたのですが、当然英数字の検索は出来ますが、日本語検索が出来ません。

encodeURIComponent(key.word.value)
escape(key.word.value)
と変えても駄目です。

制約として
1行目の
<form name="key"><input name="word"></form>
部分は変更しない。
簡単に言うと、
他フォームのテキスト文字を使って、ヤフオク検索する別窓を起動するボタンを作りたい。

何かよい方法を教えてください。

786 名前:Name_Not_Found 投稿日:2005/08/03(水) 14:39:59 ID:???
>>785
http://nurucom-archives.hp.infoseek.co.jp/digital/escape-codec-library.html
Escape Codec Library: ecl.js

787 名前:Name_Not_Found 投稿日:2005/08/03(水) 14:59:00 ID:8WFI7qAU
>>786

この中のどれでしょうか?

788 名前:Name_Not_Found 投稿日:2005/08/03(水) 15:36:36 ID:???
てーかそのHTMLページを EUC-JP で書いて、escape しないで送信したらうまくいくんじゃ。

789 名前:Name_Not_Found 投稿日:2005/08/03(水) 15:48:58 ID:???

>>788
SJISからEUC-JPに飛びたいんじゃないか?

790 名前:Name_Not_Found 投稿日:2005/08/03(水) 15:50:58 ID:???
Shift_JISならYahooが自動判別するよ。

791 名前:Name_Not_Found 投稿日:2005/08/03(水) 17:32:45 ID:???
夏に入ってホントレベルが下がったなぁ。しかもリア厨っぽいし。
流れがつくれん。

792 名前:Name_Not_Found 投稿日:2005/08/03(水) 17:47:06 ID:???
>>785
別のフォームにコピーしてから送信したらどう?

<form action="" name="key"><input name="word"></form>
<input type="button" value="search" onclick="
document.forms['yahoo'].elements['p'].value = document.forms['key'].elements['word'].value;
document.forms['yahoo'].submit();
return false;">

<form action="http://search.auctions.yahoo.co.jp/jp/search/auc"
method=get enctype="application/x-www-form-urlencoded"
accept-charset=EUC-JP name=yahoo target="_blank">
<input type=hidden name=p>
</form>

793 名前:Name_Not_Found 投稿日:2005/08/03(水) 18:19:22 ID:Ow4m3Lp8
質問なんですが、コンボの色をフォーカス時と、それ以外で切り替えたいと思ってます。
が、コントロールの方は変わるんですが、
Option部分の色が上手く変わってくれません。
これって仕様ですか?

以下サンプル ---------------------------------------------
<select onFocus=this.style.backgroundColor='#8888FF'; onBlur=this.style.backgroundColor=''>
<option>AAA</option>
<option>BBB</option>
<option>CCC</option>
<option>DDD</option>
</select>


794 名前:Name_Not_Found 投稿日:2005/08/03(水) 18:48:41 ID:???
<form onsubmit="命令">などに
複数の命令を指定するにはどうすればよいでしょうか?

795 名前:Name_Not_Found 投稿日:2005/08/03(水) 18:51:14 ID:???
>>794
思うままに命令を書けばいいと思います。

796 名前:Name_Not_Found 投稿日:2005/08/03(水) 19:19:25 ID:???
>>795
クオリティタカスwwwwwww
でもそのとおり!


797 名前:Name_Not_Found 投稿日:2005/08/03(水) 19:24:47 ID:???
>>795
「プログラムは思ったとおりに動かないが、書いたとおりに動く」

798 名前:Name_Not_Found 投稿日:2005/08/03(水) 20:26:16 ID:???
そんな禅問答みたいな事は聞いてません。
どうすればいいのか教えろと言ってるんです。暑さでラリってるんですか?

799 名前:Name_Not_Found 投稿日:2005/08/03(水) 20:37:58 ID:???
>>798
しかたないな…
http://www.ecma-international.org/publications/standards/Ecma-262.htm

ここのpdfに書いてある

800 名前:Name_Not_Found 投稿日:2005/08/03(水) 22:27:41 ID:???
>>794
マジレスすると
;で区切って好きなだけ命令を書く

801 名前:Name_Not_Found 投稿日:2005/08/03(水) 23:20:08 ID:???
>>791
ホントなんとかならんかな?
>>793HTMLの問題は別で聞け
>>794
>>800もそうだが、クッションではさんだ関数に持っててやれば
さすがのオマイでも分かるだろう。
あとonsubmitは送ってしまわないか?onclinkか何かで
関数持ってって
そこで、forms[hoge].submit();だと思うが。
function omaiha(){
chittoha();
var shirabetara=douda();
document.forms['hoge'].submit();
}
<form onclick="omaiha()">


802 名前:Name_Not_Found 投稿日:2005/08/03(水) 23:26:31 ID:???
>>801
return omaemona_;

803 名前:Name_Not_Found 投稿日:2005/08/04(木) 00:56:57 ID:???
>>801
死ねよ

804 名前:Name_Not_Found 投稿日:2005/08/04(木) 01:14:46 ID:???
>>801
form に onclick?
それに JS off だと submit できないじゃん

<form onsubmit="return hoge();"> のがよくね?

805 名前:1/2 投稿日:2005/08/04(木) 03:08:50 ID:So9mtFu3 BE:129888454-#
今firefox用にScript書いてるんだけど、XHTMLの場合
style.top と style.left
への代入がうまくいかずに困ってます。
(position と visibility はうまくいってる)

参考ソースは次のレスに書きますが
一行目をまるまる削除するか、DOCTYPEをHTMLにすれば
動くんだけど、XHTMLの場合topとleftに値を代入するには
何か別の書き方しないといけないんでしょうか?

806 名前:2/2 投稿日:2005/08/04(木) 03:09:33 ID:So9mtFu3 BE:136383337-#
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>test</title>
<script type="text/JavaScript">
function init(){
var d = window.content.document.getElementById("test");
d.style.position = "absolute";
d.style.top = 10;
d.style.left = 50;
d.style.visibility = 'visible';
var t = '';
for(var j in d.style){
if(d.style[j] != ""){
t += j + ":" + d.style[j] + "\n";
}
}
//alert(t);
}
</script>
</head>
<body onload="init()">
<div id="test">テスト〜</div>
</body>
</html>

807 名前:Name_Not_Found 投稿日:2005/08/04(木) 04:13:59 ID:???
>>806
単位がない。JavaScript 以前の問題。

808 名前:805,806 投稿日:2005/08/04(木) 04:24:03 ID:??? BE:103910944-#
うほっほんとだ。大きく見落としてました。
おかげさまで動くようになりました。ありがとうございます。

809 名前:Name_Not_Found 投稿日:2005/08/04(木) 11:22:40 ID:HRwau+8B
<input type=file ID="dog">
の内容は
document.getElementById("dog").value
で参照はできるのですが、スクリプトの方で書き換えができません。
document.getElementById("dog").value="mikan.html";
などとやってもできませんでした。どうすればよいのでしょうか?


810 名前:Name_Not_Found 投稿日:2005/08/04(木) 11:35:38 ID:m0ow9vbh
>>801
あ、スレ違いだったすね。
突っ込みありがとー。

811 名前:Name_Not_Found 投稿日:2005/08/04(木) 11:44:59 ID:PxVtzXTh
>>809
絶対に書き換えられないようになってるから。もしできたら
アンタがページ表示したとたんに任意のファイルをそこに
指定してsubmitすることでファイルが盗み出せてしまうだろ。
よく考えてみなよ。

812 名前:Name_Not_Found 投稿日:2005/08/04(木) 14:09:30 ID:u4I0szHT
>>792

初歩的な質問で悪いのですが、
<input type="button" value="search" onclick="
document.forms['yahoo'].elements['p'].value = document.forms['key'].elements['word'].value;
document.forms['yahoo'].submit();
return false;">

<input type="button" value="search" onclick="
yahoo.p.value = key.word.value;
document.forms['yahoo'].submit();
return false;">

と書いても一応XPIE6で動くのですが、他ブラウザーで対応しないとか、ありますか?
今まで、そのように書いてきましたが、駄目なら修正します。

813 名前:Name_Not_Found 投稿日:2005/08/04(木) 14:43:54 ID:???
動作テストは自分でしようよ。

814 名前:Name_Not_Found 投稿日:2005/08/04(木) 15:26:59 ID:???
>>812
DOM 仕様では正しくない書き方だけど他の UA でも通るかもしれない。
Mozilla では document を置かないと警告が出たと思う。

実は forms['yahoo'] も省略形で、これは forms.namedItem('yahoo') を
呼び出す。forms['yahoo'] と forms.yahoo は全く同じ意味。
ただし MSIE 5.5 以前では namedItem メソッドがなくて item メソッドが
名前 (文字列) と序数 (数値) とをオーバーロードしていたという経緯が
あるので、forms['yahoo'] の方が安全でよく使われる。

問題になるのは名前が既存のプロパティと衝突するとき。
例えば <form name="body"> というフォームを参照したいとき、
document.body は組み込みのプロパティに存在するので document.body
は document.forms.body とは別のオブジェクトを返す。

先に述べたとおり forms[名前] という形式も省略形なので、たとえ
forms を置いても名前が item, namedItem, length のいずれかなら
同じ問題が発生する。
例えば <form name="item"> の場合、document.forms.item は駄目で
document.forms.namedItem("item") とするしかない。

MSIE では DOM の実装が正しくなく、form オブジェクトとその elements
プロパティが同じオブジェクトを返す。
つまり form オブジェクトが HtmlFormElement オブジェクトと NodeList
オブジェクトの両方の機能を持ってるため、さらに注意が必要。
elements があってもなくても、HtmlFormElement に存在するプロパティと
名前が重複しないようにしなければならない。

815 名前:Name_Not_Found 投稿日:2005/08/04(木) 17:36:49 ID:???
>>814
何ぐだぐだ書いてんだ、
って思ったけど、結構勉強になった。

816 名前:Name_Not_Found 投稿日:2005/08/04(木) 21:01:40 ID:???
getElementsByNameでいいじゃんよ。


817 名前:695 投稿日:2005/08/04(木) 21:30:55 ID:???
>>763-766
遅くなったけれど、高速化のアイデアありがとう。
すべてのブラウザで適用するためにはUAチェックなどが必要になりそうだけれど、
今回のような速度がクリティカルになる場面ではふんだんに使わせてもらいます。

口の悪さがなければ皆さんももっと評価してくれたと思います。
ところで、CTRL+Aの問題も解決できたら万々歳なのだけれども、それは無理?

818 名前:Name_Not_Found 投稿日:2005/08/04(木) 22:05:35 ID:???
キーボードを押されることをすべて拒めばいいんじゃない

819 名前:Name_Not_Found 投稿日:2005/08/04(木) 22:40:03 ID:4tSuaC6R
onUnload時に背景画像をフェードアウトさせる方法はありますか?
下に書いたやつはonClickでは上手くいくが、onUnloadはだめ。何故ですか?

function fadeout()
{
  if (n < 0) return;
  n -= 10;
  body_bg.filters['alpha'].opacity = n;
  setTimeout("fadeout()",200);
}


820 名前:Name_Not_Found 投稿日:2005/08/04(木) 23:02:38 ID:???
>>817
とりあえず IE だけ onselectstart="return false" しとけば。

821 名前:Name_Not_Found 投稿日:2005/08/04(木) 23:25:24 ID:???
-moz-user-select:none;
-khtml-user-select:none;

822 名前:Name_Not_Found 投稿日:2005/08/04(木) 23:37:24 ID:???
>>814
勉強になった

823 名前:Name_Not_Found 投稿日:2005/08/05(金) 04:16:47 ID:jCkjpGSn
Webサイト制作初心者質問スレと悩んだのですが、javascriptに関することなので、こちらにカキコさせて頂きます。

ttp://www.wsb.jp/hpb/ouyou/lay_ev/frame.htm
↑このサイト(HPビルダー利用者向けのページですが)を参考にして、マウスが上に乗ったときに、
フレームをまたいで画像を表示させる仕組みを作ってみたのですが、これをインラインフレームでやろうとすると、
どうしてもエラーになってしまいます。
ちなみに、エラー文は「parent.(フレーム名).documentはnullまたはオブジェクトではありません」です。
インラインフレームで実現するにはどうすれば、どう書き換えればよいのでしょうか?
ご教授よろしくお願いします。

824 名前:823 投稿日:2005/08/05(金) 04:23:22 ID:???
ちなみに、ブラウザはIE6.0です。

825 名前:Name_Not_Found 投稿日:2005/08/05(金) 06:03:25 ID:???
>>823
その願い、応えてしんぜよう!
>>1

826 名前:823 投稿日:2005/08/05(金) 06:27:44 ID:???
>>825
まだ俺の努力&調べが足りないってことですか?
それとも「Webサイト制作初心者質問スレと(ry」のくだりがまずかったかな。
すみません、javascriptもっと勉強します。

とりあえず、今回は別の方法も模索してみまつ(´・ω・`)

827 名前:Name_Not_Found 投稿日:2005/08/05(金) 09:20:37 ID:???
>>826
parent は現在のドキュメントのビュー (window) から見た親フレームの
ビューを参照する。
現在の document に乗ってる iframe を探す場合は、単に
document.getElementById("iframe の id") とすればいい。

フレームを扱う場合、ドキュメントがまだ読み込まれていなかったり、
別のドキュメントが読み込まれていたりした場合を想定して
contentDocument から先は存在を逐一確認しながら参照すべき。
null のプロパティを参照すれば当然エラーになる。

また、ドキュメントが別のドメインにある場合はセキュリティ上の理由で
絶対に参照できない。

828 名前:Name_Not_Found 投稿日:2005/08/05(金) 11:10:43 ID:???
>>826
過去にいくらでもでてきてる質問なんだから、検索しろってこった。

829 名前:Name_Not_Found 投稿日:2005/08/05(金) 15:40:03 ID:???
>>827
そういうときは、iframe側にスクリプトを書けばいいんだよ。
mouseoverイベントも全部含めて。

830 名前:Name_Not_Found 投稿日:2005/08/05(金) 16:41:00 ID:???
フレームを跨いでって言うから、本当にフレームを跨いで画像が表示されてるのかと思ったら、そう言う事か

831 名前:Name_Not_Found 投稿日:2005/08/05(金) 19:59:23 ID:???
http://www.aimix.jp/smallwinscrsg.html

ここのサイトにある、画像を小窓表示したいんですけど
表示された小窓の上下左右に余白が出てしまいます。
どうすれば画像の大きさにピッタリ合わすことが出来るのか
どうかアドバイスお願いします。

832 名前:Name_Not_Found 投稿日:2005/08/05(金) 20:09:03 ID:???
>>831
これはスタイルシートによる問題
CSSでマージンを0にする

833 名前:Name_Not_Found 投稿日:2005/08/05(金) 20:10:48 ID:???
>>831
スタイルシート

margin: 0px;
padding: 0px;

834 名前:831 投稿日:2005/08/05(金) 20:20:54 ID:???
>>832
>>833
さっそくありがとうございました。
こういう場合のスタイルシートはどのように記入すればよいのでしょうか?

835 名前:Name_Not_Found 投稿日:2005/08/05(金) 21:50:49 ID:???
>>834
どういう場合なのかが見えないのでお答えできませn

836 名前:Name_Not_Found 投稿日:2005/08/05(金) 23:36:16 ID:???
>>834
画像に直接リンクしてもダメだぞ

837 名前:831 投稿日:2005/08/06(土) 05:15:25 ID:???
>>835
>>836
すいません、具体的に記述方法を教えて頂けると助かります。
それと画像に直接リンク貼ってますけどダメなんですか?

838 名前:Name_Not_Found 投稿日:2005/08/06(土) 08:23:11 ID:???
もうこれ以上ないくらいに具体的に教えると
http://www.google.co.jp/search?hl=ja&q=%E3%82%B9%E3%82%BF%E3%82%A4%E3%83%AB%E3%82%B7%E3%83%BC%E3%83%88%E3%80%80%E3%81%A9%E3%81%93%E3%81%AB%E6%9B%B8%E3%81%8F&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja

839 名前:Name_Not_Found 投稿日:2005/08/06(土) 09:23:52 ID:???
おしえてください

javaスクで
外部ファイル(例えばCSV)を読み込んで自己ファイルの配列にいれたりできるのですか?

840 名前:Name_Not_Found 投稿日:2005/08/06(土) 09:30:18 ID:???
>>839
不可能です

841 名前:Name_Not_Found 投稿日:2005/08/06(土) 12:12:08 ID:???
うそ教えんなw

842 名前:Name_Not_Found 投稿日:2005/08/06(土) 17:49:31 ID:c5hkP5KB
http://f50.aaa.livedoor.jp/~ragodin/
↑のサイトのJavascriptのソースってどうやったら見れますか?

843 名前:823 投稿日:2005/08/06(土) 18:53:41 ID:???
>>827,829
遅ればせながら、ありがとうございます!
いま試せませんが、後でフレーム内に全部記述してみます。

>>828
「インラインフレーム」で検索したつもりだったんだけど、既出でしたか…スマソ。

844 名前:Name_Not_Found 投稿日:2005/08/06(土) 19:10:56 ID:???
どうせなら iframe で検索しろよ

845 名前:Name_Not_Found 投稿日:2005/08/06(土) 19:58:06 ID:???
ぬけな業者が晒し揚げられてたw

ニュース系板全般ヤバス!右クリック禁止ソフトの脅威
http://news19.2ch.net/test/read.cgi/news/1123320838/1

で速攻解決策ハケーン
http://news19.2ch.net/test/read.cgi/news/1123320838/165





846 名前:Name_Not_Found 投稿日:2005/08/06(土) 23:01:12 ID:???
速攻クラックテラワロスwww

847 名前:Name_Not_Found 投稿日:2005/08/07(日) 00:24:17 ID:???
http://www.usagi-js.com/sample/jssample7.htm

まずはこれでどうだ?

ファイル読みTIPS

848 名前:Name_Not_Found 投稿日:2005/08/07(日) 02:04:09 ID:???
いや XMLHttpRequest を…

849 名前:Name_Not_Found 投稿日:2005/08/07(日) 02:21:40 ID:???
>>842
普通に見れたけど?

850 名前:Name_Not_Found 投稿日:2005/08/07(日) 18:05:46 ID:???
>>848

よくしらないんだけど
これってHTTPサーバーじゃないと動かないの?
ローカルで試してもさっぱり動かない


851 名前:Name_Not_Found 投稿日:2005/08/07(日) 19:55:01 ID:???
>>850
ローカルで試したことがないけれど、
一般的にはドメインの違うソースにアクセスできないように
セキュリティを設定していると思うので、
ローカルではセキュリティを変更しないとエラーを投げるんじゃないかな?

動かないってのが何を指しているのかわからないのだが…

852 名前:Name_Not_Found 投稿日:2005/08/07(日) 20:20:44 ID:???
人様のサンプルのTIPSをいじってるんだけど
ローカルだとまともに動いてくれないんだとね

ボタンを押しても動作がないとかそういうことをいってるんです

どうしたらいいんだ

853 名前:Name_Not_Found 投稿日:2005/08/07(日) 20:23:50 ID:???
まあローカルだろうが普通にサーバと同じように動くから、おまいのどこかが悪い。

854 名前:Name_Not_Found 投稿日:2005/08/07(日) 20:49:14 ID:???
やっぱそうなのかな

ちくしょー落ち込むぞ

色々試したいのに

WEB上のサンプルでデータバインドの概略を理解したんだが、
これを配列に落とし込むためにはどうすりゃいいんだあああああ

855 名前:Name_Not_Found 投稿日:2005/08/07(日) 20:57:03 ID:???
セキュリティ設定を、極端に下げてみては?

856 名前:Name_Not_Found 投稿日:2005/08/07(日) 21:01:57 ID:???
ていうか Ajax でぐぐれば

857 名前:Name_Not_Found 投稿日:2005/08/07(日) 21:18:18 ID:???
JavaScriptの方が良いよと言われ、Movable Typeの質問スレから誘導されてきました。
ソースにはMovableTypeの独自のコードも書かれてちょっと見難いかもしれませんが、よろしくお願いします。

Techknow Weblog: サブカテゴリを開閉式にしてみる
ttp://www.sixapart.jp/movabletype/developers/cheebow/archives/2004/12/post_13.html

↑ここで紹介されているテンプレートとスクリプトのソースに従って、「サブカテゴリ」を開閉式にしました。
ただ、開いた状態でページ間を移動すると、閉じた状態に戻ってしまいます。

>「+」をクリック時にJavaScriptのshBlock関数を呼んで、その下の「cat_<$MTCategoryID$>」で表される
>divブロックの表示、非表示を切り替えます。

とあって、単にonclickで表示非表示を切り替えているっぽいのですが、
これをなんとかして開いた閉じたの状態を保持できないでしょうか。



小粋空間: サイドメニュー折りたたみスクリプト(cookie等改善版)
ttp://www.koikikukan.com/archives/2004/12/06-020033.php

小粋空間: サブカテゴリーリストの折りたたみ
http://www.koikikukan.com/archives/2004/12/13-010000.php

↑このサイトでは上手くやっているようなのですが、
「Techknow Weblog」の遣り方で、このサイトように開いた状態、閉じた状態を保持できないものでしょうか。
見比べながらちょこちょこ書き換えつつ試してみたのですが、どうも上手く行かず、煮詰まってしまいました
(単に知識がないだけなんですが)。

説明上手くできたのしょうか…。
すいません、よろしくお願い致します。

858 名前:Name_Not_Found 投稿日:2005/08/07(日) 22:28:19 ID:???
セキュリティのことで質問

人様のデータを自分のPCに保存し、そのままファイル名も内容もいじらずにジャワスつきのHTMを起動すると
所定の挙動をしてくれた。
ところが、ファイルをコピーしたりするとそのコピーはたちまち動かなくなる。

ファイルのプロパティを見ると
このデータは人様のですよと書いてる時はジャワスが起動するのに、ブロックを解除するとだめになる。

なにか設定の妙があるならおしえてください

859 名前:Name_Not_Found 投稿日:2005/08/07(日) 23:14:06 ID:???
>>857
cookie云々って書いてるジャン。
それ用にソースとかいじってみたのかね?
する気もないんだったら丸投げスレのがいいかもよ。
http://pc8.2ch.net/test/read.cgi/hp/1099993040/

>>858
外国人さん?
てーかJSかどうなのかもわからない質問なような。

860 名前:Name_Not_Found 投稿日:2005/08/07(日) 23:17:51 ID:???
ジャワスってなに?
HTMって?
ブロック?
専門用語ばかりでわかりません

861 名前:Name_Not_Found 投稿日:2005/08/07(日) 23:24:54 ID:???
>>860http://e-words.jp/

862 名前:Name_Not_Found 投稿日:2005/08/07(日) 23:30:30 ID:???
>>861 http://e-words.jp/?w=%83W%83%83%83%8F%83X&headline=%8C%A9%8Fo%82%B5%8C%EA%8C%9F%8D%F5

863 名前:Name_Not_Found 投稿日:2005/08/08(月) 07:25:41 ID:???
>>861
IT用語なんですか?
たぶん違うと思います

864 名前:Name_Not_Found 投稿日:2005/08/08(月) 17:03:25 ID:???
IEで、テキストボックス(textareaとか)上の
カーソル位置を取得する方法はありますか。
FirefoxだとselectionStartが使えそうなのですが
IEのcreateRangeだと位置は取れないですよね。

865 名前:Name_Not_Found 投稿日:2005/08/08(月) 17:09:13 ID:???
>>864
昔作ったからあるのは間違いないが、ちょっと覚えていない…

866 名前:ひとみ 投稿日:2005/08/08(月) 17:18:15 ID:H/Y23vF/
はじめまして。

簡単な質問かもしれませんが、
お付き合いください。

ある3つのページがあり、
例えば、bunki.html,a.html,b.htmlです。

最初、bunki.htmlにアクセスして、

2005/08/01〜11/30までは、a.htmlへ。2005/12/1〜2005/12/30までは、b.htmlへ
自動で、分岐処理するようにしたいのですが、JavaScriptでできるのでしょうか?

西暦、日付、時間を取得して、その数値を判断して、自動分岐させたいと思ってます。
できれば、bunki.htmlも生成せずに外部ファイルから、処理を行いたいと思うのですが、可能でしょうか?(ソースを見られると、どこに分岐させるか、分かってしまうので)

こういった仕様の場合、どのような方法が、セオリーな手段でしょうか?
よろしくご教授願いします。


867 名前:Name_Not_Found 投稿日:2005/08/08(月) 18:42:10 ID:???
>>864
できるよ。
document.selection.createRange().duplicate() あたりでぐぐってみれば見つかるかも

>>856
できるよ。
new Date(); とか getTime() あたりでぐぐったりしてみれば。

868 名前:Name_Not_Found 投稿日:2005/08/08(月) 18:46:15 ID:???
× >>856
>>866

補足
>>866
「外部ファイル」 でも JS だとアクセスして見ればわかっちゃうけどね。
perl とか php とか使うって手もあるけど、どうだろね。

869 名前:Name_Not_Found 投稿日:2005/08/09(火) 02:34:43 ID:???
>>867
ありがとう。調べてみる。

870 名前:Name_Not_Found 投稿日:2005/08/09(火) 15:22:52 ID:Ap5Ql7cO
助けてください。

画像が2枚あり、10秒経過するごとにフェードしながら入れ替わる。

↑のようなスクリプトを誰かかいて頂けませんでしょうか?お願いします。

871 名前:>>870 つ 投稿日:2005/08/09(火) 15:26:45 ID:???
http://www.sky.sannet.ne.jp/masapine/java_gazou2.html

872 名前:Name_Not_Found 投稿日:2005/08/09(火) 17:25:34 ID:B9Q4n7oQ
http://corleone-forever.jp/

873 名前:Name_Not_Found 投稿日:2005/08/09(火) 18:13:30 ID:???
TableArea.rows[2].cells[1].innerText = "AIUEO";

のような事を Mozilla, Firefox などで実現させる為には
どのようなコードを書けばよいでしょうか?



874 名前:Name_Not_Found 投稿日:2005/08/09(火) 18:17:40 ID:???
>>873 tableにID振って
document.getElementById("ID名").rows[2].cells[1].innerHTML = "AIUEO";



875 名前:Name_Not_Found 投稿日:2005/08/09(火) 18:49:55 ID:Gj+Bz95l
<object data="/list.html" type="text/html" id="list"></object>

を、ボタンを押したら list.html を再度読み込ませるようにしたいのですが上手くいきません。

onClick="bt_click()"

bt_click(){
document.getElementById("list").data="/list.html";
}

と設定しています。

<iframe src="/list.html" id="list"></iframe>
の場合は
bt_click(){
document.getElementById("list").src="/list.html";
}
で更新できます。

876 名前:873 投稿日:2005/08/09(火) 19:19:45 ID:???
>>874
実現できました。ありがとうございました。

877 名前:Name_Not_Found 投稿日:2005/08/09(火) 20:49:06 ID:???
mouseover、mouseoutで1つの画像だけを入れ替えたいんだけど、
そのJSを外部ファイルにする事は出来ますか?

878 名前:Name_Not_Found 投稿日:2005/08/09(火) 21:10:10 ID:???
>>875
IE は <obejct> は get-only な動作してたような。
それほかのブラウザでも行かないのかい?

>>877
できますよ。

879 名前:Name_Not_Found 投稿日:2005/08/09(火) 21:15:13 ID:Epx/GPZR
すみません、質問です。

インラインフレームから、その親に値を渡したいのですが、
親自身のwindow.nameは指定していません。

その場合に、親のinput項目への指定の仕方は、
parent.[windowname].[formname].[elements].value
この[windowname]の箇所には、どのように記述すればいいのでしょうか。

親のwindow.nameを指定しない限り、無理なのでしょうか?


880 名前:Name_Not_Found 投稿日:2005/08/09(火) 21:17:19 ID:Epx/GPZR
すみません、教えてください!!

iframeからその親に値を渡す場合、
かつ親のwindow.nameを指定していない場合は、
parent.[ウィンドウの名前].[フォームの名前]・・・
この部分の、[ウィンドウの名前]はどのようにすればいいのでしょうか?

881 名前:879,880 投稿日:2005/08/09(火) 21:18:07 ID:???
すみません、かぶってしまいました。

よろしくお願いいたします。

882 名前:875 投稿日:2005/08/09(火) 21:19:04 ID:???
>>878
他のブラウザ(NN7+Firefox1+Opera7)でも動きませんでした。
うーん、困った。

883 名前:Name_Not_Found 投稿日:2005/08/09(火) 21:28:44 ID:???
>>879
parent.document.forms[i].elements[j].value とかでできるはず

884 名前:877 投稿日:2005/08/09(火) 21:31:13 ID:???
>>878
どうするのですか?

885 名前:Name_Not_Found 投稿日:2005/08/09(火) 21:32:24 ID:???
>>884
関数を外部ファイルに書けばいいんじゃね?

886 名前:Name_Not_Found 投稿日:2005/08/09(火) 21:46:04 ID:???
>>884
関数なんて言葉もしらないんでしょう

887 名前:Name_Not_Found 投稿日:2005/08/09(火) 22:19:42 ID:???
onClick = "Img1.src = 'C:¥がぞう.BMP'"

・・・外部ファイル画像変更.htmを作って、書いてみましたが、
これをどうしろと???

888 名前:Name_Not_Found 投稿日:2005/08/09(火) 22:27:30 ID:???
>>887
外部ファイル云々の前にまずは関数化しないとな。
がんばってググってね。

889 名前:Name_Not_Found 投稿日:2005/08/09(火) 22:54:28 ID:???
>>887
var obj = 対象とする画像オブジェクト(img要素ね)
obj.onmouseover = function(){
this.src = "C:¥がぞう.BMP";
}

もしくは

obj.addEventListener(onclick,function(){ this.src = "C:¥がぞう.BMP"; },true);

てな具合で。わかんないところは、調べてみてからもう一度聞いてみてください。
老婆心ながら、"C:¥がぞう.BMP"はOSがwindowsでwebサーバも特定の場合しか使えないので、
スラッシュをつかったパスで書くことをおすすめしますよ。

890 名前:877 投稿日:2005/08/09(火) 23:54:10 ID:???
> 老婆心ながら、"C:¥がぞう.BMP"はOSがwindowsでwebサーバも特定の場合しか使えないので、

失礼な方ですね。
内部アプリケーションのフロントエンドの開発をしているので、
ここは内部へのパスでいいんです!
WEB用途しか思いつかないWEB屋と一緒にしないで下さいね(プゲラ

891 名前:Name_Not_Found 投稿日:2005/08/09(火) 23:56:37 ID:???
ここは Web 制作板だしな

892 名前:Name_Not_Found 投稿日:2005/08/10(水) 00:19:40 ID:???
しらべます。ありがとん。

>>890
私にもう一つの人格があったとわ。

893 名前:Name_Not_Found 投稿日:2005/08/10(水) 00:20:05 ID:???
>>890
wwww

894 名前:Name_Not_Found 投稿日:2005/08/10(水) 00:52:22 ID:???
wが一つ多いですよ

895 名前:Name_Not_Found 投稿日:2005/08/10(水) 00:58:48 ID:???
>>894
wがニつ足りないですよw

896 名前:Name_Not_Found 投稿日:2005/08/10(水) 02:41:32 ID:???
>>895
wが一つ足りないですよww

897 名前:Name_Not_Found 投稿日:2005/08/10(水) 08:21:50 ID:???
>>890の負け。

ラブゲームでした。

898 名前:Name_Not_Found 投稿日:2005/08/10(水) 12:53:23 ID:???
>>894-896
頭が少し足りないですよ

899 名前:Name_Not_Found 投稿日:2005/08/10(水) 15:42:36 ID:???
対象とするファイルの日付が何分〜何時間以内なら、
記述を変更するってjabascriptでできますでしょうか?


900 名前:Name_Not_Found 投稿日:2005/08/10(水) 15:51:04 ID:???
>>899
釣りですか?JabaScript

901 名前:899 投稿日:2005/08/10(水) 16:01:53 ID:???
早速釣れたwwwwwwwwwwwwwwwwwwwwwww

902 名前:Name_Not_Found 投稿日:2005/08/10(水) 16:05:54 ID:???
>>901 氏ね。真面目に回答する気が失せた。

903 名前:Name_Not_Found 投稿日:2005/08/10(水) 16:16:06 ID:???
              /゙ミヽ、,,___,,/゙ヽ
      i ノ   川 `ヽ'
      /  ´   . ` i、
     彡,   ミ(_,人_)彡ミ  はいはいわろすわろすニャァ〜
 ∩,  / ヽ、,      ノ
 丶ニ|    '"''''''''"´ ノ
    ∪⌒∪" ̄ ̄∪

904 名前:899 投稿日:2005/08/10(水) 16:16:40 ID:???
あ、しまった…釣りじゃないです。恥ずかしい…

905 名前:899 投稿日:2005/08/10(水) 16:20:01 ID:???
具体的には、アップされた画像ファイルが数分以内のものであれば、
リンクにNew!と表示するというようなことをしたいと思ってます。

906 名前:Name_Not_Found 投稿日:2005/08/10(水) 17:08:42 ID:???
JabaScriptではできません

907 名前:Name_Not_Found 投稿日:2005/08/10(水) 18:02:30 ID:???
>>899
できるよ。書いてみるからちょっとまっとけ。

908 名前:Name_Not_Found 投稿日:2005/08/10(水) 18:32:23 ID:???
第一案 : iframe を使う方法。

<iframe id="hoge" src="hoge.png"></iframe>
<script type="text/javascript">
window.onload = function () {
    var obj = document.getElementById('hoge');
    alert(obj.contentWindow.document.lastModified);
}
</script>

909 名前:Name_Not_Found 投稿日:2005/08/10(水) 18:35:00 ID:???
第二案 :
・XMLHttpRequest を使って Header の Last-Modified を取得する。
・画像や文書をダウンロードしなくていいので経済的。
・ローカルでは出ないので、サーバー上でやってみてくれ。
・あと、長いので 2レス に渡るけどスマン。

<script type="text/javascript">
// if XMLHttpRequest is undefined
if (!window.XMLHttpRequest) {
    if (!window.ActiveXObject) {
        window.XMLHttpRequest = function () { return null };
    } else {
        window.XMLHttpRequest = function () {
            var msxmls = new Array('Microsoft.XMLHTTP', 'Msxml2.XMLHTTP',
                'Msxml2.XMLHTTP.3.0', 'Msxml2.XMLHTTP.4.0', 'Msxml2.XMLHTTP.5.0');
            for (var i = msxmls.length; i--;) {
                try { return new ActiveXObject(msxmls[i]); }
                catch (e) {}
            }
            return null;
        }
    }
}

910 名前:Name_Not_Found 投稿日:2005/08/10(水) 18:36:39 ID:???
// new XMLHttpRequest
function Request (method, url, funcs) {
    this.req = new XMLHttpRequest();    // XMLHttpRequest
    if (!this.req) return null;
    var that = this;

    // call function
    this.func = (typeof funcs == 'object') ? funcs : [];
    this.req.onreadystatechange = function () {
        var rs = that.req.readyState;
        if (that.func[rs]) that.func[rs](that.req);
    }
    // open and send
    this.req.open(method, url, true);
    this.req.send(null);
    return this;
}

// Last-Modified
var hoge = new Request('HEAD', 'hoge.png', []);
hoge.func[4] = function (req) {
    alert(req.getResponseHeader('Last-Modified'))
}
</script>

以上。
人によっては上のままでは気持ち悪いかもw

911 名前:Name_Not_Found 投稿日:2005/08/10(水) 18:40:22 ID:???
しまった、質問にしっかり答えていないw

まあ、あとは new Date() と getTime() まわりだから、がんがれ、っと。

912 名前:Name_Not_Found 投稿日:2005/08/10(水) 18:46:55 ID:???


913 名前:Name_Not_Found 投稿日:2005/08/10(水) 19:53:19 ID:???
もっとシンプルでもできるのに・・

914 名前:Name_Not_Found 投稿日:2005/08/10(水) 21:54:14 ID:???
hoge.prototype.hage = function() {
    this.onload();
}

このようなコードを書くと
クラスメソッドのonloadを呼び出したつもりでも
globalスコープのonloadを
呼び出してしまってうまく行きません。

クラス内のスコープ内のonloadを参照するには
どのようにすればよいのでしょうか?

915 名前:Name_Not_Found 投稿日:2005/08/10(水) 21:58:56 ID:???
>>914
prototypeにしたいのであれば不可能なような気がする。
そうでなければクロージャを使えばいいけど。

916 名前:Name_Not_Found 投稿日:2005/08/10(水) 22:01:55 ID:???
今日から、JavaScriptを勉強しはじめました。で、悩んでいます。

<img src="1.gif" onMouseOver="this.src='2.gif'" onMouseOut="this.src='1.gif'">
マウスを触ったり離したりすることで、画像を切り替えるスクリプトを試しているのですが、
NN4だけは、これで上手く動作しないんですね。なにかヒントいただけませんか?

NN4.など切り捨てろ! って声が聞こえてきそうですが、これも勉強のうちと思っているので、
どうかよろしくお願いします。

917 名前:Name_Not_Found 投稿日:2005/08/10(水) 22:12:28 ID:???
プロになるとかなら、ともかく、
ムダ知識にしかならない気が。
W3C-DOMとかのがよほど為になりそう。

918 名前:Name_Not_Found 投稿日:2005/08/10(水) 22:43:14 ID:???
>>915
JSにOOPを求めるのは早計なのでしょうか?
class宣言できるECMAScriptの
最新版の実装を待ったほうがよさそうですね。

919 名前:Name_Not_Found 投稿日:2005/08/10(水) 23:14:09 ID:???
>>914
hogeっていうのがクラスなんだよね。
「クラスメソッドのonload」ってのは具体的にどういうこと?
hoge.onload = function() { ... } とかやってるの?


920 名前:Name_Not_Found 投稿日:2005/08/10(水) 23:20:53 ID:???
>>918
いや、そういう問題じゃない。

prototypeで宣言する以上、すべてのクラスで全く同じfunctionの実体が呼び出されるので、
例えばclass Aのインスタンスaとbがあったとして
a.hoge() が a.onloadを、b.hoge() が b.onload() を呼び出すことは出来ない。

しかし仮にa.hoge自身をclass内部で宣言するのであれば自分の参照は可能だよ、ということ。

921 名前:Name_Not_Found 投稿日:2005/08/10(水) 23:40:39 ID:???
ActionScriptだとprototypeはインスタンス毎にやってくれるのに

922 名前:Name_Not_Found 投稿日:2005/08/10(水) 23:52:09 ID:???
>>921http://pc8.2ch.net/test/read.cgi/swf/1122055022/の回答人だな

923 名前:Name_Not_Found 投稿日:2005/08/11(木) 06:13:43 ID:???
>>921
それじゃprototypeの意味がなくなる
それに、thisの参照先については言語仕様なので、
コンテキストによってthisの変わるスタイルが便利な書き方になれるべきなんだろうな。

924 名前:Name_Not_Found 投稿日:2005/08/11(木) 08:33:21 ID:???
function内var = privateメンバ
funtion内this = publicメンバ
prototype = publicメンバのみ利用できるstatic風味メンバ

まだ触り始めて間もないからアホ言ってるかもしれんがこんな感じ?

925 名前:899 投稿日:2005/08/11(木) 09:38:33 ID:???
ありがとうございます!試してみます!

926 名前:Name_Not_Found 投稿日:2005/08/11(木) 09:42:48 ID:???
>>924
function内のvarはあくまで初期化の際の一時変数。
例えば
function SomeClass() { var x = new Date().getDate(); this.date = x; };
var test = new SomeClass();
alert(test.x); // == undefined
alert(test.date); // == date;

function内のthisはそのコンテキストによって大きく変わる
function SomeClass() { this.whoami = new function() { return this; }; };
var test = new SomeClass();
alert(test.whoami() == test); // true
window.setTimeout(function(){alert(test.whoami() == test);};,0); // false

prototypeは近い。publicメンバは関係ないがstatic風味メンバ

927 名前:Name_Not_Found 投稿日:2005/08/11(木) 09:56:48 ID:???
function TestClass() {
    var x=100;
    this.getX = function() { return x; }
    this.setX = function(px) { x=px; }
}
var test = new TestClass();
test.setX(50);
alert(test.getX()); //50

メンバがthisで指定できないだけで、privateと考えて問題ないのでは?
クラス化した場合のコンストラクタ内のvarは
そのインスタンスの消滅まで参照が保持されてるはず。

928 名前:Name_Not_Found 投稿日:2005/08/11(木) 10:04:00 ID:???
>>926
言いたいことはわかるが2つ目が違う。
その書き方だと多分両方trueになるんじゃないか?

試していないけれど、
function SomeClass() { this.whoami = function() { alert(test==this); }; };
var test = new SomeClass();
test.whoami(); // true
window.setTimeout(test.whoami,0); // false
これが正しいんじゃないかな?

929 名前:Name_Not_Found 投稿日:2005/08/11(木) 10:31:37 ID:???
よくわかんない

930 名前:Name_Not_Found 投稿日:2005/08/11(木) 12:06:56 ID:???
もしかして継承って派生インスタンス作る前に毎回prototypeに基底インスタンスを上書きするの?

931 名前:Name_Not_Found 投稿日:2005/08/11(木) 12:43:15 ID:???
>>930
用語が変

932 名前:Name_Not_Found 投稿日:2005/08/11(木) 13:07:46 ID:???
派生クラスのインスタンス作る前に
派生クラスのprototypeの参照を
常に異なる基底クラスのインスタンスで代入する必要があるの?


933 名前:Name_Not_Found 投稿日:2005/08/11(木) 14:04:38 ID:???
表示されている文字列一行の幅を取得する方法を教えてください。
噴出しを動的に最適化する方法を模索しています。


934 名前:Name_Not_Found 投稿日:2005/08/11(木) 14:25:15 ID:???
>>933
前スレにあったけど、
その場その場で計っていくしかないみたいだよ

935 名前:Name_Not_Found 投稿日:2005/08/11(木) 15:42:40 ID:???
なんでクラスやらが出てくるんだか

936 名前:Name_Not_Found 投稿日:2005/08/11(木) 16:50:20 ID:???
クラスの話についてけない人におやつ 
http://www.parkcity.ne.jp/~chaichan/src/javasc07.htm

夏厨がイパイ涌いてるね。もう少しドロンしとくか。
そろそろ例の天婦羅をめぐる宗教紛争もなんかも
時期なんで気になるが・・・

937 名前:Name_Not_Found 投稿日:2005/08/11(木) 16:52:22 ID:???
>>936 天麩羅厨を刺激するな

938 名前:Name_Not_Found 投稿日:2005/08/11(木) 17:01:01 ID:???
一子相伝ですか?

939 名前:Name_Not_Found 投稿日:2005/08/11(木) 18:20:15 ID:???
SubClass.prototype = new SuperClass();

var oSub = new SubClass();
var oSub2 = new SubClass();

これだとSuperClassの変数が共有されて継承にはなってないよな

940 名前:Name_Not_Found 投稿日:2005/08/11(木) 18:34:00 ID:???
継承に関しては>>1-50のどこかの関連スレに詳しく考察しているサイトがいるから
それをチェックしてみたらいいのではないでしょうか。

個人的な意見だけれど、JavaScriptのオブジェクトの考え方は今までの継承ベースではなく
クロージャーベースになっているので、継承に拘らず、上の階層で抽象化して
やり取りするように書けばかなりすっきり書けるのではないかと思います。

941 名前:Name_Not_Found 投稿日:2005/08/11(木) 18:38:40 ID:???
ここの>>110あたりに専用Wikiがあるから
ソースのアップローダに使わせてもらえそう。
FAQとか気軽に更新できんじゃね?

みんなでWeb制作解説サイト作らない?
ttp://pc8.2ch.net/test/read.cgi/hp/1122983059/


942 名前:Name_Not_Found 投稿日:2005/08/11(木) 18:48:36 ID:???
>>941
マルチ乙

943 名前:Name_Not_Found 投稿日:2005/08/11(木) 18:54:45 ID:???
別にマルチじゃねーけどな。

944 名前:Name_Not_Found 投稿日:2005/08/11(木) 20:01:50 ID:???
function init() {
var a = new testClass('a');
var b = new testClass('b');
a.show();
b.show();
document.getElementsByTagName('body')[0].onmousedown = a.show;
document.getElementsByTagName('body')[0].onmouseup = b.show;
}

function testClass(v) {
this.v = v;
}

testClass.prototype.show = function() {
alert(this.v);
}

init() を<body> のonloadで実行すると…
質問1: 'a', 'b' は期待通りに表示してくれるけど、mousedown, up はundefined になるのは、何故?
質問2: これを、'a', 'b' と表示させるには、どうすれば良い?

945 名前:Name_Not_Found 投稿日:2005/08/11(木) 20:12:01 ID:???
>>944
だからprototypeを使う以上出来ないって。なんでそこまでこだわるの?
testClass.show = function() {...} という書き方にすれば
クロージャが使えるって上で散々言われてるじゃない。数レスくらい読もうよ。

946 名前:Name_Not_Found 投稿日:2005/08/11(木) 20:13:06 ID:???
質問1:>>926,>>928
質問2:プロトタイプを使うのをやめましょう

947 名前:Name_Not_Found 投稿日:2005/08/11(木) 20:16:20 ID:???
他のOOPと同じ感覚で使うためのポイントを洗い出したら
JavaScriptって大したことねーなと思えてくるから不思議。
ECMAScript E4Jは神がかって使いやすいからブラウザ標準にしてほしい。

948 名前:Name_Not_Found 投稿日:2005/08/11(木) 20:17:50 ID:???
E4Xだった

949 名前:Name_Not_Found 投稿日:2005/08/11(木) 20:17:58 ID:???
testClass.prototype.show2 = function() {
var str = this.v;
return function () { alert(str); }
}


950 名前:Name_Not_Found 投稿日:2005/08/11(木) 20:33:39 ID:???
>>949
それ、prototypeを使う意味が全くない気がするんだけど。
何のためにprototypeで宣言しているのか意味がわからない。
それに、その実装だと a.show()() という形で呼ばないといけないし。

this.show = function(_this) { return function(){ alert(_this.v); }; }(this);
同じ事をやるなら、こちらの方がマシじゃない?

951 名前:Name_Not_Found 投稿日:2005/08/11(木) 20:40:13 ID:???
>>944
document.getElementsByTagName('body')[0].addEventListener("mousedown", function() {a.show();}, false);

952 名前:Name_Not_Found 投稿日:2005/08/11(木) 20:41:20 ID:???
>>944
上でも書かれているけれど、なぜprototypeを使いたいの?
prototypeさえ使わなければ何の問題もなく解決できる種類の問題なんだけど、
なにかprototypeを前提とした制約があるなら、それを細かく書けば
何らかの助言が得られると思うよ。

ここ最近のレスを見ていて、夏でも意外とこのスレのレベルが悪くないと思った

953 名前:Name_Not_Found 投稿日:2005/08/11(木) 20:49:55 ID:???
function kurouja (obj, methodName) {
return function() { obj[methodName](); }
}

せめてメソッドの参照をわたせたらカッコが付くのだが


954 名前:Name_Not_Found 投稿日:2005/08/11(木) 21:00:35 ID:???
return function() { eval(str); }

分けずに皆囲ってしまえば問題ないことに気づいた。

955 名前:944 投稿日:2005/08/11(木) 21:12:52 ID:???
function init() {
var a = new testClass('a');
a.show();
document.getElementsByTagName('body')[0].addEventListener("mousedown", function() {a.show2();}, false);
document.getElementsByTagName('body')[0].onmouseup = a.show3;
}

function testClass(v) {
this.v = v;
this.show3 = function(){alert('3'+this.v);};
}

testClass.prototype.show = function() {
alert('1'+this.v);
}

testClass.prototype.show2 = function() {
alert('2'+this.v);
}

レス下さった方どうも。
1a, 2a, 3undefined になりました。

改めて質問、何故?現象としてこうなる、じゃなくて原理としてこうなる、って講釈をお願い。
call とか、 apply とかでもどうにかできるのでしょうか?この辺りの理解が足りないもので…

>>951
それが、私が今必要としているコードの様です。


956 名前:Name_Not_Found 投稿日:2005/08/11(木) 21:17:31 ID:???
>>955
globalスコープ(コンテキスト)にはどのスコープからもアクセスできる。
thisは呼び出されたスコープを指す(ここが普通のOOPと根本的に違う)

957 名前:944 投稿日:2005/08/11(木) 21:38:53 ID:???
>>956
なるほど、と言う事は undefined の時の this は、DOM body エレメントを指してるって理解でよろしいですか?

onmouseup に設定しているものは、a.show3 への参照で、
例えばa.showを設定すれば、prototype のそれへの参照になるだけで、
この際に、prototypeを使用したからとかクロージャとかは
この問題の本質(undefined になる)とは関係ないという理解でよろしいですか?

958 名前:944 投稿日:2005/08/11(木) 21:52:18 ID:???
function init() {
var a = new testClass('a');
a.show();
document.getElementsByTagName('body')[0].onmousedown = a.show3;
document.getElementsByTagName('body')[0].onmouseup = a.show;
}

function testClass(v) {
this.id = v;
this.show3 = function(){alert('3'+this.id);};
}
testClass.prototype.show = function() {
alert('1'+this.id);
}

自分でやってみました。<body id="body"> としています。
1a, 3body, 1body という結果になりました。

理解できました。非常に為になりました。みなさんありがとうございました。

959 名前:Name_Not_Found 投稿日:2005/08/12(金) 00:14:08 ID:???
var hairetu = new Array(3);
function kansuu(){
hairetu[0] = ("menu.png");
hairetu[1] = ("メニューです"); }


<img alt='"+ hairetu[1] +"' //略

だとALTは表示されたんですが

var hairetu = new Array(3);
function kansuu(){
hairetu[0] = ("menu.png","メニューです"); }

<img alt='"+ hairetu[0][1] +"' //略

だと表示されませんでしたボスケテつД`)・゚・。・゚゚・*:.。

960 名前:Name_Not_Found 投稿日:2005/08/12(金) 00:19:55 ID:???
hairetu = ("menu.png","メニューです");

<img alt='"+ hairetu[1] +"' //略

961 名前:Name_Not_Found 投稿日:2005/08/12(金) 00:20:23 ID:???
kansuuってなに?いらねーでしょ?

962 名前:Name_Not_Found 投稿日:2005/08/12(金) 00:45:04 ID:???
>>959
昨日ぼるじょあに回答もらってなかった?
http://pc8.2ch.net/test/read.cgi/hp/1122350593/916-920

963 名前:959 投稿日:2005/08/12(金) 01:01:48 ID:???
はい、Web初心者質問スレで質問したんですが
「すれ違いだろ」と言われましてJava質問スレに移住した所存でございますorz

ボルジョアさんの回答の文法がとても参考になり959の上部の表示方法はできたんですが
下部の表示はできなかったので質問しますた

964 名前:Name_Not_Found 投稿日:2005/08/12(金) 01:13:46 ID:???
>>963
ぼるじょあのスクリプトを例にすると

var a = new Array();


一次元配列(縦)ができるでしょ?

作った配列それぞれを配列にすると

a[0] = new Array("img001.png", "ここは画像1番です");

二次元配列(縦・横)になるわけです。


--
hairetu[0] = ("menu.png","メニューです");

ってやっても二次元配列にはならないです。

965 名前:Name_Not_Found 投稿日:2005/08/12(金) 01:14:59 ID:???
hairetu[0] = ["menu.png","メニューです"];
ってかけ

966 名前:Name_Not_Found 投稿日:2005/08/12(金) 01:29:18 ID:???
resource[0] = [url:"menu.png, alt:"メニューです"];

967 名前:Name_Not_Found 投稿日:2005/08/12(金) 01:32:54 ID:???
>>966
その書き方はECMA文法違反。

968 名前:ひとみ 投稿日:2005/08/12(金) 01:33:22 ID:pPVmo79B
868さんありがとうございます。
いろいろ調べて、以下のようなJSを書いてみました。

bunki.html
/////
<head>
<SCRIPT LANGUAGE="JavaScript">
<!--
var today = new Date();
var to_month = today.getMonth();
var to_date = today.getDate();
var to_year = today.getFullYear();

if(to_year == 2005 && to_month+1 >= 8 && to_month+1 <= 9 && to_date >= 1 && to_date <= 31){
self.location.href = "a.html";
}

else if(to_year == 2005 && to_month+1 >= 10 && to_month+1 <= 12 && to_date >= 1 && to_date <= 31){
self.location.href = "b.html";
}

else{
self.location.href = "c.html";
}

//-->
</SCRIPT>
</head>
PC上では、うまく分岐はしてくれたのですが、環境が携帯なのです。
携帯環境ではJavaScriptは、対応していないのでしょうか?
よろしくご教授お願いします。


969 名前:Name_Not_Found 投稿日:2005/08/12(金) 01:36:40 ID:???
携帯でやるばあいだと
普通そういうのはCGIのお仕事・・・

970 名前:Name_Not_Found 投稿日:2005/08/12(金) 01:50:05 ID:???
>>968
自分だったら
2005/08/01のタイムスタンプ
2005/11/30のタイムスタンプ
    :
を作っておいてタイムスタンプのまま比較するけどね

どのみち携帯向けだと
端末が JS を利用できることが期待できないので
サーバ側で振り分けるしかないと思うよ

971 名前:Name_Not_Found 投稿日:2005/08/12(金) 03:03:59 ID:???
>>967
じゃあどう書けばいいの?

972 名前:959 投稿日:2005/08/12(金) 03:07:23 ID:???
確かにkansuu不要でしたね
960さんのもダメだった・・orz
undefineって表示されます

hairetu[0] = ("menu.png");
hairetu[1] = ("メニューです");

<img alt='"+ hairetu[1] +"' //略

↑これなら表示されます

hairetu = ("menu.png","メニューです");

<img alt='"+ hairetu[1] +"' //略

↑これ無理でした

この差はなんでしょうか・・







973 名前:959 投稿日:2005/08/12(金) 03:11:50 ID:???
うわ、更新押してないで作業してたヨ;´Д`)
返答ありがとうございます
勉強になります

974 名前:Name_Not_Found 投稿日:2005/08/12(金) 03:14:23 ID:???
>>968
うむ、JSじゃ携帯無理。

CGI や PHP にアクセスさせるか、
どうしても HTML にアクセスさせたいなら、
その 12/1 に最初にアクセスした人がそのHTMLを書き換えてしまうような CGI・PHP を作って、
こっそり <IMG> しこませといてその都度アクセスしてやるのもいいかも知れない。
SSI でもいいし。
あとは cron を使うとか。

まあとりあえず JS はスレ違いっすね。

975 名前:959 投稿日:2005/08/12(金) 03:19:26 ID:???
キタ─wwヘ√レvv〜(゚∀゚)─wwヘ√レvv〜─ョ !!
965さんのでばっちり出ました
ありがと〜

976 名前:959 投稿日:2005/08/12(金) 03:42:37 ID:???
964さんのも合ってました!
2度目のnew Arrayは横配列を作る意味があったんですね・・
スゲー勉強になりましたm_ _)m

977 名前:Name_Not_Found 投稿日:2005/08/12(金) 03:56:11 ID:???
hoge = {url:"img.gif", alt:"イメージだって"};
alert(hoge.url);
alert(hoge.alt);

JSONは[]じゃなくて{}という罠

978 名前:959 投稿日:2005/08/12(金) 08:06:20 ID:???
↓また表示できずorz今度違う箇所です

var hairetu = new Array(1);
hairetu[0] = new Array("menu1.png","menu2.png","メニューです");

<a onclick="showa1(a1)">
<img src=hairetu[0][0] alt=hairetu[0][2] onmouseover=this.src=hairetu[0][1] //略

srcとaltが表示できませんでした
onmouseoverはちゃんと表示します
src='"+ hairetu[2][7] +"' これも src='+ hairetu[2][7] +' これもだめでした


979 名前:Name_Not_Found 投稿日:2005/08/12(金) 10:27:21 ID:???
すみません、質問させて下さいませ
演算で正しい結果が得られなくて困っています

 s2=(document.f1.k.value * 10 + document.f1.k2.value) * document.f1.b.value;


kとk2は一行フォームから入れさせる変数で、
bは指定の倍率です。

例:(10*10+1)*0.8=800.8000000000001
になってしまいます……


変数を使って
 var 2k2 = 0;
 2k2 = document.f1.k.value * 16;
 s2=(2k2 + document.f1.k2.value) * document.f1.b.value;

としてもやっぱりうまく行きません


別の、括弧を使わない簡単な乗算は出来ているので、
式の作り方に問題があるのだと思うのですが
2重括弧を使うわけでもなさそうだし一体何を勘違いしているのやら;
もうここずっと唸りっぱなしです、助言お願いしますorz

980 名前:Name_Not_Found 投稿日:2005/08/12(金) 10:29:25 ID:???
誤 2k2 = document.f1.k.value * 16;
正  2k2 = document.f1.k.value * 10;

です

981 名前:Name_Not_Found 投稿日:2005/08/12(金) 10:52:57 ID:???
>>3 >>574 >>584 >>587
適当な位で四捨五入が簡単な解決方法だと思う
function myround(x){ return Math.round(x*1000)/1000; }

982 名前:Name_Not_Found 投稿日:2005/08/12(金) 14:00:47 ID:???
オマイラテンプレの議論は960越えてからじゃねぇ?
誰も口出さないってことは、このままで宜しい?
と、問題提起しとくんで、

   あとはいつもの人次スレうp頼む。

というか、お休み中ですか?

983 名前:vol.37-663より 愛を込めて 投稿日:2005/08/12(金) 14:42:23 ID:???
人大杉なの?
誰も何とも言わないし、980越えてたんで立てといたぞいっと。

984 名前:vol.37-663より 愛を込めて 投稿日:2005/08/12(金) 14:51:02 ID:???
リンク先変更の申請も完了!!

+Javascriptの質問用スレッドvol.40+
http://pc8.2ch.net/test/read.cgi/hp/1123824815/


戻る

偽Dat2HTML LO v1.0b13 Converted.
無料レンタル無料ホームページ無料オンラインストレージ