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

このエントリーをはてなブックマークに追加
952Name_Not_Found:2010/09/08(水) 08:43:32 ID:???
innerHTMLの便利さから抜けられないっす
953Name_Not_Found:2010/09/08(水) 08:55:06 ID:???
サーバサイドでHTML作ってinnerHTMLで流し込むのが楽なのは事実。
速度的にはどうなんだろう、DOMいじるよりも速そうな気はする。
ぐぐれば見つかる気もするけど今日暇があったら試してみよう。
954938:2010/09/08(水) 11:14:49 ID:S3JcGJS3
>>951
ありがとうございます。
DOMで丁寧に階層を掘りながらやっていったら、成功しました。
どのブラウザでも問題ないです。


速度差については、興味深いですね。
「innerHTML dom 比較」でぐぐると色々出てくるようです。
http://tockri.blog78.fc2.com/blog-entry-9.html
http://www.enjoyxstudy.com/misc/20051231/create_dom.html
955Name_Not_Found:2010/09/09(木) 02:09:34 ID:???
http://www.cutt.co.jp/book/4-87783-818-X.html
http://www.cutt.co.jp/book/anser818/anser16_2.html
突然失礼します。訓練校で上記の本を使って、HTMLを習っている初心者なので
すが、IEやsleipnirで演習16-2がうまく動作しません。firefoxやez-htmlで
確認してみると動きます。「開く」は動作するのですが、「閉じる」が動作
しません。「開く」のところで参照している関数内で、例えば
setTimeout("sub.close()",5000); を挿入するとIEでも閉じる動作をします。
(「開く」ボタンで開いた後で、閉じてるので、全く意味が無いですが・・・)
「閉じる」のほうの関数にうまく子窓の情報が行ってないのかもしれません。
訓練校の先生に聞いてもうまくはぐらかされるので解決できず、ひたすら
ネットを徘徊していたのですが、結局解決に至りませんでした。家のPCでも
学校のPCでも同じでした。分かる方おられましたらお願いします。
956Name_Not_Found:2010/09/09(木) 02:31:08 ID:???
>>955
IE6、IE8でそのサンプル問題なく動いたけど。
コード晒してもらわないと分からない
957Name_Not_Found:2010/09/09(木) 06:35:33 ID:aYJrSb3/
>>955
そもそもsubは配列として使ってるのに、
sub.close()が動く時点で、なんかあやしい。
958Name_Not_Found:2010/09/09(木) 07:27:47 ID:???
>>957
配列には開いたウインドウの要素が入ってるから動いて当たり前
959Name_Not_Found:2010/09/09(木) 07:49:33 ID:aYJrSb3/
>>958
もうすぐ8時だぞ。
顔洗って朝飯食って目を覚ませ。
960955:2010/09/09(木) 09:06:00 ID:???
自分の家のPCや学校のPC(周りの人含む)ではこのサンプルでも
動かなかったので、気になってたのですが、956さんのほうのIEでは
動いたと言うことは、ブラウザなどのセキュリティ設定が違っている
ということなのでしょうか。

sub.close() と書いたのは例えばってことなので、上で実際に試したのは
下記のようなものです。今書きながら試していて気づいたのですが、
自分のIEだとsetTimeout("sub[s].close()",5000)のように、
配列で指定しても動きませんでした。setTimeout("sub.close()",5000)で
動きました。

url=new Array(3);
url[0]="http://www.kantei.go.jp/";
url[1]="http://www.shugiin.go.jp/";
url[2]="http://www.shugiintv.go.jp/";
//sub=new Array(3);

function hiraku(s){

//sub[s] = window.open(url[s]);
sub = window.open(url[s]);
setTimeout("sub.close()",5000);

}
function toziru(t){


sub[t].close();

}
961Name_Not_Found:2010/09/09(木) 09:16:44 ID:???
setTimeout(sub.close,5000)
setTimeout(function(){sub.close()},5000)

こんなんじゃだめ?
というかそのソースはどこからでてきた
それを先に書かないと混乱するとおもうぞw
962960:2010/09/09(木) 10:44:29 ID:???
学校から書き込みしています。レスありがとうございます。
問題のソースは955の2行目にあります。それが問題集のサンプルなのですが
firefoxやez-html(エディタのプレビュー機能)では動いています。
でも、IEやsleipnirでは、955のサンプルが「開く」は動作するのですが、
「閉じる」が動作しません。なので、960のような変更などをいろいろ試みて
いるのですが、955のサンプルの本来の動きを再現できていません。
960の変更では、見た目の通り、function hiraku(s)の部分しか動きません。

function toziru(t)の部分を自分のIEで機能できるようにならないものか
と思って書き込みさせて頂きました。混乱させてしまい申し訳ありません。

>961様
上記のとおり、hiraku(s)内のsetTimeout("sub.close()",5000)は機能できて
います。サンプルの通り、配列にしたときにIEでうまく動作していないのと、
toziru(t)にうまく開いたwindow情報が伝わっていないのかなぁと感じたので
書かせて頂きました。動いていない確認をしたのは、学校のIE(win7)と
自分のIE、sleipnir(XP)です。
963960:2010/09/09(木) 10:50:46 ID:???
960で自分で追加した部分は
sub = window.open(url[s]);
setTimeout("sub.close()",5000);

windows.close()の動作確認のために削除した部分は下の2か所のみです。
//sub=new Array(3);
//sub[s] = window.open(url[s]);
964960:2010/09/09(木) 11:30:50 ID:???
連続投稿すみません。今学校で、ソース元自体をクリックするとちゃんと
IEでも同じwindow内にタグとして表示でき、closeできることを確認でき
ました。試しにそのソース自体を自分のデスクトップにファイルとして
保存してから、それをクリックすると、タグではなく別windowで開き、
closeできず、下記のようなエラーを吐きました。自分のgeoのHP
(indexと同じ階層)に試しにデスクトップのファイルをアップすると
きちんと別タグを表示(リンク先のページはなぜか表示できません)して、
closeも機能できることを確認しました。何か納得できない感じですが、
少しほっとしたような気分です。朝からお目汚しすみませんでした。

Web ページ エラーの詳細

ユーザー エージェント: Mozilla/4.0 (compatible; MSIE 8.0;
Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729;
.NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; .NET4.0C; .NET4.0E)

タイムスタンプ: Thu, 9 Sep 2010 02:28:29 UTC

メッセージ: 'sub[...]' は Null またはオブジェクトではありません。
ライン: 26
文字: 3
コード: 0
URI: file:///C:/Users/Owner/Desktop/test_html/tojiru.html
965Name_Not_Found:2010/09/09(木) 11:50:35 ID:???
セキュリティ上の問題からローカルファイルに保存したものは
鯖から直接開いたものより制限がきついところがある。そのことを
教えない学校って何なんだろね。あんたも肝心なことを >>964
まで書かなかったという点でダメダメだけどね。
966Name_Not_Found:2010/09/09(木) 11:58:11 ID:???
新スレは975超えたら。テンプレの変更はなしで。
967960:2010/09/09(木) 12:33:48 ID:???
>965様
すみませんでした。ローカルでいろいろ作成したものをそのままクリックして
試してたのですが、これまでのものはうまくいってたのに、この問題だけ
いきなり動作がおかしかったので、投稿させていただきました。

個人的にはHP持っているのですが、学校ではまだサーバーにアップロードを
したこともなく、ローカルのみで検証作業をしていました。firefoxでは
表示できなかったことがあったのですが、今回はie系だけで表示ができ
なかったので、混乱してしまってました。ひたすらローカルでの検証だった
ので964の検証まで思いつかず、ついさっきまでできていませんでした。
申し訳ございませんでした。学校の先生に聞いても基金訓練で勉強してるせいか
教科書のことを説明するだけで、的確に質問の答えを言ってくれないので、
結局こういった掲示板が便りです。この事象が起きた時も、他では動いている
と言われ、ソースを1行もみてくれませんでした。泣きそうです…。
助かりました。
968Name_Not_Found:2010/09/09(木) 13:01:25 ID:???
この本、安いのは良いがレガシーな記述が多い
script typeじゃなくてscript languageなサンプルが載ってる本はもう時代遅れだ

webデザイン系のコースならともかく、本気で勉強したいなら違う本買って先先やっていけ
「涼しい場所提供してくれるところ」程度に思って自主的に勉強してかないと、うっすーい3ヶ月?になっちまうぞ
969Name_Not_Found:2010/09/09(木) 19:15:30 ID:???
サイ本かcrockford本のどっちかに、JavaScriptの文字は
Unicodeが2バイトだった時代に策定されたって書いてあったんだけど
これが本当だとすると、
メイリオを使って変数名を書くと仕様違反になる可能性がある?
ES5あたりでは変わってそうだけど
970Name_Not_Found:2010/09/09(木) 20:39:29 ID:???
メイリオって言われてもフォント・・・フォントとかJS全く関係ないし
971Name_Not_Found:2010/09/09(木) 21:06:13 ID:???
メイリオがどういう文字セットに対応してるか知らない人は答えなくて良いです
972Name_Not_Found:2010/09/09(木) 22:31:18 ID:???
その発想はなかった
目から鱗の質問だ
973Name_Not_Found:2010/09/09(木) 23:07:13 ID:???
「メイリオを使った環境で、何がBMPで何が拡張文字かを意識せずに」
コードを書いたら、ってことか
974Name_Not_Found:2010/09/09(木) 23:10:21 ID:???
変数は1バイト文字だけにしてくれお願いだからw
975Name_Not_Found:2010/09/09(木) 23:19:56 ID:???
まったくだw
976Name_Not_Found:2010/09/09(木) 23:30:01 ID:???
javascriptである画像をドラッグしたら
ページの背景が変わるとかいう処理はできますか?
ドラッグ自体が苦手そうなジャバスクリプトなんですが・・・
977Name_Not_Found:2010/09/09(木) 23:31:16 ID:???
できます。
苦手なら頑張りましょう。
978Name_Not_Found:2010/09/09(木) 23:43:20 ID:???
>>976
mousedownイベントを捕まえて、その後はmouseupイベントが来るまで
マウスの動きに追従してposition:absoluteのブロック要素を動かすだけで
ドラッグしてるように見える。
楽をしたければjQuery UIとかYUIとかのライブラリ使うといいよ。
979Name_Not_Found:2010/09/09(木) 23:46:07 ID:???
ドラッグ&ドロップのコードを書いたら、背景を変えるのなんて簡単。
で、ドラッグ&ドロップに関しては、
onmousedownでドラッグのフラグを立てて、
onmousemoveで対象エレメントのtopとleftを指定する感じ。
980Name_Not_Found:2010/09/10(金) 01:25:02 ID:???
>>978-979
ありがとうございます
がんばってみます
981Name_Not_Found:2010/09/10(金) 07:48:31 ID:???
>>980
次スレよろ
982Name_Not_Found:2010/09/10(金) 14:22:38 ID:???
次スレ
http://hibari.2ch.net/test/read.cgi/hp/1284091954/l50

本スレの残りは適宜利用よろ。Web制作板に移れって? プログラミングが
できない池沼が自分が理解できないものを目にしたくないだけだよね。
(次スレの6番参照)
983Name_Not_Found:2010/09/10(金) 18:35:50 ID:???
どっちでもいいんじゃね。
俺がここにたどり着いたのは、板からじゃなくて検索掛けてだったかな。
ヒットしたらどこの板でも質問はするだろう。おそらく。
984Name_Not_Found:2010/09/11(土) 09:24:05 ID:???
HTML もプログラミングの一種に考えられるんだから、
HTML 関連のスレも移動しますかね。
985Name_Not_Found:2010/09/11(土) 09:35:28 ID:???
そうですね勝手にどうぞ
986Name_Not_Found:2010/09/11(土) 23:03:41 ID:???
>HTML もプログラミングの一種に考えられるんだから
考え込んでしまった
マークアップ言語でも、コーディング作業はプログラミング、と呼ぶのだろうか
987Name_Not_Found:2010/09/11(土) 23:19:33 ID:???
天動説を信じようが何をしようが、日本国では思想の自由が認められています。
988Name_Not_Found:2010/09/11(土) 23:22:14 ID:???
知ってる
989Name_Not_Found:2010/09/11(土) 23:46:04 ID:???
むしろ HTML をプログラミング言語と捉えられないやつの程度が知れる罠。
990Name_Not_Found:2010/09/12(日) 00:07:19 ID:???
むしろ 日本語 をプログラミング言語と捉えられないやつの程度が知れる罠。
991Name_Not_Found:2010/09/12(日) 00:08:00 ID:???
制御構造がないもの
プログラミング言語と言われてもどうなんだろうとは思うな
992Name_Not_Found:2010/09/12(日) 00:08:54 ID:???
コンピュータに命令してんだからプログラミング言語だろ
993Name_Not_Found:2010/09/12(日) 00:12:23 ID:???
それなら、タイピングもプログラミングだわ
994Name_Not_Found:2010/09/12(日) 00:12:48 ID:???
>>990
天動説を信じようが何をしようが、日本国では思想の自由が認められています。
995Name_Not_Found:2010/09/12(日) 00:13:32 ID:???
>>993
それは違くね?
996Name_Not_Found:2010/09/12(日) 00:15:43 ID:???
>>992
コンピュータに命令してんのはブラウザだろ
997Name_Not_Found:2010/09/12(日) 00:16:53 ID:???
音声文字入力もコンピュータに命令してるからプログラミングです。
998Name_Not_Found:2010/09/12(日) 00:17:43 ID:???
マウスもコンピュータに命令してるからプログラミングです
999Name_Not_Found:2010/09/12(日) 00:21:12 ID:???
性行為こそ究極のプログラミングです。
1000Name_Not_Found:2010/09/12(日) 00:22:27 ID:???
全てプログラムです
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。