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

このエントリーをはてなブックマークに追加
1Name_Not_Found
━━━本スレに書く事を許される者は以下の通り━━━━━
 一、正しい(validな)HTMLとは何か知っており書ける者
 一、JavaScriptはJavaとは別物であると知っている者
 一、自ら学んでJavaScriptコードを書く意思を持つ者
 一、ユーザに迷惑となるスクリプトを書かない者
 一、質問を分かる日本語できちんと説明できる者
 一、トラブルを再現する最小限のサンプルを貼れる者
 一、テンプレ+FAQ>>2-10/過去ログ/関連資料を読める者
━━━━━━━━━━━━━━━━━━━━━━━━━━━
自力で書く気がない人は他のスレへ(テンプレ末尾参照)。
前スレ http://pc11.2ch.net/test/read.cgi/hp/1273328285/
[必読]過去スレ全集 http://www2.atpages.jp/mirror/2ch/javascript/
      (閲覧のみ) http://usamimi.info/~mirrorhenkan/2ch/javascript/
      (閲覧のみ) http://wing2.jp/~mirrorhenkan/2ch/javascript/
[必読]ガイド https://developer.mozilla.org/Ja/JavaScript
(GuideをReferenceに→Netscape版言語仕様。多くの実装が準拠:ECMA-262.ed3)
FAQ・注意・過去ログ・仕様書・関連資料・関連スレ>>1-7
2Name_Not_Found:2010/06/24(木) 11:55:03 ID:???
【質問を書く上で】
1)ユーザ(閲覧者)に迷惑がかかる性悪スクリプトは回答されない。
 例: 別窓開きまくり、閉じる/戻るのを妨害、全画面占有、etcは最悪。
 答えさせようと「分からねえんだろ」と煽っても無駄(過去スレが証明)。
2)言葉でぐだぐだ書かずにソースを貼る、ただし要点を整理して。
 そのまま貼って動かせると試してもらいやすい(ただし回答者に連結さすな!)
 長い(1レスに入らない)場合はアップロードしてURIを貼る。
3)初心者という言葉は危険なので使わない方がよい。
 初心者を言い訳に自力で調べない/考えない奴が最悪に嫌われる。
4)自分で調べたこと/試したこときちんと書く(調べもしない奴は最低)。
 ただ「動きません」「エラーです」は何も情報がないため嫌われる。
 エラーは「どの行で何のエラー」を書く(ブラウザをそのように設定すれ)。
 ブラウザの設定すらできんヤシはFFxのJavaScriptコンソールを使え!!!
 OS、ブラウザ、バージョン、うまく行かない条件を明記しエラー再現可能に。
5)特に古いバージョン限定の時は必ず明記! 回答もチグハグになり回答者に2度
 手間を食わせる可能性大
6)どういう時にどういう動作をさせたいのかを脳内にとどめずきちんと書く。
 例:「自動ポップアップしたい」←どういう場合(マウスオーバー、クリック、
 ボタン押し、select選択)に何(別窓、レイヤー、その他)が出るのか書け!
7)質問はまっとうな(他人に理解できる)日本語で。
 前項の例に限らず、他人に理解できない質問文は煽られるだけで時間の無駄
3Name_Not_Found:2010/06/24(木) 11:56:03 ID:???
【FAQその1】
Q1. 開いた別窓/フレームの内容にアクセスできないのですが…
A1. ページ内容が別サーバの場合セキュリティ制約により絶対無理です。
Q2. JavaScriptでローカルファイルを読み/書きたいのですが…
A2. Webではセキュリティ制約により絶対無理です。できたら恐ろしいことに…
Q3. 同じタグの中でonclick="foo()"とonclick="bar()"を同時に使いたいのですが…
A3. セミコロンで複数の文を区切れます。onclick="foo();bar();"としましょう。
Q4. document.write(...)でページ内容を追加したいのですが…
A4. 一度ページ表示完了後にwrite()すると内容はクリアされちゃいます。
  部分的に内容変更するには(1)他フレーム/iframe/別窓への表示、
  (2)textarea等への表示、(3)DOMでノード挿入、(4)innerHTMLのどれかで。
  innerHTMLは非標準ですがIE、Opera、Safari、Gecko(N6/N7/Firefox等)で対応済。
Q5. table/tbody/tr要素のinnerHTMLを書き換えるのがうまく行かないのですが…
A5. IEはそれらの要素のinnerHTMLは変更不能。DOMを使って書き換えるか
  <div><table>...</table></div>とでもしてdivのinnerHTMLを書き換えましょう。
Q6. DOMでtable要素にtr要素を追加しても表示されないのですが…
A6. DOMでは(XHTML 1.x除く)tbody要素にtr要素を追加する必要があります。
  tbody要素はtbodyタグを書いていなくても自動的に作成されます。
  またはtable.insertRow()/tbody.insertRow()を使いましょう。
Q7. 変数w1、w2…を順にループで(番号をiに入れて)設定/参照したいのですが…
A7. グローバル変数はwindowのプロパティだからwindow['w'+i]を読み書きすれ。
Q8. フォーム部品名を変数にした「...myform.変数名.value」が動きません…
A8. 「document.forms.myform.elements[変数名].value」でどぞ。
  JavaScriptでは一般に「obj.x」と「obj['x']」は同じ意味です。
Q9. Aタグのonclickで動作指定してるのですが時々動きません…
A9. 「onclick="...;return false"」としないとページ移動しちゃうから。
4Name_Not_Found:2010/06/24(木) 11:58:03 ID:???
【FAQその2】
Q10. CSSで設定した背景色がe.style.backgroundColorで取得できないのですが…
A10. 取得には document.defaultView.getComputedStyle() を使う必要あり。
  IEでは要素オブジェクトのプロパティcurrentStyleを使う。
Q11. 100*1.15の結果が114.999…998となってしまうのですが…
A11. コンピュータの実数計算は全て近似値だと思え。誤差が嫌なら整数で計算。
Q12. 任意のデータをサーバ(別鯖ではない)から取り寄せたいのですが…
A12. IE7/Gecko/Opera/Safariのnew XMLHttpRequest()、IEの
  new ActiveXObject("Msxml2.XMLHTTP.6.0") (または"Msxml2.XMLHTTP.3.0")
  を使えばできます。古いブラウザだと隠しフレームに読むなどのワザが必要。
Q13. setAttribute("class","foo")、setAttribute("onclick","bar()")が動きません…
A13. IEではそれは不可。「obj.className="foo"」「obj.onclick=bar」でどぞ。
  複数の関数を呼びたいときは obj.onclick=function(){foo();bar();};
  という風に無名関数を作りましょう。中に書かれたコードが実行されます。
Q14. タイマーやイベントハンドラに設定するコードにthisを含めたいのですが
  「"...this..."」とか「function(){...this...}」ではうまく行きません。
A14. それらが実行されるときはthisは別のもの(window等)を指してしまってる。
  「function(x){return function(){...x...};}(this)」のようにthisを別の変数に
  束縛しその変数を使って。循環参照によるメモリリーク問題あり(この項記述検討中)
Q15. 文字列の置き換えをするときにコードを使いたい(Perlのs///e)のですが…
A15. string.replace(/.../,function(str,p1,p2,...,offset,s){...})としましょう。
  正規表現にマッチした文字列がreturnで返された文字列に置き換えられます。
  各引数はstrがマッチした部分文字列、p1,p2,...が1番目、2番目、…の()の中身、
  offsetがマッチした位置、sが置き換え前の文字列全体になります。
5Name_Not_Found:2010/06/24(木) 11:59:15 ID:???
【FAQその3】
Q16. input type="file"の値を設定(参照)できないのですが…
A16. セキュリティ制約のため設定は絶対に不可。参照はブラウザにより不可。
Q17. getElementById('ID名')や$('ID名')で要素が取れないのですが…
A17. コード実行時点でHTMLがそこまで読まれてない。onload中でやるとか。

【主張の対立:他人の嗜好は尊重。損得の議論は歓迎】
・仕様を読む:回答者なら仕様の該当部分は読んでいるべき。質問者でも
 仕様を読まずうだうだ書く奴は注意されて当然。読み間違いは生温く指摘。
・英文文書:翻訳の努力を惜しむべからず。 読めないなら和訳を探し、
 なければあきらめよう。翻訳サイトを知っている人はうまく誘導してあげて。
・IE専用/アンチIE/クロスブラウザ:「○○は不要」「○○だけであと
 は無視」は不毛。質問者が分かって選択していれば尊重する。無知か
 らIE専なのは指摘してあげると親切。
・標準準拠 vs 使えればよい:標準はブラウザが変わっても維持される
 可能性大。非標準機能も損得を分かった上で使うならよい。
・MS vs アンチMS:MS固有の情報はMSのサイトで見ないと分からないが、
 そこだけ見ているとIE専になる。あとは上2件と同様。
・別窓、イベント抑止など:一般には迷惑スクリプトだが質問者に正当
 な理由があることも。尋ねて分かってないようなら煽っても可(w
・innerHTML vs DOM:それぞれに長所/弱点があるので理解した上で選
 択するべき。一概にどちらは駄目、とは言えない。
・on属性 vs addXXX():ハンドラが1つだけと分かっていればon属性
 で簡単にハンドラを設定もあり。上書きが心配ならaddXXX()。
6Name_Not_Found:2010/06/24(木) 12:30:45 ID:???
7Name_Not_Found:2010/06/24(木) 12:33:42 ID:???
【チュートリアルサイト・サンプルサイト】
規格が読めないならまずはチュートリアル。サンプルサイトも沢山ある。
(以下は精選すべきとの議論あるが進んでいないので玉石混淆)
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
http://www.openspc2.org/JavaScript/
【関連スレ】
板違い、スレ違いに注意!サーバ側での処理はWebProg板へどぞ!
Webサイト制作初心者用質問スレ part218
http://pc11.2ch.net/test/read.cgi/hp/1274111468/
CSS初心者スレッド=8th=
http://pc11.2ch.net/test/read.cgi/hp/1273383771/
役に立つ書籍は? 4冊目
http://pc11.2ch.net/test/read.cgi/hp/1172823674/
1行javascriptプログラミング   
http://pc11.2ch.net/test/read.cgi/hp/1066750037/
WSH(・∀・)スレッド! Part 4
http://pc12.2ch.net/test/read.cgi/tech/1243095768/
8Name_Not_Found:2010/06/24(木) 17:45:18 ID:md1cxJO1
javascriptでoneko作りたいのですが。
onekoというのはヌコがマウスポインタを追いかけるソフトで、こういう奴です。
http://www.nicovideo.jp/watch/sm7979200
9Name_Not_Found:2010/06/24(木) 17:52:00 ID:???
1)ユーザ(閲覧者)に迷惑がかかる性悪スクリプトは回答されない。
10Name_Not_Found:2010/06/24(木) 18:18:21 ID:???
>>8
で、どこが質問?
11Name_Not_Found:2010/06/24(木) 18:48:27 ID:???
ただの意思表明だな
12Name_Not_Found:2010/06/24(木) 18:54:57 ID:md1cxJO1
>10
どういう風に作ればいいのでしょうか?
13Name_Not_Found:2010/06/24(木) 19:00:54 ID:???
setintervalで
14Name_Not_Found:2010/06/24(木) 19:33:47 ID:uXE+3ii/
>>12
「javascript マウス 追う」
上のキーワードで検索したら、答え見つかったんだけど?
そもそも、javascriptで作るって解ってることが不思議なんだよ。

http://www.nurs.or.jp/~sug/html/chap7/neco.htm
15Name_Not_Found:2010/06/24(木) 19:43:31 ID:???
「マウスストーカー うざい」で検索したらいい
16Name_Not_Found:2010/06/24(木) 21:19:31 ID:???
IE(ver8で確認)ではinnerHTMLで取得した値は行頭スペースや改行コードが除去されてしまっているようなのですが
IEでelementから改行コードを保持したままソースを取得するにはどうすればいいでしょうか?
chrome5やFirefox3.6ではちゃんと行頭スペースや改行コードを含む値が得られました。
取得しようとしているelementの中身はテキストとbrタグだけではなく、色々なタグを含んでいます。
17Name_Not_Found:2010/06/24(木) 22:01:25 ID:???
IEを無視
18Name_Not_Found:2010/06/24(木) 22:08:37 ID:???
要素に任意の値を持たせたいんだけど何か方法はある?
IEなら
<span style="hoge1:abc;hoge2:xyz" />
みたいにstyleプロパティに任意のデータを割り当てられたんだけど
Firefox,Opera,Chromeは全部ダメだった。
19Name_Not_Found:2010/06/24(木) 22:35:38 ID:???
>>18
なんでstyle属性を使おうとしてるのか理解に苦しむが
<span hoge1="abc" hoge2="xyz" />
じゃ駄目なのか?
20Name_Not_Found:2010/06/24(木) 22:52:42 ID:???
むしろこれでいいじゃないか
<input type="hidden" value="="hoge1:abc;hoge2:xyz" />
2120:2010/06/24(木) 22:54:19 ID:???
すまんちょっとミスった
<input type="hidden" value="hoge1:abc;hoge2:xyz" />
22Name_Not_Found:2010/06/24(木) 23:07:57 ID:???
>>16
そもそも、改行付きのコードを取って何に使いたいわけ?
それによっては改行いらんと言えるかもしれん。
23Name_Not_Found:2010/06/25(金) 01:11:43 ID:???
>>18

<span data-hoge1="abc" data-hoge2="xyz">

getAttribute で取る。
Firefox、Safari、IE でさっきテストしてみた。
24Name_Not_Found:2010/06/25(金) 01:17:21 ID:???
xmlなの?
25Name_Not_Found:2010/06/25(金) 18:49:12 ID:1LAdTfal
既存の属性だけでやる場合だと、
relとかclassが犠牲になることが多いな、俺は。
26Name_Not_Found:2010/06/25(金) 20:32:27 ID:???
jQueryのプラグインだとtitleやclass使ってる例が多いね。
27Name_Not_Found:2010/06/25(金) 22:33:19 ID:xvY3awsI
OS:WinXP-Pro,ブラウザ:Firefox3.6.4使用
JSでテキスト(data0.txt)の中身を読み込んで、ブラウザでalert()出力したく思って
いますが何も表示されないので困っています。

テスト段階なのでdata0.txtは1行のみの極単純なものです。
(テキストの中身: 西暦,為替[円/$],名目GDP[兆円],間接税率[%],税収[兆円])

参考にしたサイトは下記です。
ttp://f29.aaa.livedoor.jp/~morg/wiki/index.php?JavaScript%2F%B3%B0%C9%F4%A5%C6%A5%AD%A5%B9%A5%C8%A5%D5%A5%A1%A5%A4%A5%EB%A4%F2%C6%C9%A4%DF%B9%FE%A4%E0%A5%B5%A5%F3%A5%D7%A5%EB

<書いた内容> ※すいません全部書きます。
function myReadTextFile(strFileName) {
iomode = 1;
format = 0;//ASCIIフォーマットで読み込む
// ファイルシステムオブジェクト
myobject = new ActiveXObject("Scripting.FileSystemObject");
// OpenTextFile()でファイルを開く
file = myobject.OpenTextFile(strFileName, iomode, true, format);
strFileData = "";
// eofが来るまで 1行ごとに読む
while (!file.AtEndOfStream) {
// ReadLine() で1行読む
strFileData += file.ReadLine()+"\n";
}
// ファイルを閉じる
file.Close();
// データを返す
return strFileData;
}
window.alert(myReadTextFile("data0.txt")+" です");

すいませんが問題点をご指摘願います。
28Name_Not_Found:2010/06/25(金) 22:44:19 ID:???
FirefoxでActiveXは使えません
2927:2010/06/25(金) 23:16:08 ID:???
>>28
あーほんとだ。元サイトに「ActiveXが有効であり」と書いてあった。

ちなみに、ttp://www.happy2-island.com/vbs/cafe02/capter00205.shtml
のJavaScriptはFirefoxで使えますか?
(もっと簡単な記述を探していますが、これ以上のものが見つかりません)
30Name_Not_Found:2010/06/25(金) 23:49:29 ID:???
>>29
使えません。
それはWSHだ。IE上で動くJavaScriptですらない。
31Name_Not_Found:2010/06/26(土) 00:29:24 ID:???
webブラウザでファイル読みたいなら今のところajaxじゃないか
32Name_Not_Found:2010/06/26(土) 00:36:21 ID:???
CGI使えないサーバにHPがある所では無理ですよねえ...
33Name_Not_Found:2010/06/26(土) 00:52:59 ID:???
クライアント側のjavascriptでどうこうしたいというなら、
CGIが使えるかどうかなんて関係ないんじゃないか
34Name_Not_Found:2010/06/26(土) 01:19:23 ID:???
>>33
JavaScriptだけで出来るの?
35Name_Not_Found:2010/06/26(土) 01:32:12 ID:???
>>27の目的だけなら出来るだろう
36Name_Not_Found:2010/06/26(土) 01:32:40 ID:???
できる
自分でブラウザ分岐を書くのが面倒なら、
prototype.jsのAjax.Requestを使えばいい
3727:2010/06/26(土) 01:56:47 ID:???
すいません。目標は、JavaScriptで外部ファイル(テキスト,CSV)より
数値を読み込んでHTML5のCanvasでグラフを描くことです。

ttp://sites.google.com/site/gorogoronyan/Home/html5-canvas-deta-yomitori
では例がありますが、
「こちらは、Firefox3.5 でのみ動作します。Safari 4、Chrome、Opera は不可。」
ということなので、他のブラウザでの応用が出来ないので苦慮しています。
38Name_Not_Found:2010/06/26(土) 02:22:27 ID:???
XHR使ってもChromeはダメなんだっけか。
まあHTTPを介さず、ローカルのファイルに直接アクセスしようという
発想自体がJavaScriptの(少なくとも現在のJSの)守備範囲から外れているので、
そういう制限がかかってくるのはもう仕方がない。
3927&37:2010/06/26(土) 04:15:13 ID:???
>>38
う〜ん、そうなんですか。。。
Canvasタグでも画像は簡単に読み込めたので、テキストも簡単に
読み込めると思っていました。
40Name_Not_Found:2010/06/26(土) 08:50:06 ID:???
>>39
少し前まではChromeでもXHRでローカルファイルにアクセスできたような記憶がある
Operaの最新版とSafari4.05ではアクセスできた、IE8は無理だった
複数のブラウザでの動作を狙うなら、テキストの中身を直接jsに書き込む方が手っ取り早いかもね
41Name_Not_Found:2010/06/26(土) 11:40:39 ID:???
>>39
落ち着け。まず整理しよう。
おまえがやろうとしていることは、
1. htmlが置いてあるサーバ内にあるテキストを読み込みたい
2. htmlが置いてあるサーバではないが、web上のどこかにあるテキストを読み込みたい
3. htmlにアクセスしてきたユーザマシン内にあるテキストを読み込みたい
の、どれだ。

1なら簡単にできる。2ならちょっとトリッキーなことをすれば出来る。
3は無理だ。ただし、まずファイルをアップロードさせれば1か2の手段で読むことは可能だ。
42Name_Not_Found:2010/06/26(土) 11:44:34 ID:???
>>37
http://cl.pocari.org/images/dev.png
顧客が本当に必要だったものは、
『※CSVの内容をこのテキストボックスにコピペして、[グラフを描く]ボタンを押してください』
という実装な気がする。
4327&37&39:2010/06/26(土) 13:04:07 ID:???
>>40-42
お手数をお掛けします。私がやろうとしているのは、

PC売り上げデータなどのテキスト(CSV)を作成(更新)
→ サーバーにUp
→ リロードなどで最新の情報を参照してHTML5のCanvas(グラフ)を更新

という流れで、気象情報で例えると過去24時間の地区別降水量を
1時間毎に更新グラフで見るというものです。

ですので、>>41さんだと1の方法ですが、自己レス>>37
通りブラウザ依存性があったりして困ってます。

引き続きアドバイス願います。
44Name_Not_Found:2010/06/26(土) 13:06:32 ID:???
てきとーなライブラリでできんじゃねーのそんくらい
45Name_Not_Found:2010/06/26(土) 13:58:06 ID:???
多分やろうとしてることに対してブラウザ依存は関係ないだろう
46Name_Not_Found:2010/06/26(土) 16:14:13 ID:???
前スレでGIFアニメについて質問した者ですが、
普通の複数の画像をJavaScriptでアニメーションされることで解決しました。
ありがとうございました。
47Name_Not_Found:2010/06/26(土) 19:12:11 ID:???
IE(8) では Canvas 使えない
iPhone / iPad では Flash 使えない
悩ましい所だよな
exCanvas などあるが文字列描画に難あり……
48Name_Not_Found:2010/06/26(土) 19:23:46 ID:???
初歩的な質問失礼します
関数を定義する際に引数の型を厳密に決める事は出来るのでしょうか?
また関数を初期化するときに引数がある時とない時と動作を変えたい(要するにコンストラクタ)のですがその場合どうすればいいでしょうか?
49Name_Not_Found:2010/06/26(土) 19:44:01 ID:???
コンストラクタでなくオーバーロードでした
そちらでググッたらどちらも自己解決しました。失礼しました
50Name_Not_Found:2010/06/26(土) 19:59:45 ID:???
>>43
それだとサーバ側のcgiも自分で作るんだよな?
javascriptじゃなくてcgi側でアップロードしたファイルを読んで
その内容を埋め込んだページを戻してやればいいんじゃない?
51Name_Not_Found:2010/06/26(土) 20:11:14 ID:???
>>48
自己解決したらその方法も書いとけよ。疑問に思ったことがあって調べたら、
自己解決しましたとだけ書かれてるページに行き着いたら困るだろ。

>関数を定義する際に引数の型を厳密に決める事は出来るのでしょうか?
出来ない。
引数にどんな型の変数が渡されたのかをtypeofで調べれば実行時エラーくらいは出せる

>また関数を初期化するときに引数がある時とない時と動作を変えたい
javascriptでは関数定義と呼び出し引数の数が違ってもエラーは起きない。
typeofしてundefinedだったら引数が省略されてると判断できる。
5227&37&39:2010/06/26(土) 21:24:26 ID:Dey8sDbd
>>50さんレス有難うございます。 本を買ってサンプルを改造してました。

OS:WinXP-Pro,ブラウザ:Firefox3.6.4使用
「JavaScriptテクニック・ブック」 古旗 一浩 著 (C&R研究所)のサンプル(p302)
を使ってCSVを読み込んで数値をブラウザ内に表示しようとしてます。
JSはHTMLとは別のmain03.jsとして、この window.onload = function()内に

var msec = (new Date()).getTime();
// ローカルキャッシュさせないために現在のミリ秒とURLを組み合わせる
new Ajax.Request("data01.csv", {// data01.csvを読む
method: "get",
parameters: "cache="+msec,

onSuccess:function(httpObj){
var text = httpObj.responseText;
var LF = String.fromCharCode(10);// 改行コード指定
var tabText = text.split(LF);// 改行で分割
var tbl = "";
for (var i=0; i<tabText.length; i++){
var cText = tabText[i].split(",");
for (var j=0; j<cText.length; j++){
document.write(cText[j]+"\n");
}
}
}
});
これはこれでdata01.csvの数値が表示されたのですが、Firefoxのタブのインジケータで
ドットが円を描きながら延々と回転しています(読み込みの継続を意味しています)。

この読み込み動作を終わらせるにはどうしたら良いでしょうか?
53Name_Not_Found:2010/06/26(土) 21:27:28 ID:???
>>19
同一クラスに同一のデータをまとめて設定したかった。
style タグで指定できればスクリプトを弄らなくてすむので
プラグインとして実装するときに扱いやすいかなと。
54Name_Not_Found:2010/06/26(土) 21:42:29 ID:???
>>47
FlashCanvasとかuucanvasとかは?
55Name_Not_Found:2010/06/26(土) 21:48:56 ID:???
というかcanvasで文字列描画するより普通にabsoluteなdiv内に書いた文字列を重ねればいいんじゃないかと
なんせIE以外のブラウザもcanvasの文字描画は実装度合いがまちまちだし
56Name_Not_Found:2010/06/26(土) 23:28:10 ID:???
>>47
iPhone、iPadは結局専用のページにしかならないから悩む必要は無いと思うよ
57Name_Not_Found:2010/06/27(日) 00:05:42 ID:???
>>53
特にXHTMLじゃ勝手に属性を追加するわけにもいかないし、
そういうことをしたければ既存の属性を使うべき。

<span class="hoge[name1:val1, name2:val2]"></span>
<input type="text" title="hint='IDを入力してください'" />

とか。
ただ、本来スクリプト側に属するべき長ったらしいデータが
HTML側に染み出してくるのはあんまりお勧めできない。
呼び出し側で設定するんじゃダメなの?
たとえばjQueryのプラグインのほとんどは配列でオプションを
渡すように作られてるよ。
58Name_Not_Found:2010/06/27(日) 02:36:03 ID:???
配列っつーか、JSONな。
59Name_Not_Found:2010/06/27(日) 03:04:09 ID:???
コードの中に書くんだから配列だろ
別にJSONで書いたっていいけど見づらくてかなわん
60Name_Not_Found:2010/06/27(日) 03:28:37 ID:???
JSONて連想配列じゃないの?
61Name_Not_Found:2010/06/27(日) 03:38:06 ID:???
違う。

http://ja.wikipedia.org/wiki/JavaScript_Object_Notation
>ここで注意することはキーとして使うデータ型は文字列に限ることである。
>したがって、
>{name: "John Smith", age: 33}
>という表記は許されない。この後者の表記はJavaScriptのオブジェクトの
>表記法としては正しいが、JSONとしては不正な表記である。
62Name_Not_Found:2010/06/27(日) 03:41:06 ID:???
JSONはシリアル化する汎用フォーマットだろ。
XMLとかも。入出力が用意されていれば中身を知る必要はない。
63Name_Not_Found:2010/06/27(日) 09:52:31 ID:???
イベント発生時ではなく単純にある時点で
シフトキーが押されているかを確認する方法はあります?
64Name_Not_Found:2010/06/27(日) 11:42:43 ID:???
>>63
keydownイベントでフラグをオンにし、keyupでフラグをオフにする
65Name_Not_Found:2010/06/27(日) 12:52:06 ID:???
JavaScriptが動き出す前から押され続けてる場合はどうするの?
(↑↑とは別人)
66Name_Not_Found:2010/06/27(日) 14:19:37 ID:???
これは?
window.event.shiftKey
67Name_Not_Found:2010/06/27(日) 15:17:46 ID:???
(↑↑)
イベント発生時でなければeventプロパティにオブジェクトはセットされないだろうよ
68Name_Not_Found:2010/06/27(日) 15:24:05 ID:???
↑↑
69Name_Not_Found:2010/06/27(日) 15:24:37 ID:???
70Name_Not_Found:2010/06/27(日) 15:38:09 ID:???
←右を見ろ
71Name_Not_Found:2010/06/27(日) 19:20:53 ID:???
L←→R
72Name_Not_Found:2010/06/27(日) 20:21:01 ID:???
B A
73Name_Not_Found:2010/06/28(月) 13:49:32 ID:tXUL0Gwo
あるブラウザが特定のイベントリスナに対応しているかどうか調べたいのですが、
検索した限りでは直接調べる方法が見つかりませんでした。
ブラウザ(あるいはJSの実行環境)とそのバージョンを取得して、
そこから調べるしかないのでしょうか?
74Name_Not_Found:2010/06/28(月) 15:34:48 ID:???
htmlを最初に開いた時に読み込んだstyle(head部分で外部CSSファイルをURL指定)を無効、開放するにはどう書けばよいでしょうか
75Name_Not_Found:2010/06/28(月) 17:15:28 ID:???
<!style
76Name_Not_Found:2010/06/28(月) 17:23:40 ID:???
>>74
jQuery使うなら
$("[type=text/css]").remove();
77Name_Not_Found:2010/06/28(月) 18:37:09 ID:???
レスありがとうございます。jQueryを使うことで無効化は出来たのですが問題点が全く違っていたみたいで解決に至りませんでした
外部参照先のURLを変更して、styleA→styleBとCSSを変更したいのですがjQueryで

$("[type=text/css]").attr("href","styleB.css");

とリンク先を変更しただけではCSSが無効になるだけで反映しないんですね。この変更をそのまま有効化するにはどうすればいいのでしょうか?
変更を再度開いた時に維持等は考えない上でお願いします
78Name_Not_Found:2010/06/28(月) 18:40:08 ID:???
>>74
<head>
<link id="test" href="/css/test.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" language="javascript">
var head = document.getElementsByTagName('head')[0];
var myCSS = document.getElementById('test');
head.removeChild(myCSS);
</script>
</head>
79Name_Not_Found:2010/06/28(月) 18:43:38 ID:???
>>77
styleAのCSSを指しているlink要素を削除して、
その後にstyleBのCSSを指している新しいlink要素を作ればいいんじゃないのか?
80Name_Not_Found:2010/06/28(月) 19:56:07 ID:???
>>78-79
レスありがとうございます
DOMの方も色々試していたのですが、たった今単純にCSS元ファイルのリネームミスだったことが発覚しました・・・
たくさんレス頂いたのに本当に失礼しました
81Name_Not_Found:2010/06/28(月) 23:21:47 ID:???
こういうアホが多いからな
82Name_Not_Found:2010/06/28(月) 23:22:29 ID:???
もう来ないで欲しい
83Name_Not_Found:2010/06/29(火) 00:24:30 ID:???
お前がいなくなればいい
84Name_Not_Found:2010/06/29(火) 01:10:47 ID:???
なんだと
85Name_Not_Found:2010/06/29(火) 10:47:42 ID:???
いっそ世界がなくなって欲しい
86Name_Not_Found:2010/06/29(火) 11:19:27 ID:???
>>85
いやいやそれはさすがに困るだろwww
俺としては人類が地球上から消えてくれればそれでいいよ
87Name_Not_Found:2010/06/29(火) 12:18:21 ID:???
>>86
鳩山みたいなこと言うな。
88Name_Not_Found:2010/06/29(火) 13:59:34 ID:???
以前に「JavaScriptプログラミング入門」という本でJavascipt勉強して
また勉強しなおそうと思っています。
上記の本は、2002年出版ですので新しく本を買いたいのですが、何か良い本はありますか?
やっぱサイ本でしょうか?
89Name_Not_Found:2010/06/29(火) 17:51:16 ID:???
>>73
特定のイベントリスナだけ判定したいのなら、"onmouseover" in node のようにinで判定してみるといいかも
判定したいイベント種類を配列にでも突っこんでおいて、ループぶん回せばいいと思う
90Name_Not_Found:2010/06/29(火) 20:48:19 ID:???
>>88
javascriptそのものについて学ぶならやっぱサイ本がいいと思う。
ただ、今の時代にjavascriptを活用するというのはjavascriptのライブラリを
活用するってのと同意義なので、それだけってわけには行かないと思うけど。
そこは使いたいライブラリによって変わると思う。
91Name_Not_Found:2010/06/30(水) 01:49:16 ID:???
配列要素のチェック方法で質問です。

配列arr0の中身が最初、false, false, false, false, false で、処理が進むと

false, true, false, false, false → false true, false, false, true → ・・・

と段々ture の数が増えて(trueになる要素のインデックスは不定)
最終的に全部がtrueになる(falseが一個も無い)を検出する方法にはどんなものが
ありますか?
92Name_Not_Found:2010/06/30(水) 01:57:25 ID:???
一番素直なアイディア:
配列を最初から最後までスキャンする。
falseが途中で1回でもでてきたらアウト、
全部trueで最後まで到達したらOK

一番手っ取り早いアイディア:
true/falseのどっちかしかないことが確実なら、
ソートして最初の要素がtrueだったら全部trueと判断する

ひねくれてるアイディア:
Array#map()
93Name_Not_Found:2010/06/30(水) 02:06:26 ID:???
ああごめん、every() か some() でもいいのか。
本質的には最初のと同じ。

var array1 = [true, true, false, true, true];
var array2 = [true, true, true, true, true];
var test = function(a){return a};
alert( array1.every(test) ); // false
alert( array2.every(test) ); // true
9488:2010/06/30(水) 03:12:41 ID:???
>>90
ありがとうございます。
jQueryやprototype.jsにも興味がありますが、まずは基礎をしっかりやりたいと考えているので
サイ本に手を出してみようと思います。
95Name_Not_Found:2010/06/30(水) 03:44:31 ID:???
>>92,93
なんで前提も聞かず(書かず)にmapとかeveryとかsomeとか出すの?
初心者への嫌がらせは楽しい?
9673:2010/06/30(水) 03:59:48 ID:???
>>89
ありがとうございます 次のようなhtmlで実験してみました

<html>
<body>
<div id="kore">test</div>
<script type = "text/javascript">
node = document.getElementById("kore");
if ("onmouseover" in node) alert('対応してるよ');
else alert('対応してないよ');
</script>
</body>
</html>

IE7及びGC5では「対応してるよ」FF3.6では「対応してないよ」と表示され、
この方法で対応しているイベントタイプを調べる事ができるかどうかは
ブラウザ依存のようです
9791:2010/06/30(水) 08:00:09 ID:???
>>92-93
>>95
おはようございます。JSでもmap,every,someが使えるのですね!
ActionScriptの兄弟だから当たり前か。。。。

試してみます。
98Name_Not_Found:2010/06/30(水) 11:19:52 ID:???
IE(6-8)はmapとかeveryとかsomeとか、ECMA-262 5th Editionで追加されたメソッドには対応してない
Array.prototypeを拡張すれば同じことはできるようになるけど、
そうするとfor in使ったときに拡張したプロパティが出てきてしまっていつバグの原因になるかわかったもんじゃない
Array.prototype.hoge=true;for(var k in [])alert(k)// hoge
IEの対応考えなくていいならmapとか使えるけど、対応するなら避けるべき。
これが>>95のいう前提
99Name_Not_Found:2010/06/30(水) 12:24:14 ID:???
Array に対して for in 使うってアホの子のすることだと思うんだが……
100Name_Not_Found:2010/06/30(水) 13:37:47 ID:???
>>91

for(i=0;arr0[i];++i);
alert (arr0[i]===void 0);
101Name_Not_Found:2010/06/30(水) 14:32:04 ID:???
hasOwnPropertyつかってないライブラリが無くはないかもしれない
102Name_Not_Found:2010/06/30(水) 22:11:02 ID:???
>>99
連想配列を列挙するなと申すか
103Name_Not_Found:2010/06/30(水) 22:50:58 ID:???
99はArrayに対してって言ってるけど
104Name_Not_Found:2010/06/30(水) 22:52:08 ID:???
あんちゃんが配列にfor inはダメって言ってた
105Name_Not_Found:2010/07/01(木) 02:07:31 ID:???
なんでだめなの。
106Name_Not_Found:2010/07/01(木) 02:22:14 ID:???
http://d.hatena.ne.jp/amachang/20070202/
日本語でJSやってるならたいていの人が一度はここに行き着くと思ってた
107教えて君ですまそ:2010/07/01(木) 02:36:00 ID:???
こいつを見て欲しい
119行目
jQuery.extend(cfg, o);
http://www.reconstrukt.com/ingrid/src/js/jquery.ingrid.js

cfg.url には url:remote.php が設定されてるじゃん。実はこれ消えるんだわ。ファイル名だけ残して。
ingridをダウンロードして自分のローカルサーバーで動かそうとしたわけ。
htmlは<a href="http://www.reconstrukt.com/ingrid/src/example1.html">サンプルページ</a>から。
でさーまったく動かんのよ、どうしたもんかなぁと思ったら
サンプルのsrcとダウンロードしたフォルダ構成が違うわけ。
まじうぜぇと思って、まあ直したさ。で、で、今度は
「Error: Could not load Please check the URL and try again.」
とかいっちゃってるの。なんなのこいつって調べたらリクエスト帰ってきてねーじゃん。
なんでurl消えるの?しかたなしにsample.htmlと同じフォルダに置いたさ。jqueryはurlが嫌いなの。sample.htmlと同じ場所が好きなの?
もう!jQueryのextend についてぐぐってくる!
108Name_Not_Found:2010/07/01(木) 02:36:33 ID:???
>>106
JavaScriptの配列=全て連想配列だと申すか
109Name_Not_Found:2010/07/01(木) 02:40:48 ID:???
配列⊃連想配列だろ。
「配列と連想配列の違い」というタイトルの記事を貼った相手に何言ってんの?
110107:2010/07/01(木) 03:05:17 ID:???
分かった。
111107:2010/07/01(木) 03:14:38 ID:???
死にたい。
112Name_Not_Found:2010/07/01(木) 06:15:57 ID:???
>>108
Array instanceof Object  = true
113Name_Not_Found:2010/07/01(木) 10:38:48 ID:???
>>112
Array ⊂ Object
114Name_Not_Found:2010/07/01(木) 12:03:36 ID:???
超短いcokie取得scriptとか無い?
115Name_Not_Found:2010/07/01(木) 12:29:14 ID:???
ないよ
116Name_Not_Found:2010/07/01(木) 12:57:55 ID:???
数年ぶりにやってきたけどすごくスレのレベル下がってるのな
何があったんだ
117Name_Not_Found:2010/07/01(木) 12:58:00 ID:UzY5ngUY
iframeのonloadイベントって、画像含めた中身が全て読み込まれてから発動って認識であってるかな?
chromeだと、たまに要素の高さが取得できないのだけど。
118Name_Not_Found:2010/07/01(木) 13:17:54 ID:???
>>116
こういうのが一番うざい
119Name_Not_Found:2010/07/01(木) 13:49:10 ID:???
レベルの高い人が特に質問するでもなく質問スレを数年ぶりに覗きに来て
さらに「数年ぶりに来てみたらすごくレベルが下がってるよ!下がってるよー!」なんてレスをしたくなる心境にさせる
このスレはそんな魅力的なスレ
120Name_Not_Found:2010/07/01(木) 14:18:31 ID:???
どっちかというと自分がその間に勉強したりしてレベルが上がってるから
そう思うんじゃないの。過去スレ全集見れば分かるんだから、そういうこと
言うのなら「何番のスレの何番付近はこんなちゃんとしたことをやっている」
とか書いて欲しい。そしたらこちらも「でもその当時だってこんなひどい
質問や解答があったでしょ」とか言えるから。何も調べず自分の印象だけ
言いっぱなしとか腹立つね。
121Name_Not_Found:2010/07/01(木) 14:28:48 ID:???
コンピューターに表示されてる文字に腹立ててどうするんだよ…
あんまりネットに感情移入すると危ないぜ
122Name_Not_Found:2010/07/01(木) 14:36:47 ID:???
バカかお前?
123Name_Not_Found:2010/07/01(木) 15:17:18 ID:???
つまりこういうことか

>116,118-123
スレチ
124Name_Not_Found:2010/07/01(木) 17:31:27 ID:Di0C5DNP
>>117
そうよー、frameに限らず。
高さが取得できないってのは良く解らんが。

DomContentLoadedでやったら早すぎて取得できないから、
あえてonlaodでやる、ってのならわかるんだけど。
例えばこんなふうなHTMLで、

<img src="foo.png" style="float:left;">
<p>文字文字文字…</p>

画像がロードされて幅高さが確定しないと、
ドキュメントの幅高さも決まらない、とか。
125117:2010/07/01(木) 19:35:20 ID:???
>>124
やっぱりそうだよね。jQuery使ってるんだけど、
$('<iframe/>').attr('src', 'example.html').load(function () {~高さ設定~}).appendTo('body');
で問題ないはずなのだけども。
appendとsrcの順番か。ready内で処理してるからか。appendしなくてもロードしてるのか。
わからんなぁ。もうちと試行錯誤してみる。
126Name_Not_Found:2010/07/01(木) 20:23:41 ID:Di0C5DNP
>>125
ん?jqueryのload()って、onloadなの?
DomContentLoadedじゃないの?
127Name_Not_Found:2010/07/01(木) 20:55:39 ID:???
いや、onloadだよ。readyってのがDomContentLoadedかな。
128Name_Not_Found:2010/07/01(木) 23:32:18 ID:???
これでエラーが出ます。文書とソースはシフトJISです。
原因はなんでしょうか?

m = str.search( "関与" );
if(m==-1) return "err ";
129128:2010/07/01(木) 23:33:02 ID:???
strにはシフトJISで関与が入っています。
130Name_Not_Found:2010/07/01(木) 23:35:22 ID:???
追記
m = str.search( "関" );

これだと、正常位置にヒットします。
131Name_Not_Found:2010/07/01(木) 23:41:30 ID:???
>>128
ダメ文字でぐぐればいいと思うよ
132Name_Not_Found:2010/07/01(木) 23:41:54 ID:???
エンジンは、SpiderMonkeyなんです。
ソフトウェアに組み込みたくて、このエンジン呼び出して使いたいのですが。
133Name_Not_Found:2010/07/01(木) 23:44:44 ID:???
>>131
日本語2文字以上だとどれも検索出来ないんですが。
「ページ」とかもできないです。
javascriptが正常動作すれば検索可能なはずでしょうか。
原因はSpiderMonkeyでしょうか。
134Name_Not_Found:2010/07/01(木) 23:47:45 ID:???
>>133
「−」がダメ文字な件
ちゃんと調べてる?
135134:2010/07/01(木) 23:49:07 ID:???
×「−」がダメ文字
○「ー」がダメ文字

失礼、重要なところを間違えた
136Name_Not_Found:2010/07/02(金) 00:02:24 ID:???
駄目っぽいです。
事件 関連 とかもできないです。
文書もコードもUTF-8にしてもHITしないです。
137Name_Not_Found:2010/07/02(金) 00:15:11 ID:???
"関与".search("関与")
で0になったが何が問題なの?
138Name_Not_Found:2010/07/02(金) 00:21:32 ID:???
returnを関数の外に書いてるからエラーが出てるんじゃないの?

これだとエラーならないよ
var str = "関与";
var m = str.search( "関与" );
if(m==-1) function(){ return "err "};
139Name_Not_Found:2010/07/02(金) 00:39:34 ID:???
>>128
とりあえずさ、単純な例で問題を切り分けなよ
こんな感じで

var str = 'あいうえお関与かきくけこ';
var m = str.search('関与');
alert(m);
140Name_Not_Found:2010/07/02(金) 00:50:43 ID:???
var str = 'あいうえお関与かきくけこ';
var m = str.search('関与');

をやったら m==-1 でした。
141Name_Not_Found:2010/07/02(金) 01:15:59 ID:???
FirefoxとIEでチェックしたが5になるよ。使ってる環境やブラウザのバージョンはどんな感じ?
142Name_Not_Found:2010/07/02(金) 01:21:19 ID:???
ぶっちゃけわけわからん
returnとalert勘違いしてるだけちゃうんかと
143Name_Not_Found:2010/07/02(金) 01:23:43 ID:???
SpiderMonkey 1.8 rc です。
firefoxに入っているやつの最新版です。
ビルドが失敗している可能性があるので確認してます。
144141:2010/07/02(金) 01:29:30 ID:???
>>140
っと、すまん、sjisだと-1だな。
日本語のパターンマッチはとりあえずutf8でやっとけ。
ビルド時にまるちらんげっじでsjisのオプションとかないの?
145Name_Not_Found:2010/07/02(金) 01:49:13 ID:???
みなさんサンクスです。 原因とくていできました。
エンジンに渡すときに内部形式に変換する部分で失敗しているようです。
146145:2010/07/02(金) 03:09:11 ID:???
解決しました。
エンコードをUTF16に統一して、UTF16用の関数を呼ぶことで出来ました。
147141:2010/07/02(金) 19:00:34 ID:???
>>146
FreeBSDでSupiderMonkey 1.70をビルドしてみたけど、
utf8サポートのオプション、普通にあるじゃん。
CFLAGS="-DJS_C_STRINGS_ARE_UTF8"
148Name_Not_Found:2010/07/03(土) 13:33:33 ID:???
マウスでクリックした位置を取得して、input textに入れて、取得した値をPHPに渡すプログラムを考えているのですが、マウスをクリックしたら確認のアラートを出してOKを押されたらそのまま別ページに移動と送信をさせたい。
クリック→アラート確認→送信ボタンではなく、クリック→アラート確認→別ページで飛ばしたいんです。簡単に言うとアラートでtrue入ったら値をPHPに飛ばしたいです。inputに入れずに飛ばせるならそれでかまわないんですがね。
ソースは最低限の部分のみ書いてます。
function clickhandler(event) {
if (!event) { event = window.event; }
var hx, hy;
if (document.all) { // for IE
hx = event.offsetX;
hy = event.offsetY;
} else {
hx = event.layerX;
hy = event.layerY;
}
document.xy.x.value = hx;
document.xy.y.value = hy;

if(confirm("この位置でいいですか??")==true){

}else{

}
// return [hx,hy];
}
function eror(event){
alert("その位置はすでに使用されています。");
}
<a href="javascript:void(0);"><div onclick="clickhandler(event)">
<form method="post" action="c.php" name="xy">
<input type="text" name="x">
<input type="text" name="y">
</form>
149Name_Not_Found:2010/07/03(土) 13:42:52 ID:???
BASIC認証時のユーザ名って、javascriptで取得できたっけ?
150Name_Not_Found:2010/07/03(土) 13:50:46 ID:???
>>148
form.submit
151Name_Not_Found:2010/07/03(土) 16:20:33 ID:???
非同期通信でサーバー上のテキストを取得・解析するスクリプトを書いています。
汎用性を高めるため通信部と解析部を別の関数として定義しようと思います(下のスクリプトではalertを呼び出しているだけ)。
しかし、下のスクリプトではコールバック関数が呼び出されていないようです。原因をお教えいただければ幸いなのですが、お願いいたします。
XP SP3、Firefox3.6.6です。

<html>
<head>
<script>
function httpGet(url, func) {
var xmlHttp = new XMLHttpRequest();
xmlHttp.onreadystatechange = function() {
if ((xmlHttp.readyState == 4) && (xmlHttp.status == 200)) {
return func(xmlHttp.responseText);
}
};
xmlHttp.open("GET", url, false);
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlHttp.send(null);
}

function loadLog() {
var callback = function(data) {
alert(data);
};
httpGet("./test.txt", callback);
}
</script>
</head>
<body onload="loadLog()">
Test
</body>
</html>
152Name_Not_Found:2010/07/03(土) 17:36:43 ID:???
REMOTE_USERって、javascriptで取得できたっけ?
153Name_Not_Found:2010/07/03(土) 17:40:29 ID:???
試せよカス
154Name_Not_Found:2010/07/03(土) 18:01:23 ID:???
どうやって?
155Name_Not_Found:2010/07/03(土) 18:06:15 ID:Gt/8gUgj
下記にカプセル化するコードを書いてみましたが、
一般的な書き方とかなんかあったりしますか?一応下記でもカプセル化されてるっぽいんだが。。

var Sample = function(){
var hoge = "";  // private

// public
this.getHoge = function() {
return hoge
};
this.setHoge = function(_hoge) {
hoge = _hoge;
};

// public
this.out = function() {
alert(in());
}

//private
var in = function() {
return "test";
}
}
156Name_Not_Found:2010/07/03(土) 18:12:57 ID:???
>>151
Firefox3〜は、同期通信でonreadystatechangeが動かなかった気が
157Name_Not_Found:2010/07/03(土) 18:34:59 ID:???
>>155
長くなりすぎるから書かないけど、
オブジェクト指向したかったらJavaScript: The Good Partsのp59〜がまじおすすめ
本屋で立ち読みするといいよ
158Name_Not_Found:2010/07/03(土) 19:27:20 ID:Gt/8gUgj
>>157
情報有難うございます。

立ち読みします。
159Name_Not_Found:2010/07/03(土) 22:42:39 ID:???
>>156
同期通信の場合はonreadystatechangeは使えないと思いますが、

あ、なるほど。openするときにモードを同期モードにしちゃってますね。
すみません。とんだ凡ミスでした
160Name_Not_Found:2010/07/04(日) 12:54:37 ID:???
>>155
それだと全部のオブジェクトがそれぞれ(同じ動きをする)別の関数を持つことになるのが
ちょっと気になるが、。
一般的な書き方ってのは無いが有名なライブラリには、大抵クラスを作る手段は用意されてるな。
例えばprototype.jsのClass.create使うとか。少なくともprototype.js使ってる界隈では
統一された書き方になる。
161質問させて下さい:2010/07/05(月) 08:24:38 ID:e6iQa0at
すいませんがこういうスクリプトの呼び方?あるのでしょうか
教えて下さいm(_ _)m

YAHOOなどでつかわれていますが、
ttp://www.fumi23.com/

ニュース 音楽 映画・・・・とニュースメニューがありますが、
このスクリプトの名前とかサンプル紹介している所がありましたら
教えて頂けないでしょうか?
162Name_Not_Found:2010/07/05(月) 10:02:37 ID:???
>>161
ここはスクリプト書く人のためのスレであってコピペしたい人のスレじゃない

タブメニューでググレ もう来るな
163Name_Not_Found:2010/07/05(月) 10:08:46 ID:???
>>162
有り難うございましたm(_ _)m
164Name_Not_Found:2010/07/05(月) 13:21:59 ID:ga6Bd0m6
encodeURIComponentはUTF-8用ですが、S-JISやEUC-JPでエンコードする方法ってありますか?
ライブラリでもOKです。
165Name_Not_Found:2010/07/05(月) 19:37:09 ID:LMPH5QQ+
>>164
エンコライブラリはググれば直ぐ見付かる
166Name_Not_Found:2010/07/05(月) 20:28:03 ID:???
chromeでjavascriptで要素の中身を設定し、幅・大きさとか位置を変化させても
見た目が変化しない(”要素を検証”すると正常表示に変化)のはどなたか心当たりありませんかね?

やっていることは↓のようなこと(fの引数の文字数を変化させて実行)なのですが、このコードでは再現しないんですよね・・・
「常時画面左右中央表示」
var title = document.createElement('p');
document.body.appendChild(title);
title.style.position = 'absolute';
title.style.top = '0px';
title.style.left = '50%';
title.style.margin = '0px';
var text = '+';
function f(t) {
title.innerHTML = t;
title.style.marginLeft = '-' + (title.offsetWidth / 2) + 'px';
}
f(text);
他には画像のwidthなどを大きく(スクロールバーが出るぐらい)設定したりです。
ちなみに同じ条件で二度実行させると正常表示されます。
あと、時々正常にも動作するのでwebkitのjs部分の仕様なんじゃないかと思い始めているところです。
IE/Firefoxでは正常に動くんですが・・・とりあえず、コードが長いので、再現出来る範囲まで短くしてみます。
167Name_Not_Found:2010/07/05(月) 20:59:34 ID:???
テキストファイル最後の改行を削除したいのですが…
D&Dして実行しても何の変化もありません。
下記サイトを参考にしました。ご教示下さい。
http://www.atmarkit.co.jp/fwin2k/win2ktips/308strrpl/strrpl.html

<?xml version="1.0" encoding="Shift_JIS" standalone="yes" ?>
<package>
<job id="WordReplace">
<?job error="True" debug="True" ?>
<object id="objFs" progid="Scripting.FileSystemObject" />
<script language="JavaScript">
<![CDATA[
var objArg=WScript.Arguments;
for(i=0;i<objArg.length;i++){
strTmp= objFs.BuildPath (objFs.GetParentFolderName (WScript.ScriptFullName), objFs.GetTempName ());
var objTs =objFs.OpenTextFile(objArg(i),1,false);
var objTs2=objFs.OpenTextFile(strTmp,2,true);
do{
strLne=objTs.ReadAll();
strLne=objTs2.Write(strLne.substring(0, strLne.length-2));
objTs2.WriteLine(strLne);
}while(!objTs.AtEndOfStream);
objTs.Close();
objTs2.Close();
}
]]>
</script>
</job>
</package>
168Name_Not_Found:2010/07/05(月) 21:32:47 ID:???
スレ違い、それWSH
JavaScriptじゃない
169Name_Not_Found:2010/07/05(月) 21:46:51 ID:???
JScriptかもしらんが、少なくともWeb製作板に出す質問じゃねえな。
170Name_Not_Found:2010/07/05(月) 21:49:20 ID:???
普通にテキストエディタの置換で事足りるよね(´・ω・`)
171Name_Not_Found:2010/07/05(月) 23:50:06 ID:???
>>166
再現するコードを示さんとわからないって。
inline要素のサイズを変えようとしているとか?
172Name_Not_Found:2010/07/06(火) 08:32:28 ID:???
>>166
昔同じような質問があった気がする。その時の解決策はその
要素をいったんDOMツリーから削除して大きさを変更して挿入
するとかだった気がする。
173Name_Not_Found:2010/07/06(火) 09:09:54 ID:???
レスありです
pなのでブロック要素です。表示位置が更新されないだけなんですよね(要素を検証で正常表示位置に移動)
>DOMツリーから除外
removeChild -> appendChildでいいんですよね?変化は無しです。
最初は要素の中身を書換じゃなくて親要素のinnerHTMLでやっていたのを
メモリリーク対策で要素固定にしたのですがChromeだけでおかしく・・・
setTimeout・setIntervalでやっても同じだとどうにも・・・
ソースはHTMLごと全部になってしまいそうです。。
174Name_Not_Found:2010/07/06(火) 11:27:17 ID:pMo0A1Vu
>>166
試してみたけど、かいてある通りに動くなあ。
何に困ってるのかイマイチ把握出来なくてすんません。

titleって変数名から察するに、
何かタイトルバー的なもので、状況によって表示する文字列は変わるけど
常に真ん中表示したい、ってことだよね?

書いてあるコードだとブロックの幅は明示されてないから、
ほっときゃ親要素に追従するじゃん?だから

position:absolute; left:50%; にして、
幅の半分ネガティブマージンで左に戻す、って部分やめて

text-align: center;
ってするのはいかんの?
175Name_Not_Found:2010/07/06(火) 11:44:40 ID:???
>>174レスありです
問題は、Chromeで要素のマージン等を指定したときに見た目の位置が反映されてないことなんです。
(alert(title.offsetWidth);をmargin指定の前後に置いてもちゃんと数値変化している)
(右クリ要素を検証などきっかけを与えれば正常表示)・IE/FIREFOXは正常
>常に真ん中
はい。ですが、ページの一番上に必要で、他の要素に影響を与えない様にする必要があったので、absolute指定です。
根本的解決ではないですが、pの代わりにcenterを使ったら出来ました。なんていうかすみません。
176Name_Not_Found:2010/07/06(火) 15:26:32 ID:???
無意味だなぁ
177Name_Not_Found:2010/07/06(火) 15:40:49 ID:???
>>166
ほかの人も言ってるけど、そのコードをChromeでテストしてみたら、
あなたの期待通りに動いているように見える
ほかに問題があるんじゃない?

蛇足ながら、pは段落用だから、h2なりdivなりを使ったほうがいいのと、
DOMにinnerHTML使うのは美しくない
178166:2010/07/06(火) 16:31:46 ID:???
>>177
私もそのコードでは期待通りに動きます。コードが長くなると変化があるようです?

>p
確かに。ほかのはdivにしておきますありがとうございます。
179Name_Not_Found:2010/07/06(火) 16:40:51 ID:???
必見そうか自民日本壊滅テロ組織の悪行を知って下さい。
↓のレス内にて「そうか」で検索お願いします。
● レス禁止 吐き捨てスレ 19 ●
http://hideyoshi.2ch.net/test/read.cgi/ms/1278072762/
180177:2010/07/06(火) 17:17:01 ID:???
>>178
あー、再現しないって書いてあったね。すまん。
181Name_Not_Found:2010/07/06(火) 18:34:12 ID:pMo0A1Vu
>>178
もしかして、文字列差し替えると真ん中にならないとか、そんなことだったりしてな。
次からはエラーが再現できるコードをお願いします。

>>179
要塞じゃねーか。そんなとこ怖くていけるか!
182178:2010/07/06(火) 21:21:12 ID:???
>>181
まさにそのとおりです。文字列を差し替えても、表示文字列は変わるのに、左端の位置が変わらなかったのです。
領海です。
183Name_Not_Found:2010/07/06(火) 22:09:10 ID:???
すいませんWebProg板にスレ作ってしまったんですが、
web製作板のネタでしたでしょうか?

【Javascript】って扱えないの?【Graphics】
http://pc11.2ch.net/test/read.cgi/php/1278407539/l50
184Name_Not_Found:2010/07/06(火) 22:13:24 ID:???
Javascript Graphics Library
Pixel graphics in Javascript
の内容のネタを書きました。

Javascriptで直接Canvasを使用してグラフが描きたい人はどうぞ
185Name_Not_Found:2010/07/07(水) 00:17:36 ID:???
>>183-184
jsdo.itでやれ
186Name_Not_Found:2010/07/07(水) 00:25:08 ID:???
>>185
そんなサイトがあったんですね。
ちょっとのぞいてきます。
ありがとうございます
187Name_Not_Found:2010/07/07(水) 00:37:45 ID:???
OperaでJavaScriptでタブの移動って無理なんでしょうか
188Name_Not_Found:2010/07/07(水) 08:59:18 ID:???
ブラウザのタブをウェブ上のスクリプトからいじりたいのなら、それはできない
できたらセキュリティ上の問題になる
189Name_Not_Found:2010/07/07(水) 10:48:29 ID:???
190Name_Not_Found:2010/07/07(水) 17:55:04 ID:???
ページ内に「あいうえおかきく」と言うテキストがあったとして、「かきく」を強調すると言う事をやりたいのですが、replaceを使わないでやる方法ありますか?
191Name_Not_Found:2010/07/07(水) 19:23:50 ID:???
indexOfとsubstring(substr)
192Name_Not_Found:2010/07/07(水) 21:41:44 ID:IV4llgIO
/(.*)(かきく)/でマッチさせて、後半を消して、
手作した<strong>かきく</strong>を前半の後ろに置く。

と考えてみたけど、どう考えてもreplace使わないと面倒くさすぎる。
193Name_Not_Found:2010/07/08(木) 01:38:28 ID:???
>>190
"あいうえおかきく".split("かきく").join("<b>かきく</b>")
194Name_Not_Found:2010/07/08(木) 01:56:35 ID:???
もはやただのパズルw
195Name_Not_Found:2010/07/08(木) 15:28:29 ID:???
a='あいうえおかきくけこ'
b='かきく'
re=new RegExp(b, "g");
span=document.createElement('span');
span.appendChild(document.createTextNode(b));
c=c.replace(re, span);

これって大丈夫?
196Name_Not_Found:2010/07/08(木) 18:53:30 ID:lrv9IDpX
>>190
"<B>かきく</B>"
これで>>190の要件は満たせる
197Name_Not_Found:2010/07/08(木) 21:42:33 ID:???
太字にしろとは言われてないだろ
javascript:'<strong>かきく'
が正解
198Name_Not_Found:2010/07/08(木) 23:55:39 ID:???
いや、それにスタイルとかイベントとかも指定したくてさ
199Name_Not_Found:2010/07/09(金) 13:09:42 ID:???
>>198
すればいいじゃん
200Name_Not_Found:2010/07/09(金) 15:33:44 ID:???
どうやって?
201Name_Not_Found:2010/07/09(金) 18:12:54 ID:I9DaAZbP
javascript:'<strong>かきく'
この時点でスタイル決まってるじゃん
で、トリガはonLoadにすりゃいいだろ

202Name_Not_Found:2010/07/09(金) 19:01:07 ID:???
>201
説明する気あるの?
無知は答えなくていいからw
203Name_Not_Found:2010/07/09(金) 20:21:53 ID:???
そういうことやね
204Name_Not_Found:2010/07/10(土) 01:35:00 ID:???
javascript:'<strong>かきく' としたらエラーが出ました。
205Name_Not_Found:2010/07/10(土) 01:52:22 ID:???
pseudocodeだよ
206Name_Not_Found:2010/07/10(土) 03:33:48 ID:???
ピーエスユードと読んでた時期が僕にもありました・・・
207名無しさん@そうだ選挙に行こう:2010/07/10(土) 16:06:27 ID:FizqjisK
ECMA-262の正規表現の略記法で\d(1つの数字にマッチ)って正式に使えますよね?
208名無しさん@そうだ選挙に行こう:2010/07/10(土) 17:16:14 ID:???
これは見たかな。
ttp://d.hatena.ne.jp/onozaty/20060706/p1
209名無しさん@そうだ選挙に行こう:2010/07/10(土) 20:05:07 ID:???
知らんかった…

まあサポート切れたFirefoxは無視していいと思うよ
210名無しさん@そうだ選挙に行こう:2010/07/10(土) 22:11:30 ID:???
GoogleChromeで選択文字列を取得する方法を教えて下さい。
ぐぐったりしてみて、window.getSelection()+''; のようにすれば取得できるようなことが書いて
あったんですが、うまくいきませんでした。

function test() {
var selection = window.getSelection()+'';
return selection;
}

もちろん window.getSelection() でも駄目でした。
わかる方教えて下さいまし。
211名無しさん@そうだ選挙に行こう:2010/07/10(土) 22:20:43 ID:???
問題ないはずだけど、具体的にどう駄目なの?
エラーが出るの?test()の戻り値がおかしいの?
212名無しさん@そうだ選挙に行こう:2010/07/10(土) 22:43:38 ID:???
エラーは出ていません。空白で出力されているだけです。
出力部分を

<SCRIPT language="JavaScript">
<!--
document.write("<p>" + test() + "</p>");
//-->
</script>

みたいな形でやっているので、こちらが原因かとも思ったのですが、test()の戻り値に適当な文字列をセットしたら
出力されました。
213名無しさん@そうだ選挙に行こう:2010/07/10(土) 23:14:34 ID:???
document.writeの時点で文字列選択されてるわけないよね
214名無しさん@そうだ選挙に行こう:2010/07/10(土) 23:31:57 ID:???
この(http://javascript.eweb-design.com/0601_fade.html
文字のフェードイン/アウトのSample 1を実行しようと思ったのですが、
<html>の上に
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
を付けると動作しません。
URLを削って
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
とすると何故か動きます。

Javascriptを使う時は、基本URLを付けないのでしょうか?
215名無しさん@そうだ選挙に行こう:2010/07/10(土) 23:45:49 ID:???
チラっとしか見てないが、宣言を付ける前にHTML 4.01 Transitionalにいろいろ違反しているのは直すべき。
216名無しさん@そうだ選挙に行こう:2010/07/11(日) 00:25:07 ID:???
Firefoxだと互換モードでは警告付きでdocument.allが使えて、標準モードでは使えないんだな
ともかく、language属性使ってるサンプルなんて参考にすべきでないよ
217214:2010/07/11(日) 00:50:54 ID:???
>>215
>>216
ありがとうございます。
>>214のサイトのHTMLの書き方は悪いですね。
自分のはHTML Lintに通る位には修正してあります。

>>214に書き忘れてしまったのですが、私の標準ブラウザはfirefoxです。
document.all["ID"] を document.getElementById("ID") にしたらURL付きでも動くようになりました。

>>214のサイトにあるスクリプトはグローバル変数があって嫌なので以下のようにしました。
ところが、alertが「あると」うまくフェードインするのですが、alertをコメントアウトするとうまく動きません。
なぜでしょうか?

function strFade2( id, colors, itv )
{
 var color_num = colors.length;
 var color_pos = 0;

 function fade( ){
  if( color_pos < color_num ){
    // alert( color_pos ); // これがあるとうまく行く

    var c = colors.charAt(color_pos);
    document.getElementById(id).style.color = "#"+c+c+c+c+c+c;
    color_pos++;
    setTimeout( fade(), itv );
  }
 }

 fade();
}
218名無しさん@そうだ選挙に行こう:2010/07/11(日) 01:01:08 ID:???
setTimeout( fade(), itv );

setTimeout( fade, itv );
これはsetTimeout( function(){
fade();
}, itv );と同じ。
実行タイミングを考えてみましょう。
219名無しさん@そうだ選挙に行こう:2010/07/11(日) 01:02:21 ID:???
というかalertがあるとなんで動くんだろ
220名無しさん@そうだ選挙に行こう:2010/07/11(日) 01:12:27 ID:???
alertで一旦OK押すまで処理が中断。
押したら色変化→setTimeout発動
以下ループと思ったけど、どうだろう。
itvを10000とかにしたらアラートあっても動かないと思う。

アラートがないと一瞬ですべてのsetTimeoutが実行される。
221名無しさん@そうだ選挙に行こう:2010/07/11(日) 01:39:28 ID:???
カッコをつけるのは「その場でその関数を評価(実行)する」という意味なので、
話としては setTimeout の中の fade() を fade にすれば終わり

setTimeout( fade(), itv );
 ↓
var result = fade(); // (a) その場でfade()を実行
setTimeout( result, itv ); // (b) result=undefinedに対してsetTimeout

こう書き直すと分かりやすい(本当は違う、正しくは>>218の言う通り)
color_num = 3であれば、
1. まず最初にfade()が呼ばれ、
2. (a)が実行されてfade()が呼ばれ、
3. その中の(a)でさらにfade()が呼ばれ、
4. その中の(a)でさらにfade()が呼ばれ、
5. この時点でcolor_pos=3なのでifブロックは実行されずに終了し、
6. 4.に戻るが、4.のfade()の(b)が実行されてエラーが発生

Firefox使っていれば「意味のないsetTimeoutだ」のようなエラーが発生しているはず
222214, 217:2010/07/11(日) 02:03:36 ID:???
>>218
>>220
>>221
ありがとうございます。
理解することができました。

C++(他言語出して申し訳ないですが)で言う所の
イベントハンドラに渡す関数ポインタと考えれば気が付けた(かも知れない)ミスでした。。。
応用力が無くて恥ずかしい。

>>221
>Firefox使っていれば「意味のないsetTimeoutだ」のようなエラーが発生しているはず
これはどこに表示されるのでしょうか?
223名無しさん@そうだ選挙に行こう:2010/07/11(日) 02:04:30 ID:???
ツールメニューのエラーコンソール
224214, 217:2010/07/11(日) 02:09:13 ID:???
>>223
ありがとうございます。
この機能全く知りませんでした。
225名無しさん@そうだ選挙に行こう:2010/07/11(日) 02:33:28 ID:???
Firefox使ってるんならalertでデバッグとかアホくさいことせずにFirebug導入するといい
printfチックなログも出せる、「firebug ログ」とかで検索すればすぐ見つかる
226214, 217:2010/07/11(日) 03:54:49 ID:???
>>255
ずっと前からfirebug入ってはいるんですけど、全然使ってませんでした。
ちゃんと使い方覚えます。
227名無しさん@そうだ選挙に行こう:2010/07/11(日) 07:14:27 ID:???
プロファイルを分けて、
firebug用のプロファイル作っておくと吉
228名無しさん@そうだ選挙に行こう:2010/07/11(日) 12:56:19 ID:???
>>227
そこ詳しく
229名無しさん@そうだ選挙に行こう:2010/07/11(日) 12:57:31 ID:???
>>227
いや、わかった
230名無しさん@そうだ選挙に行こう:2010/07/11(日) 19:28:34 ID:???
>>213

それはどういうことでしょう?

document.writeでhtmlとして出力されると思うのですが。。。
ちなみにボタンをクリックすると選択した文字列がpopupで表示されるchrome extensionsを作成しています。
231名無しさん@そうだ選挙に行こう:2010/07/11(日) 21:05:00 ID:???
>>230
getSelection()は、省略せずに書けばwindow.getSelection()

popupのwindow.getSelection()じゃ駄目
文字列選択されているページのwindowを取得して、そのwindowからgetSelection()を呼ぶ
232Name_Not_Found:2010/07/12(月) 01:36:36 ID:???
>>230
文字選択って描画し終わってからじゃないと無理だろ?
233Name_Not_Found:2010/07/16(金) 16:31:45 ID:???
ん?
234Name_Not_Found:2010/07/16(金) 21:04:56 ID:???
正規表現で「同じ数字が2つ以上」という表現はどうしたらよいのでしょうか?
235Name_Not_Found:2010/07/16(金) 21:07:36 ID:???
説明不足ですいません。
例えば「2222」「44」「9999999」という数字全てにマッチさせたいのです。
236Name_Not_Found:2010/07/16(金) 21:09:57 ID:???
JavaScript完全に関係ねーぞ
237Name_Not_Found:2010/07/16(金) 21:20:42 ID:???
>>236
なるほど、後方参照と言う方法があったのですね。
この場合「/^(\d)\1+$/」という後方参照で解決しました。ありがとうございました。
238Name_Not_Found:2010/07/16(金) 22:45:00 ID:???
アホすぎて呆れた
239Name_Not_Found:2010/07/16(金) 22:54:08 ID:???
>>237
あー、そんな事できるんだ
240Name_Not_Found:2010/07/17(土) 00:29:37 ID:???
>>237
お前優しいな感動したわ
241Name_Not_Found:2010/07/17(土) 10:15:48 ID:???
いえ、>236のおかげで検索キーワードから「JavaScript」を削除できたので
242Name_Not_Found:2010/07/17(土) 12:07:45 ID:???
>>241
他人が本人を装ってレスしてるのかと思ったけど、本人だったってこと?
243Name_Not_Found:2010/07/17(土) 17:40:36 ID:???
>>241
ああ、そういうのあるよね。

ググレカス⇒ググればわかるほどのFAQであることが判明し安心する
とか
244Name_Not_Found:2010/07/17(土) 23:58:17 ID:R0s3129K
質問させてください

アコーディオンタイプのメニューで
accordion.jsを使っているのですが
マウスオーバーのとき「指」になりません

参考ページ
http://blog.webcreativepark.net/sample/js/34/index3.html

マウスオーバーで「指」にしたい場合、どうすればよいでしょうか?
 
245Name_Not_Found:2010/07/18(日) 00:09:55 ID:???
<style>
.accordion_toggle:hover {cursor:pointer;}
</style>
リンクにマウス載せたときのこれか?js全く関係ないけどな。
246Name_Not_Found:2010/07/18(日) 00:21:57 ID:UwsBxLPo
>>245
うわあああああ
ありがとうございます!!!
マジでありがとうございます

そかjsじゃなく、cssでの制御なんですね・・・・迂闊

本当に助かりました!!!
247Name_Not_Found:2010/07/18(日) 00:27:17 ID:???
>>246
jsでスタイル指定してやれ
248Name_Not_Found:2010/07/18(日) 01:58:07 ID:???
>>247
それでもcssやん
249Name_Not_Found:2010/07/18(日) 04:25:54 ID:???
クライアントサイドの技術は全然わからんわー
誰か助けてくれ
base64でエンコードされた画像データを、
AddImage(base64Data);
みたいな感じでブラウザ上に表示(というか横流し)したい。
jQueryのscrollableみたいな感じで、スライドショーみたいなのを実現させたい
250Name_Not_Found:2010/07/18(日) 04:31:02 ID:???
251249:2010/07/18(日) 16:12:43 ID:???
>250見たが意味わからん
違う人教えてくれい
252Name_Not_Found:2010/07/18(日) 16:27:18 ID:???
253Name_Not_Found:2010/07/18(日) 17:55:40 ID:u1/Hpl4R
JQueryのtablesorterを使っているのですが、
セルの中身を基準にソートするのではなく、<td title="1-2">四角</td>
みたいな感じでタグの属性でソートする方法か代替処理ってできないでしょうか?
254249:2010/07/18(日) 18:05:15 ID:???
いやいやData URI Scheme自体の話じゃなくて、
サーバー側からプッシュされる画像データを、
次々にスライドショーさせたいんだけど、
javascriptで実現する方法がわからんの。
画像データ自体を取得するjavascriptは書けてる。
255Name_Not_Found:2010/07/18(日) 19:06:04 ID:???
なんつーか、上目線で質問するなw
256Name_Not_Found:2010/07/18(日) 19:24:07 ID:???
>>254
じゃあ、後は適当にjQueryのanimateで流せば良いだろ
257Name_Not_Found:2010/07/18(日) 19:26:52 ID:u1/Hpl4R
自己解決
textExtractionって元々機能に組み込まれてました。
258249:2010/07/18(日) 20:15:58 ID:???
>256
知ったかぶんなカスが
259256:2010/07/18(日) 20:33:26 ID:kRO2x713
>>258
ああごめん、スライドショーか
スライドさせるのかと間違えた
260Name_Not_Found:2010/07/18(日) 20:52:53 ID:???
scrollable使えばいいだろ。
というか249じゃ説明になってないだろ。
body.appendChild(img)が分かればどうにかなるとおもうが。
あと態度が悪い。
261249:2010/07/18(日) 21:58:59 ID:???
まさかおまえらがこんなにもいいやつだとは思わなかったぜ…
262Name_Not_Found:2010/07/18(日) 22:01:05 ID:???
sigmafridについて、詳しく書かれてるサイト無い?
263Name_Not_Found:2010/07/19(月) 00:45:52 ID:???
>>248
いやだって、js切った時に何も無いとこで指アイコンになったりしない?
264Name_Not_Found:2010/07/19(月) 04:02:19 ID:???
>>263
しねぇよ
265Name_Not_Found:2010/07/19(月) 09:59:14 ID:???
>>263
するけど、してもいいじゃん。
今時わざわざJS切るなんて意図的なものだろうし。
90点を95点にするより、50点を80点にするほうが楽だし大事だわ。
266Name_Not_Found:2010/07/19(月) 11:42:04 ID:???
>265
あなたの価値観なんて聞いてませんよw
267Name_Not_Found:2010/07/19(月) 11:51:25 ID:???
>>265
でも、jsで指定する方がcssで指定するより楽だと思うよ
管理もjs一つで済むし
268Name_Not_Found:2010/07/19(月) 11:56:46 ID:???
cssでできる所はcssでやるべきだろ…
269Name_Not_Found:2010/07/19(月) 12:00:57 ID:???
場合にもよるけど、htmlをjsで生成してるなら、一緒にスタイルも指定してやった方が管理楽じゃない?
jsで機能を付加してやった場合に必要になる効果なんかもさ
270Name_Not_Found:2010/07/19(月) 13:39:25 ID:???

document.write("abcde".match(/../g));
→ab,ca,bc

これを

→ab,bc,cd,de

となるようにするにはどうすればいいですか?
271Name_Not_Found:2010/07/19(月) 14:39:49 ID:???
matchでは「できません」。
272Name_Not_Found:2010/07/19(月) 15:10:50 ID:???
>271
何ならできるかはっきり教えて下さい
273Name_Not_Found:2010/07/19(月) 15:12:09 ID:???
少しは頭使って工夫しろよ
一文字目を削除してみるとか
274Name_Not_Found:2010/07/19(月) 15:12:19 ID:???
>>266
あなたの価値観なんて聞いてませんよ(キリッ
275Name_Not_Found:2010/07/19(月) 15:14:16 ID:???
>>270
やりたいことがよくわかんないのですが、
普通に substr を for でまわしちゃダメなの?
276Name_Not_Found:2010/07/19(月) 15:29:33 ID:???
>275
よくわからないのでソースを貼って下さい
277Name_Not_Found:2010/07/19(月) 15:44:55 ID:???
var s = "abcde";
var str = new String();
for( i = 0; i < s.length - 1; i++) str += s.substr(i,2);
document.write(str);
278270:2010/07/19(月) 16:43:41 ID:???
..(=文字が二つ連続?) なら bc も当てはまるのに
なんでマッチしないのが不思議だったので聞きました

そういう仕様なのですね……
279270:2010/07/19(月) 17:07:13 ID:???
lastIndex を使ったら上手くできました
ありがとうございました
280Name_Not_Found:2010/07/19(月) 22:04:30 ID:???
なんでjavascript関連のページはクオリティが低いの多いの?
phpもヤバかったけどjavascriptのがもっと酷い
281Name_Not_Found:2010/07/19(月) 23:38:51 ID:???
Ajaxブームに便乗したサイトばっかりを見たんじゃね
282Name_Not_Found:2010/07/20(火) 01:05:50 ID:???
>>281
2000年ぐらいのページもひどかったぞ
なんでこんなのが上位にくるの、ってページが大杉
283Name_Not_Found:2010/07/20(火) 03:43:59 ID:???
>>280
裾野が広がっただけじゃなね?
クオリティが低いと感じるのは君のリテラシの問題かと。
284Name_Not_Found:2010/07/20(火) 18:30:45 ID:???
すみません!
本当に助けてください!
アイデアください!
もう半年近く考えてます!!!



携帯等Canvasが使えない環境で自由に図形を書きたいのです
画像は縮小拡大でジャギるし重たくなるので使えません
div等によるドット絵もビックリするくらい重たいので使えません
『\/|〇』等の文字を使うのもフォントによって違うので使えません

せめて斜線/が引きたいのです
できれば〇も
本当にお願いします
これがこのスレの神の力を持ってしてもだめだとなると
僕は…
285Name_Not_Found:2010/07/20(火) 19:05:20 ID:???
>>284
javascript drawingググれ
286Name_Not_Found:2010/07/20(火) 19:12:02 ID:???
>>284
ImageMagick でサーバサイドで生成するんだ。
287Name_Not_Found:2010/07/20(火) 19:58:24 ID:???
お願い致します。

・質問
IE8からプロセス間セッション共有が行われるようになってしまい
困っております。
(開いたウィンドウが全て共通セッションになってしまう)

どうにかしてJavaScriptから新規セッション情報を持ったウィンドウを
開くことはできませんでしょうか?

よろしくお願い致します。
288Name_Not_Found:2010/07/20(火) 20:20:18 ID:???
>285
今までで一番良さそうなものを見つけることができました!
ありがとうございます
ただ重たすぎでブラウザがフリーズしてしまうものでした…
注文多くてすみません…

こちらのスペックとしてはWikipediaが読み込み30秒で結構重たいです
やはり厳しいですかね…


>286
いろいろ試したのですが無料のところで使えそうなところがなかったです
289Name_Not_Found:2010/07/20(火) 20:32:45 ID:???
wikipediaはもともと鯖貧弱だからスペックと関係ない
290Name_Not_Found:2010/07/20(火) 20:47:41 ID:???
>289
そうだったんですか…
GIGAZINEも30秒でした

低スペックのマシンで動くJavaScriptを書くときの心得みたいのはあるのでしょうか?
291Name_Not_Found:2010/07/20(火) 21:22:13 ID:???
>>290
長いループ処理をなるべく作らないでやってくれ。
292Name_Not_Found:2010/07/20(火) 21:30:37 ID:???
>291
ありがとうございます
あとDOMをいじることに関してはやはりマシン事に得意不得意があるのでしょうか
例えばinnerHTMLとノード挿入とか
そういう場合少しでも軽くしようと思ったら書き分けですかね?

iモードのような一見どの機種も環境が同じに見えるけど
搭載チップの差によって得意不得意がかなり異なるなんてことはありえるのでしょうか
293Name_Not_Found:2010/07/21(水) 03:05:31 ID:???
>>288
>いろいろ試したのですが無料のところで使えそうなところがなかったです
今時PHP使える無料サーバなんて星の数ほどあるんじゃない?
ImageMagick が無ければ GD でもいけるかと。
携帯は端末環境に幅がありすぎるので、サーバサイドで何とかするのが基本だと思う。
294Name_Not_Found:2010/07/21(水) 08:05:27 ID:???
なぜPHP限定なんだ
295Name_Not_Found:2010/07/21(水) 08:38:00 ID:???
>>294
誰も限定とは言ってねーだろ
PHPでImagickを使える鯖を探したほうが手っ取り早いだろ
そんなことも分からないなんて一体どういう教育受けてきたんだ?
296Name_Not_Found:2010/07/21(水) 08:50:52 ID:6C4sWYTY
クロージャを学びました。
関数の中で無名関数を書くと、その一つ外のスコープに存在する変数が
スコープから外れても消滅することなく残存する。

この場合そのスコープ内の変数はどこに存在するのでしょうか?
具体的には、どうすればデバッガで確認できるのでしょうか?
297Name_Not_Found:2010/07/21(水) 08:53:36 ID:???
>>296
どこってその無名関数の環境からたどれるところに。
デバッガで確認って、デバッガの機能にもよるだろうけど、
その無名関数内にブレークポイントを設定して止めれば
そこで普通に変数名を指定して参照できるのでは。
298Name_Not_Found:2010/07/21(水) 09:16:21 ID:6C4sWYTY
>>297
Firebugでは見られませんでしたが、IEでは見られました。
ずっとFirebug使ってたので気づきませんでした。
299Name_Not_Found:2010/07/21(水) 11:07:26 ID:???
>295
自分はperl派です
もちろんどうしようも無くなったらPHPも勉強します

本当の事をいうと使えるところは2、3あったのですがFTP専用とか、こちらの環境ではまともに使えるものではありませんでした
それで今はiswebに落ち着いています
300Name_Not_Found:2010/07/21(水) 14:57:43 ID:???
場違いかもしれないけど質問です

4x4(x,y,z)のアフィン変換行列
【例】
m11 m21 m31 dx
m12 m22 m32 dy
m13 m23 m33 dz
 0  0  0 1

をcanvasのtransformに使える3x3(x,y)行列

【例】
m11 m21 dx
m12 m22 dy
 0  0 1
にするにはどうすればいいですか?
上手く説明できないのでエスパーで答えていただけると助かります
301Name_Not_Found:2010/07/21(水) 15:13:04 ID:???
宿題スレでやれ
302Name_Not_Found:2010/07/21(水) 20:33:58 ID:???
表示したページの内容を全て書き換える事は出来るでしょうか

開いたページを<html><body>test</body></html>だけに書き換えたいです。
document.writeを使って試してみたのですが内容によって書き換わるときと書き換わらないときがあるので・・・
303Name_Not_Found:2010/07/21(水) 20:44:30 ID:???
なんか悪用しそうな書き方だな。
何に使うのよ?
304Name_Not_Found:2010/07/21(水) 21:02:38 ID:???
>>302
document.write('<html><body>test<\/body><\/html>');
のようにして「1発で」全部書けば大丈夫だと思うけどなあ。
分けたりしたらタイミングの問題で失敗することがあるだろうけど。
305Name_Not_Found:2010/07/21(水) 22:57:59 ID:???
javaとjavascriptを取得したいんだが、正規表現で書くとどうなるんだ?
エロイ人教えて

xx="java,javascript,vbscript,perl,vb,ruby";
yy=xx.match(/java/g);
alert(yy);
306Name_Not_Found:2010/07/21(水) 23:01:32 ID:???
yy=xx.match(/(java|javascript)/g);
307305:2010/07/21(水) 23:06:59 ID:???
java*の文字列で、javaとjavascriptをマッチさせたいんだが...。
なんとかならね?
308Name_Not_Found:2010/07/21(水) 23:10:57 ID:???
いわゆる(正規表現とは別の)「ワイルドカード」を正規表現にしたいの?
"*" を ".*" とか "[a-z]*" とかに置換してから new RegExp(str, str) 使えばいいよ
309305:2010/07/21(水) 23:18:38 ID:???
>>308
簡単過ぎてワロタ
2時間も悩んでいたよ(´゚'ω゚`)ショボーン
310Name_Not_Found:2010/07/22(木) 02:41:26 ID:???
txt = "a@@@@@@ba****ba-----b";
result = txt.match(/a(.*?)b/g);
こんな感じで文字の抽出を行っているのですが(.*?)の部分だけ抽出したいのに前後のabまで結果に含まれてしまいます
gオプションを外すと該当部分だけしっかりマッチしますが複数のマッチが行われないので駄目でした
何か良い方法はあるでしょうか
311Name_Not_Found:2010/07/22(木) 02:43:04 ID:???
>>302
document.close
312Name_Not_Found:2010/07/22(木) 02:52:42 ID:???
>>310
RegExp#exec
313Name_Not_Found:2010/07/22(木) 03:38:15 ID:???
>>312
ありがとうございます
試してみたのですが1度しかマッチしませんでした
314Name_Not_Found:2010/07/22(木) 03:53:32 ID:???
>>312
ループさせれば良かったんですね
出来ましたお騒がせしました
315Name_Not_Found:2010/07/22(木) 09:26:04 ID:556xTC8i
最近javascript勉強始めたんだけど
javascript内で別のjsファイルを参照したい

innerHTMLで変数testを呼び出して
var test = "<script type="text/javascript" src="test.js"></script>";
って感じでjs越しに別のjsを出力したいけど
何か仕様があるか知らないけどこれが表示されないのね。
別のタグなら表示できるからソースは間違ってないと思う

っでぐぐったら

var xhr=null;
if (window.XMLHttpRequest)xhr=new XMLHttpRequest();
else if(window.ActiveXObject)
try {xhr=new ActiveXObject("Msxml2.XMLHTTP");}
catch(e){xhr=new ActiveXObject("Microsoft.XMLHTTP");}
xhr.open("GET","bbb.js",false);xhr.send("");eval(xhr.responseText);
alert(xxx);



var s=document.createElement('script');
s.charset='Shift_JIS';
s.src='hoge.js';
document.body.appendChild(s);

がでてきた。XMLがわかんないし
どっちが綺麗かとか
xhr.open("GET","bbb.js",false);xhr.send("");eval(xhr.responseText);
部分とか説明してくれたら幸せになれる。
316Name_Not_Found:2010/07/22(木) 09:39:47 ID:???
誰もお前の幸せなんか望んでない
317Name_Not_Found:2010/07/22(木) 09:59:32 ID:???
>>315
過去にさんざん出て来たんで、過去ログ全集を読めばいいのでは。
318Name_Not_Found:2010/07/22(木) 12:00:20 ID:???
each = function(ary, func) {
for ( var i = 0; i < ary.length; i++) {
func(ary[i]);
}
};

こんな感じのeach関数を作りたいんだけど
呼び出し側で任意のパラメータを追加で渡したい場合何か良い方法ありますか?

each(ary,function(data,a){ return data + a},3)

こんな感じで使うときに3をaに渡したいんです・・・
3とか3つ目の引数はある程度動的にもしたいんです・・・
やっぱりオブジェクトとか渡したほうが無難ですかねー?
それともargumentsをいじくれば何とかなりますか?

よろしくお願いします
319Name_Not_Found:2010/07/22(木) 12:07:05 ID:???
each = function(ary, func, a) {
var len = ary.length;
for ( var i = 0; i < len; i++) {
func(ary[i], a);
}
};

each(ary,function(data,a){ return data + a},3)
一個だけならこれでいいじゃん。
3つ目の引数の種類がいくつもあって条件分岐させたいならオブジェクトとか配列で、
説明と数値を一緒に渡さないと分岐できないでしょ。
320Name_Not_Found:2010/07/22(木) 12:13:10 ID:???
javascriptって関数呼び出しあほみたいに遅すぎね
クラス化関数化するのがバカらしくなる
321Name_Not_Found:2010/07/22(木) 12:34:52 ID:556xTC8i
>>317
せ、せめて
検索する単語を教えてくれ!
322Name_Not_Found:2010/07/22(木) 12:35:52 ID:mgmkiRb1
>>318
argumentsとapply()使えばどうにかなる。
323Name_Not_Found:2010/07/22(木) 12:36:08 ID:???
            __, --──−、_
           /::_, -‐─ ‐-、_::::`‐-、
.           /::/        `‐i:::::::ヽ
           |:./           ',ミ::::::}
           }:l             lミ::::::l'
         _!,'_ ,..-- ..、   __ !::::::::|
        lヽ! `i ィェッ、.i'゙"i';;;ィェッ;,`i===,、
         ',.l  ゙、゙゙゙゙゙,ノ  ヽ_"゙゙ ゙/ r;;;;;;/
          i|    ̄,'  ::::ヽ `''" .,{;;;;;;/
           ',.    ゙`-"゛''   ,};;;;;;'
          !   ,_、,___,  /;;;/"
         _,` 、       /;;r'
   _,, -─ '';;;;;;;;;| 、ヽ,,____,,-‐';;;;;;;;;;;\_
   ;;;;;;;;;;;;;;;;;;;;;;;;;;|  \    _//;;;;;;;;;;;;;;;`ヽ、
   ;;;;;;;;;;;;;;;;;;;;;;;;;;|   r‐ィェ- '" /;;;;;;;;;;;;;;;;;;;;;;;;;;
   ;;;;;;;;;;;;;;;;;;;;;;;;;;|  /,彡彡}  ,!;;;;;;;;;;;;;;;;;;;;;;;;;;;;

      ツレマスカ [Vladimir Tzlemazka]
        (1915-1997 ロシア)
324Name_Not_Found:2010/07/22(木) 12:52:34 ID:???
>>318
3だろうがxだろうが、関数リテラル(関数式)本体の中から普通に
参照すればいいのでは。そのためのクロージャじゃないの?
325Name_Not_Found:2010/07/22(木) 12:55:25 ID:???
argumentsがあるだろが
326Name_Not_Found:2010/07/22(木) 13:34:58 ID:???
applyあたりで頑張ってみます。
ありがとうございました。
327Name_Not_Found:2010/07/22(木) 13:58:20 ID:???
インラインフレームの中に表示されたものに対して操作
(例えば、マウスオーバーで全選択とか)するには
そのフレーム内に読み込まれるほうにスクリプトを入れないとダメですか?
読み込むほうからできたら、その手段を教えてください
328Name_Not_Found:2010/07/22(木) 14:10:54 ID:???
>>327
同一鯖なら別に制約はない。別鯖ならフレームの中身には
手が出せないので読み込まれる方に入れる必要があるね。
329Name_Not_Found:2010/07/22(木) 15:31:53 ID:???
>>327自己レスですが、しばらく調べてたら
全選択はテキストボックス内のみでしたね
でついでに中にアクセスするには、getElementByIdとか+contentWindowで可能だとか
失礼しました
330Name_Not_Found:2010/07/22(木) 16:10:09 ID:Ifk50ZIY
>>321
夏すなぁ。

一番目のは、クォートのエスケープと、「</」を書いちゃ駄目的な間違い。
二番目のは、AjaxでJSのソースコードをお取り寄せしてる。
三番目のは、DOM操作してscript要素を追加してる。

どれが良いとか悪いとかないから、全部知って、
自分のやりたいことにマッチしたのを選べばいいです。


>>315
> xhr.open("GET","bbb.js",false);xhr.send("");eval(xhr.responseText);

こんな感じに、具体的にわかんないことが出てきたら、また聞いてください。

ちなみにこれは、bbb.jsを読んで、ソースコードをまるっとevalで評価しようと
してるんだろうけど、動くのか?これ。
331Name_Not_Found:2010/07/22(木) 16:51:39 ID:???
?を正規表現でマッチさせたいのですが\?と書いてもマッチしてくれません
ほかに書き方があるのでしょうか

str="aa?aaaa?aa";
if(str.match(/\?.*?\?/))
332Name_Not_Found:2010/07/22(木) 17:13:39 ID:???
いや、マッチしてるでしょ。
333Name_Not_Found:2010/07/22(木) 17:35:35 ID:???
javascriptでHTTPヘッダって出力出来ますか?
334Name_Not_Found:2010/07/22(木) 17:39:55 ID:???
出力するだけならなんとか出来ます。
335Name_Not_Found:2010/07/22(木) 18:09:03 ID:???
onLoadって
body frame img のほかに、何で使えるんですか?
divではダメですが
336Name_Not_Found:2010/07/22(木) 19:02:20 ID:Ifk50ZIY
>>335
input[type=image]と、scriptもあるんじゃないかな。
試して報告しよう!
337Name_Not_Found:2010/07/22(木) 19:07:58 ID:BUgl0BrM
>>335
window

プリファレンス読め
338Name_Not_Found:2010/07/22(木) 19:44:23 ID:???
>>335
なんで使えるかって、使えるように作ったからだよ
339Name_Not_Found:2010/07/22(木) 19:53:49 ID:???
>>338
日本語ってむずかしいね!
340Name_Not_Found:2010/07/22(木) 19:55:03 ID:???
>>337
英語もむずかしいね!
341Name_Not_Found:2010/07/22(木) 20:20:50 ID:???
>>334
教えてくれませんか?
342Name_Not_Found:2010/07/22(木) 21:16:03 ID:1EiptBLq
言語はむずかしい
しかるに生きることはさらにむずかしい
343Name_Not_Found:2010/07/22(木) 21:36:26 ID:???
ま、育毛より難しいことはないけどね。
毛の生えるスクリプト書けないかなぁ。
344Name_Not_Found:2010/07/22(木) 21:56:17 ID:???
うるせぇ、ハゲ
345Name_Not_Found:2010/07/22(木) 21:57:31 ID:???
そんなの、
if (抜け毛量 > 発毛量) { リーブ21; }で洗脳すりゃいいだけだろ
346Name_Not_Found:2010/07/22(木) 22:58:53 ID:???
>>341
setRequestHeader
347Name_Not_Found:2010/07/22(木) 23:07:32 ID:???
>>345
そこはむしろwhileで
348Name_Not_Found:2010/07/22(木) 23:24:24 ID:???
>>347
無限ループ(・A・)イクナイ!
349Name_Not_Found:2010/07/22(木) 23:48:47 ID:???
東京今夜も暑すぎっす。清涼感のあるスクリプトきぼん。
350Name_Not_Found:2010/07/22(木) 23:49:56 ID:???
>>330
高校生で悪いか!

ありがとう。
返答内容から検索をして理解してくる。
351Name_Not_Found:2010/07/23(金) 00:06:15 ID:???
>>346
違うだろw
352Name_Not_Found:2010/07/23(金) 02:00:50 ID:???
javascriptでjavascriptを書く方法を教えて下さい
353Name_Not_Found:2010/07/23(金) 02:33:29 ID:???
画像を3D空間上に並べて、自由にカメラを動かせるような動作をさたいです。
便利な3D座標変換のライブラリがあったら教えていただけないでしょうか。
354Name_Not_Found:2010/07/23(金) 03:34:36 ID:???
>>351
え、送信時のリクエストヘッダをいじりたいって事じゃないの?
355Name_Not_Found:2010/07/23(金) 04:32:28 ID:???
>>353
387 名前:Name_Not_Found[sage] 投稿日:2010/05/31(月) 12:59:58 ID:???
駐車場を写した写真上をクリックすると駐車場上の座標が返ってくるというものが作りたいのですが、
難しすぎて分かりません・・・。

引数に駐車場の広さ、写真上の座標、そして3D空間上のカメラ位置の情報が必要な事は想像できるのですが、
具体的にどのようにしてカメラ位置の情報を取り、どのような計算式が必要なのでしょうか・・・?


これと同じ人かい?だとしたら何一つ成長してないんだな。
356Name_Not_Found:2010/07/23(金) 08:08:18 ID:???
3次元の座標計算は自分で勉強してやるしかないんじゃないかな。
原理さえ理解すれば単なる4x4の行列の掛け算だけでしょ。
357Name_Not_Found:2010/07/23(金) 08:14:42 ID:c7gVgi1T
>>353
結局分からずにライブラリ頼みかよ
そんなライブラリはない

数学板で空間図形勉強してこい。
358Name_Not_Found:2010/07/23(金) 08:40:03 ID:???
>353
悪いことは言わんから
それこそまともなライブラリが多数あるFlashでやれ
そして必要に応じてJavaScriptと連携させろ
359Name_Not_Found:2010/07/23(金) 16:22:34 ID:???
>>333
node.jsをどうぞ
360Name_Not_Found:2010/07/23(金) 20:25:06 ID:xrw6MaLB
Yahoo ChartsのグラフってIE7でみるとエラーでまくるんですが、環境おかしい? http://developer.yahoo.com/yui/examples/charts/index.html
361Name_Not_Found:2010/07/23(金) 20:50:34 ID:???
>>360
IE7は非対応です。
IE6かIE8を使ってください。マジで。
362Name_Not_Found:2010/07/23(金) 22:17:59 ID:???
>>361
majisuka?
でもIE8にしたらエラーで図に表示されてわらたw
でもガン無視するわけにもいかないので、対策かなんかあります?
363Name_Not_Found:2010/07/23(金) 22:46:34 ID:7UglMDdg
>>362
デバッグして公開しろよ。
フリーを使うもんの礼儀だ。
364Name_Not_Found:2010/07/23(金) 22:51:20 ID:???
>>363
もうIE8にしちゃったんでデバッグ無理です。
365Name_Not_Found:2010/07/23(金) 23:15:37 ID:???
JavaScriptで生成したテキスト文字列を
ファイルメニューからテキストファイル(.TXTや.SVGファイルなど)として保存することはできませんか?

IE限定ならActiveXを使えばできるのですが、それ以外のブラウザで使える方法がもしあれば教えて下さい。
366Name_Not_Found:2010/07/23(金) 23:31:11 ID:???
サーバに投げてファイル生成してダウンロードさせればおkじゃね
367Name_Not_Found:2010/07/24(土) 01:39:04 ID:???
>>366
(1) ウチはサーバが使えない所と契約しているのですが、
  100KBほどのテキストを別の広告付きの別のフリーサーバへ投げるって出来ます?
(2) 何の制限もかけずにファイル生成してもセキュリティー面で大丈夫ですか?
368Name_Not_Found:2010/07/24(土) 02:42:32 ID:???
>>359
サーバーサイドだったらPHP使うから意味なーいよ!
369Name_Not_Found:2010/07/24(土) 04:45:47 ID:???
>>364
Web開発者ならIETesterみたいなの入れとけよ・・・
370Name_Not_Found:2010/07/24(土) 06:43:28 ID:???
>>367
(1) たいていの所はおそらく規約違反
(2) セキュリティー的には不特定のファイルにアクセスするのと同リスク
371Name_Not_Found:2010/07/24(土) 07:49:07 ID:???
>>367
IE以外なら、データURIに飛ばすってのは?
372Name_Not_Found:2010/07/24(土) 13:44:45 ID:???
>>371
それでファイル保存できますか?
373Name_Not_Found:2010/07/24(土) 16:31:30 ID:???
>>371
データURI全然関係なくない?
374Name_Not_Found:2010/07/24(土) 21:22:46 ID:???
var time = setTimeout(function() {alert("test");},500);
このプログラムでalertを500ミリ秒ごとに表示させることは出来ないでしょうか
375Name_Not_Found:2010/07/24(土) 21:23:46 ID:???
setInterval
376Name_Not_Found:2010/07/24(土) 21:31:41 ID:???
>>375
ありがとうありがとう!やっと出来た!!
377Name_Not_Found:2010/07/24(土) 21:57:31 ID:???
>>374
何の嫌がらせ?
378Name_Not_Found:2010/07/24(土) 23:05:54 ID:???
>>377
実際はalertじゃない処理なのでご安心を
379Name_Not_Found:2010/07/25(日) 06:05:32 ID:???
DOMでhead中にmetaを挿入するにはどうしたらいいですか?

また、例えば↓の☆のところにもノードを挿入することは可能でしょうか


☆<html>☆<head></head>☆<body></body>☆</html>☆
380Name_Not_Found:2010/07/25(日) 08:46:51 ID:???
ValidなHTMLとは何か分かっているのかな。DOMでValidでない
ものを作ることはできないし、Validでないものを無理に作った効果は
ブラウザによってどう動作するか分からないから使うべきでない。
381Name_Not_Found:2010/07/25(日) 09:38:32 ID:???
>>379
まさにDOMで普通にやればいいんじゃないの。document.documentElement
のchildNodes[0]にはHtmlHeadElementが入っているはずだから、
document.createElement('META')でmetaを生成してappendChlidで挿入する。
ただし、そうやって後から挿入したmetaが効果を持つかどうかは疑問だけど。
382Name_Not_Found:2010/07/25(日) 10:09:18 ID:???
>380
>381
わかりました
ありがとうございました
383Name_Not_Found:2010/07/25(日) 14:04:29 ID:???
HTMLに存在しないタグをつくったり、
そのタグには無いはずの属性をつくったりってのは
HTML的に許される行為なの?
384Name_Not_Found:2010/07/25(日) 14:07:01 ID:???
HTML的には許されないんじゃない?
385Name_Not_Found:2010/07/25(日) 14:42:06 ID:???
HTML的には許されないよねぇ、やっぱ。ありがと。
386Name_Not_Found:2010/07/25(日) 17:42:03 ID:???
でも、HTMLで使う訳じゃないからいいんじゃない?
387Name_Not_Found:2010/07/25(日) 17:54:30 ID:???
htmlに本来ないタグを認識することはできないでしょうか?
innerTextとかを使いたいんです
idをつけてもだめです
何かいい方法はないでしょうか?
388Name_Not_Found:2010/07/25(日) 18:17:54 ID:???
何をやろうとしてるのか分からんけど、HTMLではなく全部
XMLとして扱うとか。innerTextはそもそもIE専だし捨てた方が。
389Name_Not_Found:2010/07/25(日) 18:36:52 ID:???
innerText無いのってFirefoxだけじゃね
390Name_Not_Found:2010/07/25(日) 18:38:20 ID:???
>388
今はもう標準になったんじゃないですか?
docomoやSoftBankのブラウザでも対応してますし
実質標準って感じですかね?

そういえばDOMも本当は純JavaScriptじゃないんですよね?
だったらDOMもinnerHTMLも使えないって場合手詰まりですか?
391Name_Not_Found:2010/07/25(日) 18:49:10 ID:???
DOMはW3Cが標準化していて、いわゆるWeb標準。
innerHTMLは非標準。
代わりにDOMのnodeValueを使えばいい。
392Name_Not_Found:2010/07/25(日) 19:22:06 ID:???
>>386
HTMLで使いたいんですよ。
<unko>うんこ</unko>とか、<span unko='hard'>うんこ</span>とか。

とりあえず思ったとおりに動作してしまうんだけど、まずいよねぇ。
393Name_Not_Found:2010/07/25(日) 19:25:42 ID:???
動作するなら問題出るまで運用しようぜ
問題出たらここに報告してくれ
394Name_Not_Found:2010/07/25(日) 19:26:30 ID:???
>>392
それはHTMLとしては使われてないよね?
395Name_Not_Found:2010/07/25(日) 20:13:25 ID:???
>>393
とりあえず問題出るまで放置してみるわ。

>>394
まあね。でもスタイル振れるから便利だぜ。
396Name_Not_Found:2010/07/25(日) 20:28:13 ID:???
>>395
スタイル振るだけなら、動作保証されて無いことはせずに
<span class="unko">うんこ</span>
とでもすべき。
397Name_Not_Found:2010/07/26(月) 08:37:42 ID:???
spanでいいならなぜ普通にspan class=とかspan id=とか
にしないのか分からん。なんにも勉強してないとか?
398Name_Not_Found:2010/07/26(月) 08:56:27 ID:???
CSSってプログラミングができる人からすると見栄えのための設定
みたいに思えるかもしれません。でも、CSSの方がはるかに軽負担
で合理的っていうこともあります。プログラミングだけではなくて
CSSもお考えになってはいかがでしょうか。
399Name_Not_Found:2010/07/26(月) 09:18:19 ID:???
スタイルシートでなくてもJavaScript側から群として要素を処理したいときはclassを使って識別するのが推奨ですか?
400Name_Not_Found:2010/07/26(月) 09:56:38 ID:???
document.getElementsByClassNameが使えるブラウザを使う限りではそう
401Name_Not_Found:2010/07/26(月) 11:01:34 ID:???
>400
使えませんでした

自分はfor-ifループで回そうと思ったのですが
それよりも効率のいい方法ありますか?
classを使う以外でもよろしかったら教えてください
402Name_Not_Found:2010/07/26(月) 11:05:09 ID:???
getElementsByClassNameはprototype.jsに効率がいいのがあるよ。それでもIEはfor ifだけど。
getElementsByNameってIEでもうごかなかったっけ。
403Name_Not_Found:2010/07/26(月) 11:18:28 ID:???
>>396-397
勘違いしているみたいだけど、そういうことは話していない。
404Name_Not_Found:2010/07/26(月) 11:28:56 ID:HDaE7geS
>>402
よう知らんのだけど、IE以外は純正のQuerySelectorを使うってオチ?
405Name_Not_Found:2010/07/26(月) 11:29:10 ID:???
>402
無難にfor ifでいこうと思います
406Name_Not_Found:2010/07/26(月) 11:54:38 ID:???
>>404
document.evaluateってのを使ってるみたい。

>>405
一応→IE以外はByclassでサポートしてるからね。
ちなみにIEは9でも無い限り要素数が増えるとfor loopがひどい。
407Name_Not_Found:2010/07/26(月) 12:42:10 ID:???
body onLoadでアラート出したあと、window.openで新規ウィンドウ開かせてるのですが、
ポップアップブロッカーに引っかかってしまいます。

ページを開いたときアラート出してOK押して新規ウィンドウが開くフローは崩さずに、
どうにかブロッカーに引っかからないやり方ってないですかねえ・・・。
408Name_Not_Found:2010/07/26(月) 12:54:37 ID:HDaE7geS
>>406
あー、xpathか。
勉強になりました。
409Name_Not_Found:2010/07/26(月) 14:58:37 ID:???
よく分からないんだが、ヘンな独自タグ作ったりしなくても
span class=とかでxpathで取れる、という理解じゃ違ってるの?
410Name_Not_Found:2010/07/26(月) 15:16:34 ID:???
jQueryじゃダメなの?
411Name_Not_Found:2010/07/26(月) 16:34:46 ID:???
<html>
<head>
<script type="text/javascript">
document.getElementById("test").addEventListener("click",aaa, false);
function aaa(){
alert("test");
}
</script>
</head>
<body>
<a href="#" id="test">aaa</a>
</body>
</html>

これでプログラムが動かないのですがどこが間違っているかご教授願えないでしょうか
412Name_Not_Found:2010/07/26(月) 16:39:01 ID:???
>>411
script要素の中を実行してる時点ではまだa要素が読み込まれていない。
そのscript要素全体をa要素の後ろに置くのでは。ちなみに「ご教授」は
このスレでは頻繁にもめる言葉なので使わない方が…
413Name_Not_Found:2010/07/26(月) 16:49:09 ID:???
>>412
無事動きました!有り難うございます
”ご教授”の件了解しました。以後気をつけます
414Name_Not_Found:2010/07/26(月) 16:57:20 ID:???
あるいはonloadで包むとかな
415Name_Not_Found:2010/07/27(火) 05:44:14 ID:???
a href="#" ってナニ?
416Name_Not_Found:2010/07/27(火) 06:03:59 ID:???
関数呼び出しを<a href="javascript:hogehoge();void(0);">とハイパーリンクに記述すると
ステータスバーに載ってしまい見っとも無いため
呼び出しはonClickに書いてリンクは害の無い空欄ハッシュ"#"にしたらいいんじゃね?と誰かが考えた古のテク
417Name_Not_Found:2010/07/27(火) 06:39:28 ID:???
へー

なら>>411も、関数定義にすればよかったのにね
418Name_Not_Found:2010/07/27(火) 08:09:25 ID:???
>>416-417
<a href="#" onclick="...">でいいじゃん。
419Name_Not_Found:2010/07/27(火) 09:57:57 ID:???
同一IDって振っちゃ駄目という割には振りまくれるんだけど
どうしてなの?
というかむしろ正式に複数の同一IDに対応しているみたいだし
420Name_Not_Found:2010/07/27(火) 10:57:51 ID:???
>>418
ページによっては一番上までスクロールされて果てしなくウザイから
preventDefault();もちゃんとやってね
421Name_Not_Found:2010/07/27(火) 12:38:33 ID:???
赤信号って渡っちゃ駄目という割に渡れるんだけど
どうしてなの?
422Name_Not_Found:2010/07/27(火) 13:55:34 ID:???
駄菓子屋って盗んじゃ駄目という割には盗りまくれるんだけど
どうしてなの?
というかむしろ正式に万引き推奨してるみたいだし
423Name_Not_Found:2010/07/27(火) 14:10:42 ID:6pTa3FJg
>>422
あー、このばあちゃん一人でやってる店で盗むのは
やっちゃいけないことだな、人として。

って子供ながらに思えない奴は、早めに死んだほうが良い。
424Name_Not_Found:2010/07/27(火) 17:55:13 ID:???
>>423
どこでもダメだろアホか
425Name_Not_Found:2010/07/27(火) 19:29:42 ID:???
オレオレ詐欺に振り込んじゃ駄目という割には普通に振り込めるんだけど
どうしてなの?
というかむしろ正式に複数の銀行口座を持っているみたいだし
426Name_Not_Found:2010/07/27(火) 19:48:48 ID:???
法と倫理の違い
427Name_Not_Found:2010/07/27(火) 20:23:08 ID:YE0qxHQp
例えば、

var ary = [a, b, c, d, e];

って配列から、
[0]〜[2]は40%の確率で、[3]〜[4]は60%の確率で1つ取り出す、という場合どうしたらいいんだろう。
これぐらいの例だったら、

var indxSet = [0, 0, 1, 1, 2, 2, 3, 3, 3, 4, 4, 4];
var indx = Math.floor( Math.random() * indxSet.length );
alert( ary[indxSet[indx]] );

みたいな超ゴリ押しでもいいだろうが、規模が大きくなっても対応できるコーディングが思い浮かばない。
428Name_Not_Found:2010/07/27(火) 20:26:32 ID:IgQwfRKL
JavaScript大先生がHTML5で大活躍されると聞いて跳んできました!!
御活躍を期待しています!!
429Name_Not_Found:2010/07/27(火) 20:34:37 ID:???
>[0, 0, 1, 1, 2, 2, 3, 3, 3, 4, 4, 4]
これだったら
1.0-2のどれかが選ばれる確率は50%
2.0-2の特定なものが選ばれる確率は17%
であんたが1、2どちらの意味で聞いてるのか分からん
430Name_Not_Found:2010/07/27(火) 20:35:26 ID:YE0qxHQp
訂正
×: var ary = [a, b, c, d, e];
○: var ary = ["a", "b", "c", "d", "e"];

×: [0]〜[2]は40%の確率で、[3]〜[4]は60%の確率で1つ取り出す
○: [0]〜[2]は50%の確率で、[3]〜[4]は50%の確率で1つ取り出す
431Name_Not_Found:2010/07/27(火) 20:45:51 ID:???
>>430
if (Math.random() < 0.5) { [0]〜[2]から乱数で選択 } else { [3]〜[4]から乱数で選択 }
432Name_Not_Found:2010/07/27(火) 21:05:15 ID:???
>>430
>>431

もっと複雑になってきたら何個ずつ増やせばいいか計算して増やした方がいいかもな
俺ならそうする
433Name_Not_Found:2010/07/27(火) 21:19:22 ID:???
(15 - Math.floor(Math.random() * 12)) % 5
これ2:2:2:3:3になってるかな?
あれ、こっちかな。頭が混乱する・・・
Math.floor(15 - Math.random() * 12) % 5
434Name_Not_Found:2010/07/27(火) 21:26:58 ID:???
>>430
どんくらいスケーラビリティもたせればいいのかわかんないけど、
融通効かすなら、重み付けかな。

var data = [ {data:"A",weight:1}, {data:"B",weight:2}, {data:"C",weight:3} ];
var i, v, w = 0, wTotal = 0;
for( i in data ) wTotal += data[i].weight;
v = Math.random()*wTotal;
for( i in data ) if( (w += data[i].weight) > v ) break;
alert( data[i].data );
435Name_Not_Found:2010/07/27(火) 21:37:38 ID:???
>>421
>>422
>>425
的外れなレスしてて、楽しい?
436Name_Not_Found:2010/07/27(火) 22:05:14 ID:???
>>435
遠慮せずに的外れでないレスをしてみてくれ
437Name_Not_Found:2010/07/27(火) 22:09:28 ID:???
>>435 は、早く >>419 に的外れでないレスをしてあげてね。
438Name_Not_Found:2010/07/27(火) 22:27:41 ID:???
指摘された奴らが顔真っ赤にしてるな
439Name_Not_Found:2010/07/27(火) 22:31:05 ID:???
そもそも419の「正式に複数の同一IDに対応」って何のことだ
getElementByIdは最初の1つしか返さないし
CSSの話?
440Name_Not_Found:2010/07/27(火) 22:32:52 ID:???
たぶんそうだろ
441Name_Not_Found:2010/07/27(火) 23:02:25 ID:???
企業に任せたサイトで<!--[if lt IE 8.0]><div id="LTIE8"><![endif]-->が複数箇所にあって、idでcss指定しているところもあったぞ。
442Name_Not_Found:2010/07/27(火) 23:15:02 ID:???
まあautopagerizeとかでid重複してしまうこともあるしな
443Name_Not_Found:2010/07/28(水) 01:01:49 ID:???
例え話するとどうでもいい方に脱線するいい例だな
まあ、>>421が悪いってことで

で、IDの重複はHTMLの仕様には違反するけど、
実装側(ブラウザ)はその程度でエラー出してたらキリがないから普通に動く
それだけでしょ
444Name_Not_Found:2010/07/28(水) 08:21:36 ID:6g6zvW4p
<script><!--
//>>432で作ってみた
//TORIDASU(配列1,配列1開始位置,配列1終了位置,配列1確率(比率か%),配列2,配列2開始位置,配列2終了位置,配列2確率(比率か%),配列3,………)
//とすると指定した割合になった配列が返ってくる

//>>427なら
var ary = ["a", "b", "c", "d", "e"];
R=TORIDASU(ary, 0, 2, 50, ary, 3, 4, 50)
alert(R[Math.floor(Math.random()*R.length)])

//それから、
A=["a","b","c","d","e"]
B=["f","g","h","i"]
C=["j","k","l"]
D=["m","n"]
//のとき、『A[0]〜A[2]から20%、Bから30%、Cから50%で出る』と『A[3]〜A[4]から5%、Cから15%、Dから80%で出る』の割合が7:2の場合みたいなのも↓でできると思う

//ちなみに「-1」で終了位置の「配列.length-1」を短縮表記できる
//つまり配列全部を表すときは『[配列,0,-1,割合]』
t1=TORIDASU(A,0,2, 20, B,0,-1, 30, C,0,-1, 50)
t2=TORIDASU(A,3,4, 5, C,0,-1, 15, D,0,-1, 80)
R=TORIDASU(t1,0,-1, 7, t2,0,-1, 2)
alert(R[Math.floor(Math.random()*R.length)])
445Name_Not_Found:2010/07/28(水) 08:22:25 ID:6g6zvW4p


function TORIDASU(){
var A=arguments
var D=new Array()
var E=new Array()
for(var i=4;i<=A.length;i+=4){
if(A[i-2]==-1){A[i-2]=A[i-4].length-1}
D[i/4-1]=A[i-2]-A[i-3]+1
E[i/4-1]=A[i-1]}
for(var g=0;g<E.length;g++){
for(var f=0;f<D.length;f++){
if(g!=f){A[g*4+3]*=D[f]}}}
E.sort(function(a,b){return b-a})
for(var h=E[0];h>=2;h--){f=true
for(var i=4;i<=A.length;i+=4){
if(A[i-1]%h!=0){f=false;break}}
if(f){for(var i=4;i<=A.length;i+=4){A[i-1]/=h}}}
var D=new Array()
for(var i=4;i<=A.length;i+=4){var C=new Array()
for(var j=A[i-3];j<=A[i-2];j++){C[j-A[i-3]]=A[i-4][j]}
for(var k=1;k<=A[i-1];k++){
for(var l=0;l<C.length;l++){
D.push(C[l])}}}
return D
//return D[Math.floor(Math.random()*D.length)]
}

//下手くそだし携帯で作ってるからソースが見にくいと思うけどごめんね
//--></script>
446Name_Not_Found:2010/07/28(水) 10:55:44 ID:???
>>443
それもあるけど、
IDはユニークだという前提でコード書いてたら痛い目にあう
ので、同一IDが複数ある前提で書かざるをえないのが面倒。
447Name_Not_Found:2010/07/28(水) 11:28:46 ID:???
>>446
よく分からないんだけど、getElementsById()とか使わないわけ?
HTML validatorすれば違反はすぐ見つけられるわけだけど…
そもそもvalidでないHTMLでDOMとか労力の無駄だと思うわけだが…
448Name_Not_Found:2010/07/28(水) 13:03:28 ID:???
>>447
上記の理由でgetElementsById()は「使えない」
本当はこれで済ませたいところでしゅが
449Name_Not_Found:2010/07/28(水) 13:19:36 ID:???
どんだけクソなコード書いてんだよ
450Name_Not_Found:2010/07/28(水) 13:28:44 ID:???
>>449
デザイナーに文句言ってよ。
451Name_Not_Found:2010/07/28(水) 14:15:40 ID:???
「一意的な識別子」というものが「無い」標準という方が(あったとすれば)
よっぽとあやしいと思う。HTMLのデザインはその部分については現状で
正しいと思う。それが気に食わないからデザイナが悪いとか笑止。
勝手にやればいいと思うけど俺様が正しいみたいな偉そうなこと言う資格
はないと思うよ。おお、2ちゃんねるらしい香ばしさだなあ。
452Name_Not_Found:2010/07/28(水) 14:55:55 ID:???
誰が悪いとか関係なく IDが重複する可能性を考慮する必要がある。
曰く、「受け入れは寛容に、送信は厳格に」ってやつだな。重要だぜ。
453Name_Not_Found:2010/07/28(水) 15:07:54 ID:???
んなのは前提条件によりけりだろ
HTMLも自分で書いてるなら重複しないように気をつければいいし、
他人が書いてても口出せるなら注文付ければいい
ライブラリの作者とかその利用者とか立場によっても意見が違うし
あと、下手に間違いを許容すると、それが間違いを助長するから質が悪い
>>419の疑問がまさにね
454Name_Not_Found:2010/07/28(水) 15:12:16 ID:???
>453
全く筋が通ってないよ…
455Name_Not_Found:2010/07/28(水) 15:17:13 ID:???
タグの一切ないページを公開しても
文章は表示できる
456Name_Not_Found:2010/07/28(水) 15:18:16 ID:???
知ってた
457Name_Not_Found:2010/07/28(水) 16:18:50 ID:???
>>453
もっとくやしく
458Name_Not_Found:2010/07/28(水) 17:31:41 ID:???
>>457
んなのは前提条件によりけりだろうがっ!
HTMLも自分で書いてるなら重複しないように気をつければいいし、
他人が書いてても口出せるなら注文付ければいいんだよっ!
ライブラリの作者とかその利用者とか立場によっても意見が違うし
あと、下手に間違いを許容すると、それが間違いを助長するから質が悪いっつーの
>>419の疑問がまさにねちくしょーっっ

こうですかわかりませn><
459Name_Not_Found:2010/07/28(水) 19:35:25 ID:???
460Name_Not_Found:2010/07/28(水) 19:47:04 ID:p1fcb4Qx
>>459
そこの管理人?
461419:2010/07/28(水) 20:19:42 ID:???
>>458
ありがとう。
自分のプロジェクトではIDがユニークになるように啓蒙するよ。
462Name_Not_Found:2010/07/28(水) 20:52:22 ID:???
適切な接頭辞を付けるなり何なり、複数人で書いているのだとしても
重複しないようにする方法はあると思うんだけどね。
IDが信用できないとなると、たとえば getElementById() 使う場合も
意図通りにIDで要素を取得できているかどうか確認するために
その要素と親要素のクラスをチェックするとか、
IDではなくクラスで(あるいは親ノードをたどって)要素を取得するように
コード規約を決めるとかしてるんだろうか。
非生産的すぎて泣けてくるなw

そしてほんのちょっとした知識と想像力があれば
自分の怠慢がそういった結果を招くってことは容易に理解できるわけで、
IDを重複させるようなデザイナは糞としか言いようがないなあ。
デザイナの仕事にどんどんJavaScriptが食い込んでる昨今ならなおさらのこと。
463Name_Not_Found:2010/07/28(水) 21:12:52 ID:???
ID重複なんてチェックがどうとかっていう以前の全然別次元の問題じゃないの
そんな状況で書いてる人がいるなんてかわいそうだな
464Name_Not_Found:2010/07/28(水) 21:46:02 ID:???
HTML書く上でIDをユニークにするのは常識だと思ってたんだが、そうじゃない人もいるんだな…
465Name_Not_Found:2010/07/28(水) 22:00:05 ID:???
>>464
そうなんです。基本を押さえてないのに、裏技ばかり覚えてくるので困ります。
466Name_Not_Found:2010/07/28(水) 22:06:04 ID:THyqdejU
IDだけにかかわらず、凡ミスチェックって
機械でやらない人多いのかね。htmlLintとか、その手のvalidator。

使ってれば、ID重複も引っかかるだろうし、
使ってないなら、めんどくさそう。
467Name_Not_Found:2010/07/28(水) 22:58:46 ID:QM+yh+6h
質問なんですが、JavaScript(実行jsファイル)でローカルにあるExcelファイルを開く事はできたのですが、
Excelファイルにパスが掛かってる場合、パスを指定して開く方法が分かりません
スレ違いだったらすいません
468Name_Not_Found:2010/07/28(水) 22:59:31 ID:???
validator通らなかったら完成品として受け付けない、
差し戻すとか、そうしなくちゃいけないんじゃないの。
プロで金取るんだから。
469Name_Not_Found:2010/07/28(水) 23:49:20 ID:???
>>467
JavaScript ≠ JScript
470Name_Not_Found:2010/07/29(木) 00:08:27 ID:???
現在、ボタンがクリックされたらJavaScriptより
iFrameのコードを出力し、指定したブロックの中に要素を入れたいと思っているのですが、
どうすれば良いでしょうか?
(ここでは、 id_insert ブロックの中にiFrameコードを挿入したい)

また、出来ればjQueryを使用した $hoge 的なコードでご教示願います。

■JavaScript
function id_create_iframe_onclick()
{
document.write("<iframe class=\"iframe_css\" src=\"http://google.co.jp\"
   style=\"\" scrolling=\"no\" frameborder=\"no\" >この部分は iframe 対応のブラウザで見てください。</iframe>");
}

■HTML
 <input id="id_create_iframe" style="" type="button" value="実行"
   language="javascript" onclick="return id_create_iframe_onclick()" />


 <!-- 実際にiFrameを挿入したいブロック-->
 <div id="id_insert">
 </div>
471Name_Not_Found:2010/07/29(木) 00:13:50 ID:???
472Name_Not_Found:2010/07/29(木) 00:56:28 ID:???
>>471
後者
473Name_Not_Found:2010/07/29(木) 01:10:10 ID:???
もっとスマートに書けると思う
474Name_Not_Found:2010/07/29(木) 05:28:53 ID:???
>>470
どうすればいいって、できてんじゃないの?
styleの前の改行をはずせば
475Name_Not_Found:2010/07/29(木) 08:10:45 ID:???
>>470
FAQ >>3 のQ4/A4は読んだのかな?
 一、テンプレ+FAQ>>2-10/過去ログ/関連資料を読める者
476Name_Not_Found:2010/07/29(木) 08:27:22 ID:???
cssでdisiplay: none; にしておいて
ボタン押したら見えるようにするのはどう?
477Name_Not_Found:2010/07/29(木) 10:22:24 ID:DQm/ubL2
>>468
いや、そんなんいちいち指定されるまでもなく、
いらんエラーはない状態で納品せんと。
478Name_Not_Found:2010/07/29(木) 10:43:36 ID:pGklmHHY
YouTubeを貼り付ける時の
<埋め込みコード>をJavaScriptに書き直したいのですが
どのようにすれば良いのでしょうか?

JavaScriptの全くの初心者で
この質問じたいが的を得ているのかも判りませんが
よろしくお願いします。
479Name_Not_Found:2010/07/29(木) 11:03:30 ID:???
>>477
だからその中に「IDの重複がない」は当然入るものではないの?
ID重複してたらいきなり死ぬブラウザがあるかも知れませんよ?
なにしろvalidなHTMLじゃないんだから。(今なくてもそれが現れて
顧客が文句言ったらvalidでないHTML納品した方が悪いことに…)
480Name_Not_Found:2010/07/29(木) 11:06:08 ID:???
>>478
なぜJavaScriptに書き直したいの。その意図を説明しないと
見当違いな回答が来るだけでしょ。
481Name_Not_Found:2010/07/29(木) 11:19:30 ID:???
>>468
まともな仕事だったら、ターゲットブラウザの話するでしょ。
それに、95%の人間が問題無く見られれば、
validかどうかなんて正直どうでもいい。
482Name_Not_Found:2010/07/29(木) 11:52:41 ID:???
>>479
>ID重複してたらいきなり死ぬブラウザ
それは無いわ。
483Name_Not_Found:2010/07/29(木) 14:16:06 ID:???
それがIEなら納得
484Name_Not_Found:2010/07/29(木) 15:06:40 ID:???
グラフを書く目的のコードなのですが以下のようなjavascriptの分で変数aを代入するにはどうしたら良いでしょうか?
 「var a=1;」等の記載を行ってもグラフは 2,3,4・・・とならず、a+1,a+2,a+3・・・と表示されます。

var params = {
x: ["test", "a+1", "a+1", "a+2", "a+3", "a+4", "a+5", "a+6"],
y: ["注文数(個)", 0, 20, 40, 60, 80, 100],
yMax: 100,
yMin: 0,
lineWidth: [1,2],
dotRadius: [3,4],
dotType: ["disc", "square"]
};
485Name_Not_Found:2010/07/29(木) 15:11:28 ID:???
>>484
"でくくらない


質問
jsでstyle.〜に!importantを付加しても効果はでてないのですが、これはどう仕様も無い仕様なのでしょうか?
runtimeStyleはIE専&CSSの!importantが優先されるので役立たずです。
486Name_Not_Found:2010/07/29(木) 15:11:41 ID:???
""でくくった部分はStringとして扱われるから
変数とNumberとして扱われるようにすればいい
487Name_Not_Found:2010/07/29(木) 15:31:19 ID:???
>>485-486
ご返答ありがとう御座います。

>>486
↓のように訂正してみたのですが、今度はグラフが表示されなくなってしまいました。
>var a=1;
>x: ["test", a, a+1, a+2, a+3, a+4, a+5, a+6],

JavaScriptではvar型にintやchar等の区別がないようなのですが、""内で変数aをint型で認識させる方法はないでしょうか?
488Name_Not_Found:2010/07/29(木) 15:41:09 ID:???
var a=1をparamsの内側に書いたりしてないか?
""内で変数使うのは基本的に無理
489Name_Not_Found:2010/07/29(木) 15:42:07 ID:???
グラフが出ないのはその先の関数が問題。
parseInt(a)とか?
charをintにしたいのか?
490Name_Not_Found:2010/07/29(木) 15:45:08 ID:???
そもそもaを使わなければちゃんとグラフ出るの?
491Name_Not_Found:2010/07/29(木) 15:53:42 ID:???
>>488
paramsの内側に書いた場合グラフが表示されなかったので外側に書いてました。

>>489-490
短いソースですが、全てで以下です。
この場合、横軸が、a,a+1,a+2〜a6となってしまいます。
目的はPHPで受けた値を引数としてグラフを書くことなのですが、x:["",""]の内側に変数を使うことはjavascriptでは難しいのでしょうか?

window.onload = function() {
var lg = new html5jp.graph.line("graph_oresen");
if( ! lg ) { return; }
var items = [
["商品A", 80, 38, 40, 14, 38, 20, 40],
["商品B", 20, 14, 58, 80, 70, 90, 20]
];
var a=1;
var params = {
x: ["test", "a", "a+1", "a+2", "a+3", "a+4", "a+5", "a+6"],
y: ["注文数(個)", 0, 20, 40, 60, 80, 100],
yMax: 100,
yMin: 0,
lineWidth: [1,2],
dotRadius: [3,4],
dotType: ["disc", "square"]
};
lg.draw(items, params);
};
492Name_Not_Found:2010/07/29(木) 15:57:28 ID:???
>>490
グラフ自体は正常に表示されます。
大元はHTML5の折れ線グラフです。
http://www.html5.jp/library/graph_line.html
493Name_Not_Found:2010/07/30(金) 13:06:09 ID:???
jQueryで質問させてください。
以下のようなテストスクリプトを作ってみました

<script type="text/javascript">
$(function(){
$("#ADD:button").click(function(){
ht = $("#ADDITEM").html();
$("li:last").after(ht);
})
$("li").click(function(){
index = $("li").index(this);
alert(index);
})
})
</script>
<body>
<div>
<div id="ADDITEM">
<li>□□□□□</li>
</div>
<li>△△△△△</li>
<li>○○○○○</li>
</div>
<input id="ADD" type="button" value="追加" >
</body>
liをクリックすると何行目のliなのかが表示されるのですが、
追加を押して増やした分については反応しないのです。
スクリプトで追記した分については無視されてしまうのでしょうか?
何か解決方法はあるのでしょうか?

よろしくお願いします。
494Name_Not_Found:2010/07/30(金) 13:27:19 ID:???
>>493
validなHTMLじゃないけど、機嫌がいいから教えてやる

$("li").click(function(){

$("li").live('click', function(){
495Name_Not_Found:2010/07/30(金) 13:38:50 ID:???
>494
できました!超感謝です!!
liveを使わないと、追加した要素では反応しないんですね

ありがとうございました
496Name_Not_Found:2010/07/31(土) 00:22:37 ID:???
>>491
ふうん。すごいね(棒)。ネット知識(笑)?
497Name_Not_Found:2010/07/31(土) 04:56:22 ID:???
なにこいつ
498Name_Not_Found:2010/07/31(土) 13:09:53 ID:???
誤爆じゃね?
499Name_Not_Found:2010/07/31(土) 13:38:07 ID:???
W3Cを参照するのはネット知識に含まれるんだろーか
500Name_Not_Found:2010/08/01(日) 03:17:17 ID:???
誰も彼もが英語読めるわけじゃないが読む努力ぐらいはして欲しい
誰かが日本語訳を作ってるものもあるし
501Name_Not_Found:2010/08/01(日) 04:49:27 ID:???
日本語訳作って売ったら金になりそうだけど
売るためには原本側の許可が必要だしなぁ
502Name_Not_Found:2010/08/01(日) 15:17:44 ID:???
許可なんているのか?
503Name_Not_Found:2010/08/01(日) 19:42:45 ID:???
許可が必要だしなぁ(笑)

ライセンス嫁よ、RFCはGFDLな
504Name_Not_Found:2010/08/03(火) 23:21:08 ID:yuDEMvmf
dd = new Date();
date = dd.getDate();

として、dateに日を入れるようにしました。

次に、

<script language="JavaScript" src="./sub.pl"></script>
<script language="JavaScript">
<!--
document.write(date);   #####
// -->
</script>

上の#####のwrite( ) の中に変数(date)を入れたいのですが、
どうすれば変数扱いになるでしょうか。
505Name_Not_Found:2010/08/03(火) 23:26:16 ID:???
よくわからんけどそのままで変数扱いされるはずですよ
506Name_Not_Found:2010/08/03(火) 23:40:43 ID:yuDEMvmf
>>506
なんと説明すればいいのか、難しいんですが、

例えば、date = 1 のときなら、
sub.plの1の内容(=なんとか)をwriteしたいのです。
 (sub.plに 1="なんとか"; と書いています)

504のままですと、「1」と表示されてしまいます。
507Name_Not_Found:2010/08/03(火) 23:46:51 ID:???
1は数値だから変数として扱えないよ
変数名のルールにあるじゃん、数字で始まる名前は変数に使えませんとか
508Name_Not_Found:2010/08/03(火) 23:48:57 ID:???
document.write(sub.pl[date]);
これでできないなら、sub.plがいけない。

って1=""ってそのまま書いてあるの?
sub.pl = {1:"~",2:"~"}とか
sub.pl = ["~", "~", "~"]ならOK
違うならjavascriptを根本から勉強したほうがいい。
509Name_Not_Found:2010/08/04(水) 00:16:45 ID:sxEKfLZj
>>508
sub.plは別ファイルなんですが、
{1:"あ",2:"い",3:"う"} というような書き方はマズいですか?
510Name_Not_Found:2010/08/04(水) 00:20:26 ID:???
変数に入れろ。話はそれからだ。
511Name_Not_Found:2010/08/04(水) 00:22:07 ID:sxEKfLZj
{A1:"あ",A2:"い",A3:"う"} こういう感じでしょうか?
512Name_Not_Found:2010/08/04(水) 01:34:25 ID:???
タグをわからないバカがいるから、こんなとこで聞いてもだめですよ
513Name_Not_Found:2010/08/04(水) 05:45:38 ID:???
getElementByIDを
$という関数名に定義するのが流行なんですか?
514Name_Not_Found:2010/08/04(水) 06:33:22 ID:???
$=取得==G=(`・ω・´)=gEBI=getElementById
どれでもすきなのでどうぞ
515Name_Not_Found:2010/08/04(水) 07:24:52 ID:???
そこまで詳しくないけど、
------------------------
// sub.plの中身
var daySet = { 0:"市場に出かけ糸と麻を買う", 1:"風呂をたく", 2:"風呂に入る", 3:"友達が来る",
4:"友達を送る", 5:"糸巻きしない", 6:"おしゃべり" };
// end sub.plの中身

var dd = new Date();
var day = dd.getDay();

document.write(daySet[day]);
------------------------
sub.plが↓みたいのだったら、
------------------------
// sub.plの中身
var d0 = "市場に出かけ糸と麻を買う", d1 = "風呂をたく", d2 = "風呂に入る", d3 = "友達が来る",
d4 = "友達を送る", d5 = "糸巻きしない", d6 = "おしゃべり";
// end sub.plの中身

var dd = new Date();
var day = dd.getDay();

document.write(eval("d"+day));
------------------------
まぁ下は素人目に見ても全然スマートじゃないよね。
516Name_Not_Found:2010/08/04(水) 18:52:23 ID:???
現在開かれているページがフレームで開かれているかを検査するjavascriptは組めないでしょうか
解答よろしくお願いします。
517Name_Not_Found:2010/08/04(水) 19:07:40 ID:???
ググったらすぐ出てくるが
518Name_Not_Found:2010/08/04(水) 19:27:17 ID:???
>>517
出てくるのですがparentを使った物ばかりで・・・
クロスドメインなのでparentだとエラーが出てしまうんです
parentを使わずに検査することは出来ないでしょうか
519Name_Not_Found:2010/08/04(水) 19:52:19 ID:???
自己解決しました
window.topで行けました
520Name_Not_Found:2010/08/04(水) 23:03:37 ID:xjlqU88i
>>515
やっとできました!
本当に、本当にありがとうございました!
521Name_Not_Found:2010/08/05(木) 07:51:33 ID:???
>519
try{aleart()}catch(err){alert(err)}
522Name_Not_Found:2010/08/05(木) 11:44:11 ID:???
GIFアニメを再スタートする方法でいい方法はありませんか?
読み込み(ネットから)直してると非常に重たくなっていきます
523Name_Not_Found:2010/08/05(木) 15:21:07 ID:???
>>522 次の方法はどうかな。当該img要素をimg1だとして。
var img2 = img1.src;
img1.src = null;
img1.src = img2.src;
試してないけど。
524Name_Not_Found:2010/08/05(木) 15:52:29 ID:???
>523
いろいろ弄って動くようになった頃には再読み込みするコードになってしまいました…

img2=img1.src+"?="
function (){img1.src=img2+="a"}
525Name_Not_Found:2010/08/05(木) 16:28:25 ID:???
>>524
そうやってurlを変化させたら再読み込みになる。そうじゃなく、
いちどそのurlを別の画像にそのまま持たせ、元の画像はいちど
クリアさせてから再度設定する。というのでどうかな。
526Name_Not_Found:2010/08/05(木) 16:34:40 ID:???
>525
それは様々な形でやりましたがダメでした
527Name_Not_Found:2010/08/05(木) 18:41:16 ID:???
できたよ?
自前でつくるのはメンドくさかったから、mixiのコミミュ画像でテストしたけど。
528Name_Not_Found:2010/08/05(木) 18:53:07 ID:???
>527
オフラインに保存すると通信しませんでしたが
オンラインで見ると通信してしまいます
どちらにせよ、リトライが100回を超えてくるとかなり重たくなります
529Name_Not_Found:2010/08/05(木) 19:11:28 ID:???
いやキャッシュ使われてるよ。オミトロンで検知できる通信の範囲内では通信してない。
img.src=""を実行すると通信しちゃうけど。

その他の方法ではjsでgifのリピートをコントロールはできないんじゃないかな。flashにしちゃえばできるけど。
530Name_Not_Found:2010/08/06(金) 07:43:03 ID:???
>529
アクセスをカウントするCGIを挟んだところ私が書いたものでは通信してました

通信しないソースを教えて貰えませんか?

というか本当は通信はどうでもいいのです
重たくならなければいいのですが………

わがまま言ってすみません
531Name_Not_Found:2010/08/06(金) 07:47:48 ID:???
キャッシュ使わないのはブラウザの設定じゃねーの?
532Name_Not_Found:2010/08/06(金) 07:59:23 ID:???
>531
キャッシュを使ってると思われるやり方でも重たくなってしまいます
キャッシュのキャッシュ(?)からキャッシュに毎回コピーされている的な感じに見えます
533Name_Not_Found:2010/08/06(金) 08:33:42 ID:???
オブジェクト何個も作ってるとかじゃねーの
534Name_Not_Found:2010/08/06(金) 09:49:34 ID:???
new imageみたいに要素を作るんじゃなくて、imgsrc="〜"で入れなおすやり方だよ?
キャッシュが使われるのに重いのはどうしようもないんじゃね?flashでやればいいと思うよ。
535Name_Not_Found:2010/08/06(金) 09:51:30 ID:???
>533
すみません
何のことか良くわかりません

とりあえず今までにリトライが成功したのは全て結局のところURLを変える方法です
それ以外の方法は失敗してしまいました
536Name_Not_Found:2010/08/06(金) 11:13:44 ID:???
>534
それだとリトライされませんでした
Flashが使えれば1番いいのですが様々な理由から使えない状態です…
537Name_Not_Found:2010/08/06(金) 11:48:42 ID:???
>>532
読み込んだときのHTTPステータスコードどうなってる?
ちゃんと304になってる?
538Name_Not_Found:2010/08/06(金) 11:50:33 ID:???
dataスキーム使ってみた?
539Name_Not_Found:2010/08/06(金) 12:59:28 ID:???
>ステータスコード
正常に画像が表示されるのでそうなってると思います

>dataスキーム
どのようなものか完全に理解していませんが対応してないと思います


いろいろ試してみたところ一度画面からなくなると次表示するときは再読み込みするみたいです
new Image()で取得した画面はそうなりませんがリトライはされません
540Name_Not_Found:2010/08/06(金) 22:11:06 ID:???
jqueryで複数のdiv要素を同時に表示・非表示したいと考えています
toggleを使って表示・非表示の動作は出来たのですが

<div id="opcl" >
内容1
</div>
<div id="opcl" >
内容2
</div>
<div id="opcl" >
内容3
</div>

上記のような場合一番上のdiv要素しか表示・非表示してくれません
すべて同時に動作させるにはどうすればよいでしょうか?
541Name_Not_Found:2010/08/06(金) 22:14:21 ID:???
コードだせよ。
まぁ原因はid使っているからだろうけどな。
542Name_Not_Found:2010/08/06(金) 22:18:50 ID:???
すみません。コードはこれです。
<button onclick="func();">表示・非表示</button>
<script type="text/javascript">
function func(){
$("#opcl").toggle("slow");
}
</script>
<div id="opcl">
内容1
</div>
<div id="opcl">
内容2
</div>
<div id="opcl">
内容3
</div>
543Name_Not_Found:2010/08/06(金) 22:21:45 ID:???
連レス重ねてすみません…
>>541さんの指摘からidをclassに変更したら上手くいきました
ありがとうございました
544Name_Not_Found:2010/08/07(土) 09:10:48 ID:???
>>535
「リトライ」→再試行→失敗があった時に再度実行して実行継続すること
「リスタート」→再開始→先頭に戻って再度はじめからやること
545Name_Not_Found:2010/08/07(土) 10:57:51 ID:???
>544
すみません
リスタートです
546Name_Not_Found:2010/08/07(土) 14:28:56 ID:???
javascriptを使って、ボタンを押すことで

<div>
<p>
文章
</p>
</div>



<div>
<!-- <p> -->
文章
<!-- </p> -->
</div>

にする方法を教えてください
<!-- -->でなくても<p>を消せればOKです
色々考えてみたのですが、<p>タグだけじゃなく中身の文章も同時に消してしまう方法しか思いつきませんでした
547Name_Not_Found:2010/08/07(土) 14:53:17 ID:???
s.replace(/(<\/p>)/g, function() { return '<!-- ' + RegExp.$1 + ' -->'; });
548Name_Not_Found:2010/08/07(土) 15:21:25 ID:???
少し調べれば判ることだろ
549Name_Not_Found:2010/08/07(土) 15:25:35 ID:???
replaceと正規表現ですね。まったく別の方向から調べてました…
ありがとうございます
550Name_Not_Found:2010/08/07(土) 21:46:24 ID:???
>>514
2バイトコードはJavaScript標準ではサポートされて無いんじゃないの?
551Name_Not_Found:2010/08/07(土) 23:01:53 ID:???
>>550
ECMA262違反ではない。でも実装次第
552Name_Not_Found:2010/08/08(日) 06:09:02 ID:iRduHBGo
>550
いまんところ使えないという話は聞かない
553Name_Not_Found:2010/08/08(日) 15:50:16 ID:???
テキストエリアに入力された改行の数をカウントしたいのですが、どんなに改行を入れても、2としか出てこないので、困っています。。。

var res = document.C1.A_1.value.match(/[\s\S]*/g);
var k = res.length;
554Name_Not_Found:2010/08/08(日) 15:57:51 ID:???
>>553
何故、改行だけをカウントさせたいのに条件を [\s\S]* としたの?
555Name_Not_Found:2010/08/08(日) 15:58:02 ID:???
同じ内容をどこかのスレに誤爆したっぽいけど、どのスレか解らない。。。死にたい。。。∧||∧
556Name_Not_Found:2010/08/08(日) 16:01:35 ID:???
>>554
うわぁ・・・すみません、有難うございました
557Name_Not_Found:2010/08/08(日) 16:01:54 ID:iRduHBGo
>553
/\n{1}?/g
558Name_Not_Found:2010/08/08(日) 16:12:45 ID:???
>>557
有難うございます
559Name_Not_Found:2010/08/08(日) 16:35:31 ID:???
\n{1]?の?って無いのとあるのとジャ違いあるの?
560Name_Not_Found:2010/08/08(日) 17:15:08 ID:???
{1}?
これがいらんだろ
561Name_Not_Found:2010/08/08(日) 17:46:17 ID:???
無知を曝け出すのが趣味なのだろうか
562Name_Not_Found:2010/08/08(日) 22:35:09 ID:???
いやいらんだろう
563Name_Not_Found:2010/08/09(月) 07:11:16 ID:???
textarea.value.match(/\n/g).length
textarea.value.split('\n').length - 1

しかしこれだと長い行の折り返しをカウントしないけどいいのか
564Name_Not_Found:2010/08/09(月) 07:21:49 ID:???
>>546
var df = document.createDocumentFragment();
var children = p.childNodes;
for (var i = 0, node; node = children[i]; ++i) {
 df.appendChild(node);
}
div.replaceChild(df, p);
565Name_Not_Found:2010/08/09(月) 18:07:58 ID:???
for(){
var hoge;
}
でループした回数だけ
function huga(){
var piyo;
}
で関数が呼ばれた回数だけ
変数が作られてしまうんですか?
変数がメモリを消費してしまうんですか?
566Name_Not_Found:2010/08/09(月) 20:38:07 ID:???
>>565
そんなことはない。ご安心を。
567宮城たった:2010/08/09(月) 21:05:18 ID:???
>>566
どうもありがとうございます
なんて言うと思ったかこの糞野郎!ウソツキサイコパス25回
お前京都舐めおだなバレバレですよ早く謝罪しなさいよ!
568Name_Not_Found:2010/08/09(月) 21:28:07 ID:Tuj1jpI3
parseInt関数について質問です
今日、こんな意味不明の動作を見つけました。
最初はIE8だけかと思っていたのですが、FxやSafariでも同じ症状が出ています。
動作ってこれで正しいのでしょうか?

alert(parseInt('07')); // '7'を表示
alert(parseInt('08')); // '0'を表示
569Name_Not_Found:2010/08/09(月) 21:35:32 ID:???
0で始まるやつは8進数として認識されてるからじゃね。
07=7
08は存在しない。0になるのは俺にはわからん。
parseInt('08'.replace(/^0*/, ''))
570Name_Not_Found:2010/08/09(月) 21:37:05 ID:???
>>568
parseInt('08',10)
parseInt('09',10)
571Name_Not_Found:2010/08/09(月) 21:44:21 ID:???
>>568
数値でほしいなら
>>> Number("8");
8
>>> Number("08");
8
>>> Number("0x8");
8
572Name_Not_Found:2010/08/09(月) 21:48:18 ID:???
ここで質問すべきなのか迷ったのですが……

JSPファイルを使える月額500円程度のHPスペースレンタルサービスはないでしょうか?
573Name_Not_Found:2010/08/09(月) 21:48:41 ID:???
誤爆しました……すみません……o/rz
574Name_Not_Found:2010/08/09(月) 21:52:24 ID:???
そういえばJavaが入ってるサーバーって見たこと無いな
575Name_Not_Found:2010/08/09(月) 21:56:58 ID:Tuj1jpI3
>>569-571
ありがとうございました。確かにそうですね。合点がいきました
576Name_Not_Found:2010/08/09(月) 22:35:15 ID:???
僕はGoogle App Engineちゃん!
577Name_Not_Found:2010/08/10(火) 02:46:25 ID:???
他人のサイトに埋め込まれているJavaScriptを改造することって可能ですか?
可能の場合、違法ではないですよね。

具体的には検索サイトでJavaScript使っているのですが、一度に出来る検索数が
少ないので値変えて増やそうと思ってます。
578Name_Not_Found:2010/08/10(火) 03:04:09 ID:???
>>577
スクリプトは一応著作権があるが、そんなこまけぇ改造は別にどうでもいい
579577:2010/08/10(火) 03:51:59 ID:???
>>578著作権の問題もあったんですね。

自分としては数十件単位でしか検索出来ないサイトに
100-10000件単位で検索かけたいので相手の意図しない負荷かけるので
問題ないか気になったんですがそっちも細かい問題ですかね。
580Name_Not_Found:2010/08/10(火) 09:57:07 ID:???
>579
相手が携帯とかの可能性があるから
例えば10秒たっても処理が終わらなかったら継続するか確認をだすとか
ここで大事なのは「中断しますか?」―YESorNoではなく「継続しますか」―YESorNoなところと
処理の外にsetInterval等で継続確認処理埋め込まないこと
本当に負荷がかかったときはタイマーがかなり(10倍くらい)遅れることも珍しくない

だから正しい書き方は

T=(new Date()).getTime()
for(){
if((new Date()).getTime()-T>10000)if(!confirm("継続しますか?"))break
【処理】
}

または

T=(new Date()).getTime()
S=setInterval(F,1)

function F(){
if((new Date()).getTime()-T>10000)if(!confirm("継続しますか?")){clearInterval(S);return}
【処理】
}

まあよっぽど負荷がかかる処理ならの話ね
581Name_Not_Found:2010/08/10(火) 10:33:26 ID:???
577はユーザースクリプトのことじゃないの?
負荷ってのもサーバの負荷のことだと思うんだけど
582☆忍者Perl☆ ◆M5ZWRnXOj6 :2010/08/10(火) 11:38:00 ID:gP6ha/RX
var GET_eq = '_%%eq%%_';
var GET_amp = '_%%amp%%_';

これってどういういみ?

_%%eq%%_ _%%amp%%_ってのが分からないで素教えてください
583Name_Not_Found:2010/08/10(火) 14:17:11 ID:QHCEGLYq
>>582
特に意味はないよ。
多分、おれおれエスケープシーケンスとして
_%%%%_を使ってるんでしょう。
584☆忍者Perl☆ ◆M5ZWRnXOj6 :2010/08/10(火) 15:08:54 ID:gP6ha/RX
ありがとうおざいましまじた
585Name_Not_Found:2010/08/10(火) 23:15:03 ID:B3QmPikL
JavaScriptでXMLを扱う場合の上限サイズってあるんでしょうか?
例えばブラウザ毎に上限があるとか。DOM1とDOM3それぞれで。

今は、IEのDOM1、chromeのDOM3、safariのDOM3で
200MB越えのXMLデータを扱おうとしてハマっています。
586Name_Not_Found:2010/08/11(水) 00:15:16 ID:???
>>585
ふつうはメモリ空間がある限り扱えると思う。

HTMLやXMLをDOMにすると、元の10倍前後のサイズのメモリが消費される。
200MBの10倍で2GB。32bit環境では扱えないだろうね。

587Name_Not_Found:2010/08/11(水) 06:40:20 ID:???
えっ
588Name_Not_Found:2010/08/11(水) 13:39:03 ID:K0qHCqd+
質問です。
あるオブジェクトが何であるかを確認するために、
toStringを使ってみたんですが、
nullやundefinedがwindwとなるのはなぜなんでしょうか。

やってみたことはこうです。
Object.prototype.toString.call(null);
Object.prototype.toString.call(undefined);

よろしくお願いします。
589Name_Not_Found:2010/08/11(水) 14:12:15 ID:???
答えを知りたいなら自分のレスをみなしゃい
590Name_Not_Found:2010/08/11(水) 15:27:28 ID:???
お詳しい方教えてください。

「ある変数の変化を監視するイベント」のようなものを実現することはできるの
でしょうか。

具体的には、
var a = false;
と変数 a を定義したとして、aの値が変化したらfunction handle()を実行させる、
というようなことをしたいのです。

もし無理でしたら、なにか代替案等お聞かせいただけたらうれしいです。
591Name_Not_Found:2010/08/11(水) 15:28:53 ID:???
タイマー使ってaを参照するとか?
592Name_Not_Found:2010/08/11(水) 15:44:23 ID:???
setter/getter作って独自に判断するしかないんでね?
593588:2010/08/11(水) 18:30:32 ID:K0qHCqd+
>>589
いろいろ調べてみたんだけど、
Function.prototype.callとFunction.prototype.applyの引数に
nullかundefinedコンテキストを渡すと、
window(グローバル)オブジェクトを参照するようになるのは

仕様ですかね?
594Name_Not_Found:2010/08/11(水) 18:45:21 ID:???
595588:2010/08/11(水) 19:30:38 ID:K0qHCqd+
>>594
まさにそれです。
> If thisArg is null or undefined, this will be the global object.

ってとこ。
596Name_Not_Found:2010/08/11(水) 21:51:21 ID:???
以前、型判定関数を作った時は、typeof→toString.call→その他(null、node、nodelist)で作ったな
597Name_Not_Found:2010/08/12(木) 05:48:41 ID:???
すみません
このような書き方でも3大ブラウザはキャッシュしてくれますかね?
<script type="text/javascript">
document.write(unescape("%3Cscript src='http://xxxx/test.cgi?args=1' type='text/javascript'%3E%3C/script%3E"));
</script>
598Name_Not_Found:2010/08/12(木) 08:07:28 ID:cB66FZOH
DOMに自前のプロパティを設定するのって許されてますか?
<div myproperty="hoge">
みたいな感じです。
値が動的に変わる変数を、DOMに埋め込みたいのですが・・
599Name_Not_Found:2010/08/12(木) 09:27:28 ID:???
特に問題なかったはず…
elements.getAttributeで取得もできる
600Name_Not_Found:2010/08/12(木) 09:34:17 ID:???
>>591
>>592
アドバイスありがとうございます!
601Name_Not_Found:2010/08/12(木) 10:21:18 ID:???
>598
ブラウザによる
Gecko系はその点に厳しいことがある
俺のはダメだった
602Name_Not_Found:2010/08/12(木) 10:30:26 ID:???
>>601
それはないわ
603Name_Not_Found:2010/08/12(木) 11:10:37 ID:???
>>598
HTML5的には名前を data- で始めれば良いとなっている。
<div data-myproperty="hoge">

http://www.whatwg.org/specs/web-apps/current-work/multipage/elements.html#custom-data-attribute


604Name_Not_Found:2010/08/12(木) 12:56:55 ID:???
>>603
マジか。
いつも適当にunkoとかの属性追加してたわ・・・
605Name_Not_Found:2010/08/12(木) 14:19:51 ID:???
ねーよwww
606Name_Not_Found:2010/08/12(木) 17:53:51 ID:PSDwjv+/
<div hoge="fuga">

は、HTML的にアウトってことでしょ?

--

var div = document.createElement("div");
div.hoge = "fuga";

ここまではJS的にもHTML的にもセーフで、

document.body.appendChild(div);

こうすると、HTMLはvalidでなくなる、と。
ちがうかな?
607Name_Not_Found:2010/08/12(木) 22:38:12 ID:???
DOMにデータ保持したくてvalidを維持したいときは
div.example = {data:"エアコミケ",day:"8月13-15日"};
のようにオブジェクト作って入れてる、こうすると属性として追加されずに単なるプロパティになる
608Name_Not_Found:2010/08/13(金) 13:04:29 ID:???
>607
何故DOMに保存したいのかがわからん
配列でいいだろ
609Name_Not_Found:2010/08/13(金) 14:20:43 ID:???
ObjectにObject入れるのがわからない?

配列関係ないし
610Name_Not_Found:2010/08/13(金) 17:45:42 ID:???
>609
JavaScriptとDOMは本来別々のものだろう
よほどの理由がないのにDOMに入れるのは納得できませんなぁ
611Name_Not_Found:2010/08/13(金) 18:18:12 ID:???
ヒント:専門学校のアホな課題
612Name_Not_Found:2010/08/13(金) 18:27:10 ID:STewOpyh
自分はよく追加するけどなあ。
div.isHogehoge = true;

みたいなのとか。
613Name_Not_Found:2010/08/13(金) 18:31:59 ID:???
普通のコードでそういうことやりたくなるのは設計が悪いから
jQuery は別
614Name_Not_Found:2010/08/13(金) 18:47:30 ID:???
ブッ
615Name_Not_Found:2010/08/13(金) 19:15:03 ID:STewOpyh
>>613
だってわざわざ
{
isHogehoge : true,
element : div
}

ってするの面倒なんだもん。
616Name_Not_Found:2010/08/13(金) 19:56:22 ID:???
オリジナルのプロパティは、ページのimgのsrcを全部書き換えて
自由に元に戻すって処理をさせたい時に、元のsrcを退避させておくために使ったな
未だに良い代替方法が思いつかないんだが、ここの皆はどう実装しているんだろうか。
617Name_Not_Found:2010/08/13(金) 22:51:42 ID:???
Youtubeは動画のサムネイル用のimg要素に直接thumbって属性が
618Name_Not_Found:2010/08/13(金) 22:58:31 ID:???
>>616
普通に、JavaScriptの変数に退避
619Name_Not_Found:2010/08/13(金) 23:40:18 ID:???
>>616
昔検索したらそーゆーバカなサンプル垂れ流すページ多くてさww
620Name_Not_Found:2010/08/14(土) 00:12:37 ID:???
>>616
imgタグごとinvisibleにするとかやったことあるな。保守してる人ごめんよ。
621Name_Not_Found:2010/08/14(土) 11:03:28 ID:???
replaceChildで置換かな
622Name_Not_Found:2010/08/15(日) 02:11:17 ID:U7ukK0zy
良く解らんのですが、
DOMに独自のプロパティを追加するのは
具体的に何がいかんのですか?

フレームワークの場合…みたいなレアケースを除くと、
あまりデメリットは感じられないのですが。

あと、その問題点を抱えながらも、DOMにプロパティを追加することが
容認される仕様なのはなんでなんですか?
623Name_Not_Found:2010/08/15(日) 04:29:06 ID:???
JavaScriptにおいてDOMエレメントはオブジェクトだから、
プロパティを追加しても問題ない。
でもそれをHTMLにappendChildするとinvalidなHTMLになる。
車は法定速度を超えられるけど、
違反になるから法定速度は守ろうねってこと。
624Name_Not_Found:2010/08/15(日) 05:01:34 ID:9c92wB4n
ほうほう、なるほど。
つまり、事故を起こさず周りの迷惑にならないように
安全に配慮して空気読んでやれよ、ってこと、なのかな?
625Name_Not_Found:2010/08/15(日) 05:38:39 ID:PQl2Ry5W
IEでonclickが反応悪いのは仕様?
フォームのボタン(<a>でも)を押すと数字が1ずつ増えるっていう超簡素なプログラムでさえ、
IEはボタンの連打についてこれない。火狐だと結構な連打でもついてくるのに・・・。
何か別にいい方法があるんだろうか
626Name_Not_Found:2010/08/15(日) 07:15:43 ID:???
onmouseup
627Name_Not_Found:2010/08/15(日) 10:52:06 ID:???
>>625
うちだと主要ブラウザの中じゃChromeがダントツに早くて時点でIE、Firefoxだな
628Name_Not_Found:2010/08/15(日) 11:04:44 ID:???
>>618
色々調べてやってみたが、思いっきりメモリーリークパターンに・・・
もう少し簡単に同様の事をする方法はないでしょうか(貼り付けたソースはIE以外用です)

var backup = new Array();
window.addEventListener('load',function() {
var len = document.getElementsByTagName('img').length;
for(i=0;i<len;i++) {
var image = document.getElementsByTagName('img')[i];
backup.push(image.src);
image.src = "0.jpg";
image.addEventListener('click',(function(n){ return function(event){
event.target.src = backup[n];
};})(i),false);
image = null;
}
var btn = document.createElement('input');
document.getElementsByTagName('body')[0].appendChild(btn);
btn.setAttribute('type','button');
btn.setAttribute('value','Show all Images');
btn.addEventListener('click',function(){
var len = document.getElementsByTagName('img').length;
for(i=0;i<len;i++) {
document.getElementsByTagName('img')[i].src = backup[i];
}
},false);
btn = null;
},false);
629Name_Not_Found:2010/08/15(日) 12:53:41 ID:???
Webページの太文字(<b></b> or class or id)のオンオフを切り替えるボタンを付けたいのですが
どういう方法が一番高速でしょうか?1ページ当たりの太字の数は数百個です
630Name_Not_Found:2010/08/15(日) 12:57:47 ID:???
jsの部分だけで一番早いのはbodyにclassひとつ追加することじゃないかな。
cssはbody.b span.b { 太字 }
cssのほうのスピードは気にしたことがない。
631Name_Not_Found:2010/08/15(日) 13:10:03 ID:???
>>630
なるほどーそっちを変更すれば一箇所だけで済みますね
盲点でした。ありがとうございます!
632625:2010/08/15(日) 13:28:04 ID:???
>>626
なるほど。ggったら、あまりに連打が速いとダブルクリック判定が出てonclickでは拾えないようだ

>>627
環境に依存する部分もあるみたいだな
633Name_Not_Found:2010/08/15(日) 16:13:12 ID:???
>>627
ダブルクリックしたとき
IEだと    click dblclick
Firefoxだと click click dblclick

の順で発生するからFirefoxが遅いのはおかしいな
634Name_Not_Found:2010/08/15(日) 17:18:59 ID:???
たんにゲイツのおせっかいでウェイトいれてるだけかもわからんな。
635Name_Not_Found:2010/08/15(日) 17:57:22 ID:???
サクラの糞つまらないネタ毎回御苦労
636Name_Not_Found:2010/08/16(月) 09:57:55 ID:???
DOMについては、属性を追加すればいいことがわかりました。
HTML5からそれが推奨されるようなので、今後はそうします。
637Name_Not_Found:2010/08/16(月) 12:52:59 ID:???
ヒント:HTML5準拠のブラウザはまだ存在しません
638Name_Not_Found:2010/08/16(月) 14:36:32 ID:???
>>637
お前馬鹿だろ?
639Name_Not_Found:2010/08/16(月) 14:42:38 ID:???
準拠はないなw
640Name_Not_Found:2010/08/16(月) 20:36:32 ID:???
jQueryでのPOSTについて質問です。
http://blog.tofu-kun.org/070924025015.php
このページの「まず、普通にPOSTしてみる」のpost.htmlとpost.phpをローカルにコピペして実行したところ何も動きません。
どこを直せば正常に動くのでしょうか。
jQueryのバージョンは1.42です。
641Name_Not_Found:2010/08/16(月) 20:45:42 ID:???
どの段階で動かないのかが解らないと……
642Name_Not_Found:2010/08/16(月) 20:46:26 ID:???
ちょっとは自分で試行錯誤しろや
643640:2010/08/16(月) 20:56:31 ID:???
ああ、ごめんなさい。
スレ違いでした。
644Name_Not_Found:2010/08/16(月) 21:04:16 ID:???
お前らがいじめるから
645Name_Not_Found:2010/08/17(火) 03:00:45 ID:???
http://tawashi.ula.cc/?guid=ON
このゲームを自動でクリアするスクリプトを作りたいのですが

ルールは
・クリックでめくれる3*3マスの神経衰弱
・パターンは6種
・そのうち4種は1手めくっただけでわかる
・残りの2種は3手目でわかる(2手目までは同じ)

どういう風に組めばいいのでしょうか?
646Name_Not_Found:2010/08/17(火) 03:08:38 ID:???
そこは、スクリプト使うとルール違反らしいです。
647Name_Not_Found:2010/08/17(火) 07:57:42 ID:TrDUb+Ry
>>645
6パターンしかなくてスクリプト禁止ならUser Scriptで1パターンを只管ループさせれば?
パターン出現が全て均等なら600回ループさせれば100回勝つる!
648Name_Not_Found:2010/08/17(火) 18:22:33 ID:TrDUb+Ry
Html内の<Title>タグを1秒置きに変更したいのですが
window.title = 今日.getSecond();
で、変更されません(titleは最初のデフォルトのまま)

BodyのonLoadから呼び出して更にsetTimeOut(1000);時に再帰的に自分を呼び出して処理しています

649Name_Not_Found:2010/08/17(火) 18:32:37 ID:???
document.title?
650Name_Not_Found:2010/08/17(火) 18:33:33 ID:???
ああ、あと
setTimeout(func1,1000);
だけど大丈夫?
651Name_Not_Found:2010/08/17(火) 18:34:19 ID:???
1秒置きにタイトル変えるってどんな用途?
652Name_Not_Found:2010/08/17(火) 18:34:51 ID:???
つsetInterval
653Name_Not_Found:2010/08/17(火) 19:11:17 ID:???
>>651
時計とか?
654Name_Not_Found:2010/08/17(火) 19:51:50 ID:???
>>650
あ、functionは指定してます。カキコ時の記入漏れです。


正に時計です。htaファイルで日時を表示するだけですが
Windowを最小化した時にタスクバー上にリアルタイム時間を表示させたくて
タイトル変えればいいのかな、と
655Name_Not_Found:2010/08/17(火) 20:04:18 ID:???
その用途ならタスクバーに時計を表示するフリーソフト使えばよくね?とか言うのは野暮かw
656Name_Not_Found:2010/08/17(火) 20:21:48 ID:???
>>649
ありがとうございました
一発解決でした。
ウィンドウのタイトルだからWindow.titleだとばかり思ってました…

>>655
車輪の再発明は承知の上です。フリーツールを入れられない環境だったので
じゃあ作るかと
657Name_Not_Found:2010/08/17(火) 22:41:23 ID:???
それをHTMLで作ろうという発想はなかなかだな。いい意味で。
658Name_Not_Found:2010/08/18(水) 10:42:14 ID:???
$("#txtdata").keydown(function(e){
if(e.keycode == 13)
//処理
});

テキストボックス(id="txtdata")でEnterキーを押す、という部分でエラーが出てしまいます。
keycodeの上にマウスカーソルを合わせるとundefinedと出ます。
Enterキーを押したとき・・・という分岐を使いたいのですが、どうすればいいですか?
以下、エラー文章です。

keydown イベントでは charCode プロパティの値には意味がないため使用すべきではありません。
659Name_Not_Found:2010/08/18(水) 12:39:15 ID:???
keyCode
660Name_Not_Found:2010/08/18(水) 13:23:52 ID:???
eventのkeyCodeってブラウザによっては無かったりするよね?
jQueryのソース見てみたんだけど、〜.keyCode = 〜っていう式が見つからなかったんだけど、どうなっているの?
唯一見つかった式 a = event
if (!a.which && (a.charCode || a.charCode === 0 ? a.charCode : a.keyCode)) a.which = a.charCode || a.keyCode;
661Name_Not_Found:2010/08/18(水) 13:43:25 ID:???
>>660
そこに書いてあるとおりだろ
662Name_Not_Found:2010/08/18(水) 13:43:51 ID:???
keyCodeは主要ブラウザ全部がサポートしてるはず
663Name_Not_Found:2010/08/18(水) 15:21:07 ID:???
firefoxでwindow.eventが無かったからkeyCodeがないって思ってたらしい。orz
今確かめたら確かに(引数のe).keyCodeで取得できました。
てことはjQueryとしてはevent.whichがメインで使われるということを想定して作られているんですかね。
664658:2010/08/18(水) 15:45:04 ID:???
ああぁ、大文字小文字の区別だったんですね。
数時間躓いた状態でした。
ありがとうございました。
665Name_Not_Found:2010/08/19(木) 14:32:51 ID:???
Workerについて質問ですが
通常スクリプトからさせたい処理をしていすることはどうしてもできないのですよね?
その場その場で処理させたい内容が異なる場合や大量に処理のパターンがある場合、
通常スクリプトからサーバーにデータを送って、サーバー側で外部スクリプトファイルを保存し
Workerに指定するといったやり方が一番ましでしょうか?
666Perl忍者 ◆M5ZWRnXOj6 :2010/08/19(木) 16:15:18 ID:LsA4z/6P
jqueryのloadを使うと
なぜかjavascriptが反応なくなります
アップロードの部分が

ソース
http://codepad.org/Qeeb3MXF

なぜ? \$("#field2").load("list.cgi");でリスト表示させてアップロードできるようにしたんですが

\$("#field2").load("list.cgi");を書かなければちゃんとアップロードできます

誰か教えてください アップロードが無反応になります
667Perl忍者 ◆M5ZWRnXOj6 :2010/08/19(木) 16:19:42 ID:LsA4z/6P
他のhtml書いてないファイルで

テキストファイルでやったらアップロードできたんですが

やっぱりhtmlをよみこんだときタグ読みこむからだめなんですか?
なんか読み込んじゃまずいのとかありますか?
668Perl忍者 ◆M5ZWRnXOj6 :2010/08/19(木) 16:32:29 ID:LsA4z/6P
そのloadで読みんだファイルのほうにはjavascriptがかいてあります
javascript消したらできたんですが

javascirptを消さないと↑のコードのjavascriptのアップロードが無反応になります
教えてください

669Name_Not_Found:2010/08/19(木) 16:39:47 ID:???
jqueryみたいなライブラリを訳も分からないやつがむやみやたらに使うな
特に複雑なことをしようと思ったらそう
自分で書けよ
670Name_Not_Found:2010/08/19(木) 17:02:32 ID:???
なんで?
671Perl忍者 ◆M5ZWRnXOj6 :2010/08/19(木) 17:04:27 ID:LsA4z/6P
>>669
クソガリは鉛筆でカールしてろよクソガリ

どなたか教えてください
672Name_Not_Found:2010/08/19(木) 17:05:31 ID:???
思わぬ挙動をして逆に調整がめんどくさくなったりするからだよ
673Name_Not_Found:2010/08/19(木) 17:09:16 ID:???
納得した
674Perl忍者 ◆M5ZWRnXOj6 :2010/08/19(木) 17:10:30 ID:LsA4z/6P
>>670
クソガリは脳味噌も終ってるなww答えられねえバカwww
ノウタリン+クソガリチビ クソノッポのチンパンジーあいちゃんの進化系かな?www
てえめみたいなクソはやく死んじまえよ!!!!!!クソ!!w(笑)クソ!!w(笑)クソ!!w(笑)
クソ!!w(笑)クソ!!w(笑)クソ!!w(笑)クソ!!w(笑)クソ!!w(笑)クソ!!w(笑)クソ!!w(笑)クソ!!w(笑)
クソ!!w(笑)クソ!!w(笑)クソ!!w(笑)クソ!!w(笑)
クソ!!w(笑)クソ!!w(笑)クソ!!w(笑)クソ!!w(笑)クソ!!w(笑)クソ!!w(笑)クソ!!w(笑)クソ!!w(笑)クソ!!w(笑)クソ!!w(笑)
クソ!!w(笑)クソ!!w(笑)クソ!!w(笑)クソ!!w(笑)クソ!!w(笑)クソ!!w(笑)クソ!!w(笑)
クソ!!w(笑)クソ!!w(笑)クソ!!w(笑)クソ!!w(笑)クソ!!w(笑)クソ!!w(笑)クソ!!w(笑)クソ!!w(笑)クソ!!w(笑)クソ!!w(笑)クソ!!w(笑)クソ!!w(笑)
クソ!!w(笑)wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
クソ!!w(笑)
クソ!!w(笑)クソ!!w(笑)
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
675Name_Not_Found:2010/08/19(木) 17:12:43 ID:???
暑くなるから落ち着けよ
676Name_Not_Found:2010/08/19(木) 17:37:26 ID:SJZVHYtf
とりあえずむかつく言い方でもそれが自分のために言ってくれてる言葉なら素直に聞くべきだと思う
そうしないと誰からもアドバイス貰えなくなると思うよ

ましてや今は自分が質問してる立場なんだから
キレるのはおかしいことじゃない?
最悪自分が必要なところだけ聞いてあとは流せばいいと思うよ

確かに言われた言葉はぶっきらぼうだったかもしれないけど
やっぱり言われた言葉そのものよりその人が何を思って何を自分に伝えたくて言ったかったことを見極めるべきだと思う

やっぱり素直が一番だよね
と思う16の夏
677Name_Not_Found:2010/08/19(木) 17:51:21 ID:???
や、まあ素直になった結果キレたんだろうけど。
やっぱり精神的に大人にならないとね
と思う19の夏
678Name_Not_Found:2010/08/19(木) 17:53:09 ID:???
おいおい素直ってのは素直に聞くこry
679Perl忍者 ◆M5ZWRnXOj6 :2010/08/19(木) 18:09:04 ID:LsA4z/6P
jquery.jsとjquery.uplaodの順番かえたらできたんだけどwwwwwwwwwwwwwwwwwwwwwwww
680Name_Not_Found:2010/08/19(木) 19:07:07 ID:???
各エレメントにイベントリスナーが付かないのでおかしと思ってたら
最後にdocument.getElementsByTagName("body").innerHTML += 〜
ってしてるところで全てリセットされてた事に気づかなくて無駄な時間を費やしたのは俺だけか・・・
681Name_Not_Found:2010/08/19(木) 19:38:15 ID:???
そもそもdocument.getElementsByTagName("body").innerHTML += 〜がおかしい
682Name_Not_Found:2010/08/19(木) 20:31:15 ID:???
ID:LsA4z/6Pの崩れ方が暑さのせいだと信じたい。

ウソ。
683Name_Not_Found:2010/08/19(木) 22:38:51 ID:ZSCpDILw
XMLHttpRequestに対してJavaScript側である程度連続(8多重ぐらい)で
sendを要求した場合、その多重度は、各ブラウザの
HTTP1.1の最大接続数の設定に影響されるのでしょうか?

FireFoxとIEとOperaの上記、接続数の設定箇所はわかるのですが
ChromeとSafariがわかりません。
ChromeとSafariにも最大接続数などの設定は可能ですか?
684Name_Not_Found:2010/08/19(木) 23:01:38 ID:???
>>680
あるあるww

>>683
できたとしても、webページ側からはなんにもできないから、自分以外に公開するなら、
接続数2とかでもちゃんと動くようにするべきじゃね。
685Name_Not_Found:2010/08/19(木) 23:25:20 ID:xx33bvg8
キューを貯めておいて、順番にsendする仕組みを作ったことがあるけど、
そんなにじゃんじゃんsendしなきゃならない様なら、
長ーく繋がったままにしたほうがいい気がしてきた。
686Name_Not_Found:2010/08/19(木) 23:49:18 ID:ovAqrro1
YAHOO UI (やその他の)JavaScriptライブラリーの中身を、HTMLのSCRIPTタグ内に展開するのはライセンス違反でしょうか?
もちろん著作権表示は削除しない場合です。
687Name_Not_Found:2010/08/20(金) 00:11:13 ID:POi/e94c
>>686
YUIはBSDライセンスだから、
著作権表記とライセンス条文と無保証を明記すればOK。

GPLでもJSは、ほぼコードがそのまま公開されるから問題なかんべ。
そんかわり、自分のもGPLになるけど。
688Name_Not_Found:2010/08/20(金) 02:10:49 ID:???
>>687
ありがとう
そういえばYUIのライセンスってってゆるいほうですね

GNUは注意ってことね
日本語問題で修正せにゃならんこともあるし他人事じゃないですね
689Name_Not_Found:2010/08/20(金) 09:20:28 ID:???
まあwebアプリの場合はGPLでもそこまで困ることはなさげだが
(仕事でも納入先にはソースコードごと納品するのが普通だし)
690Name_Not_Found:2010/08/20(金) 14:11:45 ID:gjWcg7Jh
twitterの短縮URLをページ内に表示させる方法は?

http://twitter.com/share?url="+encodeURIComponent(location.href))
ここまでは分かったけど、alertで表示させるやり方わからんのです。
691Name_Not_Found:2010/08/20(金) 15:00:18 ID:???
aletr(それ)
692Name_Not_Found:2010/08/20(金) 15:18:00 ID:gjWcg7Jh
>>691
やってみた

$(function(){
$("#hoge").click(function(){
var get_encURL="http://twitter.com/share?url="+encodeURIComponent(location.href);
alert(get_encURL);
});
});

<div id="hoge">hoge</div>

結果は短縮URLになる前のモノだった・・・
短縮されたURLを取得したいのです。
693Name_Not_Found:2010/08/20(金) 15:29:49 ID:???
>>692
そういうapiは提供されてない
694Name_Not_Found:2010/08/20(金) 16:00:43 ID:gjWcg7Jh
>>693
APIないのか・・・

var get_encURL="http://twitter.com/share?url="+encodeURIComponent(location.href);
$.ajax({
type : "get",
url : get_encURL,
cache: false,
success : function(html){
alert(html);
return false;
},
error : function(){
alert("false");
}
});
return false;

テキトーjqueryで試してみている。htmlが取得できればなんとか出来ると思う。
週明けに再挑戦してみます。
695Name_Not_Found:2010/08/20(金) 16:06:33 ID:???
>>692
>>690で表示できるなら、一旦表示させてから取得したら?
696Name_Not_Found:2010/08/20(金) 16:17:36 ID:???
指定したURL先のhtmlソースを表示せずに変数に取り込むことはできますか?
(取り込み後に特定の文字列を抜き出し、後続処理に使いたいため)
IE8です。
697Name_Not_Found:2010/08/20(金) 16:57:50 ID:???
>>694
Same origin policy
つか文字数が制限されていないところでわざわざURLを短縮する理由って何だ
アフィURLを隠蔽して嫌儲対策?

>>696
同じドメインのページならXMLHttpRequestでできる
違うドメインのページなら、そのページがレスポンスヘッダで
XDomainRequestAllowed: 1を返すのであれば、XDomainRequestを使ってできる
698696:2010/08/20(金) 17:19:56 ID:???
>>697
回答ありがとうございました。
699Name_Not_Found:2010/08/20(金) 21:39:47 ID:4dsfOcXZ
<input type="text">に入力された値を
非同期で別のページに送りたいのですが
イベントリスナの時点で躓いてしまいました
jQueryのchange()でいけるかと思いましたが
(jsなど自動で)フォーカスをあてる→値入力→フォーカスを外す
の3段階を経なければ動作させられず
(jsなど自動で)フォーカスをあてる→値入力→関数発動
のようなイメージで動くイベントリスナ、
又は代替方法がありましたら教えてください
値の入力はバーコードリーダからの入力なので
一瞬、かつkeydownなどは使えなさそうです
700Name_Not_Found:2010/08/20(金) 21:47:32 ID:???
>>699
下策だけどsetIntervalで入力値チェック
701Name_Not_Found:2010/08/20(金) 21:49:34 ID:???
バーコードリーダーがよく分からないけど、
フォーカスを外すをjsでやればいいんじゃないの?
あるいは、バーコードリーダからの入力のあとに送信実行の関数を書けばいいんじゃないだろうか。
702699:2010/08/20(金) 21:56:46 ID:???
>>700
現状ではsetIntervalしかなさ気ですね(´・ω・`)
>>701
"フォーカスを外すをjs"をどのトリガで走らせていいのかが…

レスありがとうございます
もうちょっと探して見つからなければsetIntervalでいってみます。
703Name_Not_Found:2010/08/20(金) 22:21:31 ID:???
>>699
ブラウザは限られるが、inputイベントがある
ちなみにGoogleのトップページはsetInterval
704Name_Not_Found:2010/08/21(土) 00:45:26 ID:???
バーコードリーダーにもよるけど
設定で最後Enter送信されなかったっけ?
たいてい初期設定が最後Enter設定だったと思うけど
それを監視してみるというのはどう

ただバーコードリーダー自体の入力が早いから
どうなのかはわからんが・・・
705Name_Not_Found:2010/08/22(日) 18:25:59 ID:???
radioボタンの選択によって指定id要素のclassを書き換える為に以下のようなプログラムを書いてみましたが上手く動きません。
というかさっきまで動いてたのですが、いつの間にか動かなくなっていました…
どこかおかしいところが有ったら教えてください

<script type="text/javascript" ><!--
function ex1() {
var elem = $('sample');
elem.className = 'size1';
}
function ex2() {
var elem = $('sample');
elem.className = 'size2';
}
//--></script>

<style type="text/css">
.size1 {font-size:80%;}
.size2 {font-size:120%;}
</style>

<form><input type="radio" name="group" onClick="ex1()" checked>小<input type="radio" name="group" onClick="ex2()">大</form>
<div id="sample" class="size1" >文字サイズ変更</div>
706Name_Not_Found:2010/08/22(日) 18:30:44 ID:???
>いつの間にか動かなくなっていました
ブラウザのエラーコンソール確認した?
707Name_Not_Found:2010/08/22(日) 18:58:44 ID:???
>>706
ありがとうございます
エラー名でググったら同じような症状が見つかりました
原因はprototypeとjqueryプラグインのコンフリクトだったようです
708Name_Not_Found:2010/08/22(日) 22:28:41 ID:???
jQueryとprototype.jsは競合するよな。テンプレ入り級の豆知識だと思う。
709Name_Not_Found:2010/08/22(日) 22:30:57 ID:???
jQueryとprototype.jsを両方使うのってどういう時なんだろ
どっちかで十分じゃないのかな
710Perl忍者仙人モード ◆M5ZWRnXOj6 :2010/08/22(日) 22:35:53 ID:CHAL9TQc
websocketつかってるやついない?
711Name_Not_Found:2010/08/22(日) 22:56:13 ID:???
なんとなくこれ入れてみたら、両方使ってるケースって実は結構あることに気付いた。
https://addons.mozilla.org/en-US/firefox/addon/10083/

>>709
まあ双方に得手不得手はある……とはいえ、一番多いのは
prototype.js使ってるサイトに後からjQueryを導入したものの、
既存コードを直すのが面倒で前者がそのまま残ってるってパターンだと思うw
あとjQuery UIを使いたいので仕方なしにjQuery入れるとか。
712Name_Not_Found:2010/08/23(月) 00:28:34 ID:???
ノーコンフリクトは基本JARO
713Name_Not_Found:2010/08/23(月) 01:37:25 ID:???
ニコ動で両方使ってるページがあったような
714Name_Not_Found:2010/08/23(月) 02:31:25 ID:???
両方使用は自己責任にて、ノークレーム、ノークエスチョンでお願いします
715Name_Not_Found:2010/08/23(月) 03:27:13 ID:vKZcIChu
ちゃんとわかってて両方使ってる場合は問題起きづらいだろうけど、
面倒なのは制作会社たらい回しにされてる企業サイト。
716694:2010/08/23(月) 12:44:56 ID:9V2lU8KI
>>697
管理しているサイトについて
Twitter公式の短縮URLでつぶやいているリストを取得したかった・・・

HTML取得はできなかったので諦めるしかなさそう。ざんねん
717Name_Not_Found:2010/08/23(月) 16:00:57 ID:???
JavaScriptで携帯用オンラインゲームを作りたいと思うのですが
あまりJavaScriptでオンラインって聞かないですよね
どうしてなのでしょうか?
ちなみにperlを使ったルーム式にしようと思います
718Name_Not_Found:2010/08/23(月) 16:03:59 ID:???
jsって重すぎじゃね。
そもそも携帯でオンラインってどの程度のだっけ?携帯でゲームやらんからわからん。
719Name_Not_Found:2010/08/23(月) 16:30:17 ID:zfkLU5Jw
>>717
JSがまともに動くクライアントが少ないからじゃないかね。
iPhoneとAndroidは別として。
720Name_Not_Found:2010/08/23(月) 16:35:49 ID:???
>718
とりあえず今までに作ったチャットやオセロ将棋トランプ等のラグとかあまり気にしなくていいものをまず作っていこうと思いますが
最終的にはラグが問題になるようなアクションも作りたいです
もちろん携帯JSなのでCanvasも使えませんしショボいものになります

ちなみに擬似P2Pを行う通信部は各ゲーム、アプリに対してフレームワーク的な共通のものにするのが目標です
721Name_Not_Found:2010/08/23(月) 16:51:43 ID:???
通信部分とかはFlashの方がよくないか
722Name_Not_Found:2010/08/23(月) 17:19:01 ID:BLqtDX/m
>721
ケータイではJavaScriptとFlashの連携方法は用意されていません
もしかしたらhash指定等でできるかもしれませんがあまり現実的じゃない気がします
723Name_Not_Found:2010/08/23(月) 17:19:35 ID:zfkLU5Jw
モバイルのJSよく知らんのだけど、
xdomainでajax出来るもの?
724Name_Not_Found:2010/08/23(月) 18:02:35 ID:???
>723
そこらへんは通常より厳しいです
(個人で実験レベルであれば半分バグのような形で可能な方法はあります)

例えばJSが置かれたURLが
  http://ABC.jp/a/0.html
だったら普通は
 〇http://ABC.jp/a/1.html
 〇http://ABC.jp/b/2.html
 △http://DEF.jp/c/3.html
だと思うのですが、iモードブラウザは
 〇http://ABC.jp/a/1.html
 ×http://ABC.jp/b/2.html
 ×http://DEF.jp/c/3.html
です
725Name_Not_Found:2010/08/23(月) 18:12:47 ID:zfkLU5Jw
なるほど。厳しいね。ありがとう。
だとすっと、やっぱJSONPとかに頼ることになるのかな。
726Name_Not_Found:2010/08/23(月) 18:20:46 ID:???
>725
自分はライブラリは使いません
汚いソースしか書けないのでせめて全てを自分で書いて把握しておかないと大変なことになります

制限についても
HTML http://ABC.jp/1.html
CGI  http://ABC.jp/2.cgi
DATA http://ABC.jp/a/3.txt
みたいな感じにするので大丈夫です
727Name_Not_Found:2010/08/23(月) 18:37:59 ID:zfkLU5Jw
>>726
JSONPはライブラリ関係ないよ。
大雑把に超言うとhttp://ABC.jp/1.htmlに
var dat = null;
function getData(d){ dat = d; }

って作っておいて、
<script type="text/javascript" src="http://DEF.jp/2.cgi" />

ってすると、2.cgiが
getData({
    qwer : 1234,
    asdf : 2345,
    zxcv : 3456
});

を返す、って仕組みのことです。
728Name_Not_Found:2010/08/23(月) 18:46:26 ID:???
>727
なるほど
しかし広告自動挿入の無料スペースを使っているためちょっと面倒です

サーバーへは送信だけにして(受信は中断して)
サーバーからファイルに書き込み
そのファイルを読みにいくというのが一番レスポンスが良さそうです
MAXで100ms毎くらいに通信できればいいのですが…
ちょっと試してみます
729Name_Not_Found:2010/08/23(月) 19:22:02 ID:???
だいたい10KBで250msでした
いろいろ処理を行うと保障されるのは1000msくらいですね
これならレースゲームとかでも作り用によってはギリギリ実現可能かもしれません
730Name_Not_Found:2010/08/23(月) 21:28:10 ID:???
クッキーの有効期限を送信で、
有効期限を次の日の0時に設定しようとしているのですが、現在時刻の+9時間後になってしまいます。
どの辺がいけないのかお教え願えないでしょうか?

toD = new Date();
toH = toD.getHours();
toM = toD.getMinutes();
toS = toD.getSeconds();
limit = (86400 - (toH * 3600 + toM * 60 + toS)) * 1000;
toD.setTime(toD.getTime() + limit);
cookie_limit = toD.toGMTString();
document.cookie = "test_label=" + test_msg + ";expires=" + cookie_limit;
731Name_Not_Found:2010/08/23(月) 21:29:52 ID:???
ヤバい、私日本語でおk
orz

クッキーの送信で、
有効期限を送った日の次の日の0時に設定しようと〜
732Name_Not_Found:2010/08/23(月) 21:32:49 ID:???
ヒント:時差
大ヒント:GMT
733Name_Not_Found:2010/08/23(月) 21:45:25 ID:???
>>727
そんな技があるんだ。能動的なXSSか。
なんか、いろいろと危なっかしそう。
蛇足だけどgetDataはsetDataだよね。
少し頭が混乱したので。
getDataの場合は、getData() { return dat; }だと思う。
734Name_Not_Found:2010/08/23(月) 21:47:48 ID:???
>>732
おぅふ
有難うございました
735Name_Not_Found:2010/08/23(月) 23:12:06 ID:???
chromeではcookieは有効期限指定しないと食べないんだね
動かなくて焦った
736Name_Not_Found:2010/08/23(月) 23:59:23 ID:obRZfTTY
>>733
あー。JSがサーバからデータをゲットする、って意味でいつもgetって書いてたもんで。
すまんです。

JSONP自体はそんなに変なモノじゃないので、詳しくはおググりください。
JSONをパースするわけじゃいないので危ないことはないと思います。
つか、JS2.0でドメインまたぐ手段もできるし、過去の遺物になりそうだけど。
737730:2010/08/24(火) 00:12:32 ID:???
>>730のlimitの値をいじっていたのですが、やはり現在時刻にプラス9時間になってしまいます。
cookieの有効期限を良く見ると現在時刻にプラス1年と9時間になっている事に気がつき……

一番最初の設定に戻したところ、有効期限が、現在時刻にプラス1年と9時間……

これって、スクリプトが間違っているせいでいいんですよね?
738Name_Not_Found:2010/08/24(火) 00:46:14 ID:???
はいそうです
739Name_Not_Found:2010/08/24(火) 01:03:05 ID:???
1年ずれるってのは何かおかしい。どっかで値をいじるのミスってる。
9時間ずれるのは問題ない。自分で書いたスクリプトによって設定される時刻と、

(new Date()).toGMTString()

で取得できる現在時刻(GMT)とを比較してみればいい。
740Name_Not_Found:2010/08/24(火) 01:04:38 ID:???
ロンドンの人なら間違ってません
741Name_Not_Found:2010/08/24(火) 02:22:56 ID:???
new Date().toUTCString() を使用してください
742Name_Not_Found:2010/08/24(火) 05:26:39 ID:vGNzcUxZ
>>737
1年ずれるの俺もやったことある。
冷静に計算して原因に気づいて身悶えしたw
743Name_Not_Found:2010/08/24(火) 07:28:14 ID:???
コーディングしてる間に1年過ぎ去ってたとかそんなのか
744Name_Not_Found:2010/08/24(火) 09:22:15 ID:LmB27viy
>>743
起点を間違えた。
745Name_Not_Found:2010/08/24(火) 11:48:02 ID:???
1ヶ月ずれるのは割りと多いな
746Name_Not_Found:2010/08/24(火) 12:35:21 ID:???
>745
久しぶりにやると忘れてるんだよな
あとgetHoursのsとか
747Name_Not_Found:2010/08/24(火) 17:39:31 ID:ZsCg5ruM
SEO対策の業者の掛け持ちは、これがベスト!
http://hibari.2ch.net/test/read.cgi/hp/1251444817/857
748Name_Not_Found:2010/08/24(火) 18:08:46 ID:???
location.hrefでページ移動する時に
404エラー時には○○の処理をして
404エラーが出ない時はページに移動する

どうやれば出来まふ?
749Name_Not_Found:2010/08/24(火) 18:11:32 ID:LmB27viy
>>748
ドメインまたがないならxhrでhead、かなあ。
750Name_Not_Found:2010/08/24(火) 19:10:26 ID:???
質問です。
アホな事を聞きますが、Dateが参照する時刻は、各々のブラウザーを動かしているマシンの時刻でよろしいのでしょうか?
751Name_Not_Found:2010/08/24(火) 19:11:59 ID:???
>>750
そう
752Name_Not_Found:2010/08/24(火) 19:16:00 ID:???
>>750
素早い回答ありがとうございます

自PCのアパッチ上だときちんと動作するのに、レンタルサーバーにあげると時刻がずれて困っていたのですが、関係なさそうですね……
頑張っていじってきます
753Name_Not_Found:2010/08/24(火) 19:20:22 ID:???
>>748
status == 404で振り分け
754Name_Not_Found:2010/08/24(火) 19:31:11 ID:???
ImageMagickも動かないサーバーとCanvasも動かないようなブラウザで、
どうしても投稿したGIF画像をブラウザ側で編集して表示したいです

初めはXHRでやればいいだろうと思っていたのですが、画像の中身は取得できないんですね

最終手段として
送信された画像をサーバー側で中身をplaintextに置き換えて保存し、それを取得して編集してサーバーに送信し、サーバー側で画像にし保存しそれを表示する
ということを考えているのですがもっと単純な方法はありませんでしょうか?

どうかアドレスをお願いします(>人<)
755Name_Not_Found:2010/08/24(火) 19:55:41 ID:NWe5Imb+
>>754
ActionScriptでjpgならできるけど・・・
756Name_Not_Found:2010/08/24(火) 20:01:00 ID:???
>755
ありがとうございます
しかし基本的なJavaScript以外は使えません
757Name_Not_Found:2010/08/24(火) 20:01:20 ID:???
ふー、出来た
>>749 >>753
ありがとうございます
758Name_Not_Found:2010/08/24(火) 20:24:11 ID:NWe5Imb+
>>756
環境上つかえないということ?
初心者でも割と簡単にできるけど?
759Name_Not_Found:2010/08/24(火) 20:24:12 ID:???
>>756
ImageMagickを使えるサーバを用意してそこでしょり
760Name_Not_Found:2010/08/24(火) 20:49:09 ID:???
>758
環境的な問題です

>759
どうしてもブラウザ側で処理をしたいのです
761Name_Not_Found:2010/08/24(火) 21:18:56 ID:NWe5Imb+
762Name_Not_Found:2010/08/24(火) 21:30:23 ID:???
>761
ありがとうございます
Examplesを試してみたのですが残念ながら全く動きませんでした
763Name_Not_Found:2010/08/24(火) 21:47:28 ID:???
教えてもらっておいて残念ながら動きませんでしたって・・努力しろ
764Name_Not_Found:2010/08/24(火) 21:49:06 ID:LmB27viy
>>762
編集って具体的に何をしたいの?
765Name_Not_Found:2010/08/24(火) 21:56:42 ID:???
>763
一応ブラウザ2+1(NOJS)で見ました

>764
1.GIFを0から作成する
カラーパレットのようなものからマウスなどでブラウザ上でドットを作り、それをGIFとして保存できる形で表示する
2.投稿GIFを編集する
投稿したGIFを1の初期値とする
3.アニメーションGIFをつくる
4.JPEGも作る

を考えており、1と2ができればいいと思います
766Name_Not_Found:2010/08/24(火) 22:23:22 ID:???
IEでだけ動かねええええええええええ

どういうことなの…
767Name_Not_Found:2010/08/24(火) 22:45:17 ID:???
もうFlashでいいだろそんなの
Flashでできるかは知らんがw
768Name_Not_Found:2010/08/24(火) 22:48:21 ID:???
>>766
よくある
769Name_Not_Found:2010/08/25(水) 02:20:16 ID:???
>>766
FlashうごかねぇからDLしろってリンクをよく出されるよねぇ。
それと同じでFirefoxやCromeのDLへのガイドだせばいいんじゃね?
今の回線なら新ブラウザの導入もすぐだし、IEが消えてくれればなんとなくうれしい。
770Name_Not_Found:2010/08/25(水) 06:10:52 ID:???
>767
Flashでかいても結局似たようなコードになると思いますし
計算速度ではJavaScriptの方が速くできるので…
771Name_Not_Found:2010/08/25(水) 06:16:47 ID:Tgr127Ho
SEO対策の業者の掛け持ちは、これがベスト!
http://hibari.2ch.net/test/read.cgi/hp/1251444817/857
772Name_Not_Found:2010/08/25(水) 07:40:03 ID:???
その条件なら、あなたの言うようにサーバーと文字列でやりとりして、サーバーで画像保存でいいんじゃね?
写真みたいのだとキツイが、ファビコンみたいな小さいアイコンエディタつくるなら現実的だし。
サーバーでなに使えるか分からんけど、文字列ビットマップから、GIF画像つくるとかできるだろうし。
クライアントでエンコードまでしなくてもよいかと。
773Name_Not_Found:2010/08/25(水) 07:50:30 ID:???
>772
ありがとうございます
できるだけサーバーは使わない挑戦のつもりだったのですがそれも考えてみます
774Name_Not_Found:2010/08/25(水) 10:49:22 ID:???
>IE乗換
まさに>>761だなww

>>770
flashよりjavascriotのほうが速いってまじ?
コンパイルするし、型指定まであるからflashのASのほうが速いと思っていたんだけど。
775Name_Not_Found:2010/08/25(水) 11:04:21 ID:???
オブジェクトのプロパティ名を動的に生成する事ってできます??

var a = "hoge";
var b = function(){alert("a")};

var obj = {a,b}
obj.hoge();

期待としてはここでalertでaと出るような動作なのですが・・・
上記のコードや

obj = eval("{"+a+":"+b.toString()+"}");
obj = eval("{"+a+":eval("+b.toString()+")}");

じゃ出来ませんでした
776Name_Not_Found:2010/08/25(水) 11:10:13 ID:???
できます
777Name_Not_Found:2010/08/25(水) 11:26:41 ID:???
obj[a]って書くと普通に変数展開されるんですねー
{a:b}って書いた時にaの方は展開されなかったので
てっきりされない物だと・・・
778Name_Not_Found:2010/08/25(水) 11:57:45 ID:???
evalでも出来るよ。
eval("obj = {"+a+":b}");
779Name_Not_Found:2010/08/25(水) 12:28:52 ID:???
>774
ブラウザによると思いますけど
JavaScriptはフリーズするほど負荷をかけられるのに対してFlashは結構制限されます
780Name_Not_Found:2010/08/25(水) 14:05:25 ID:???
DOMでできた様々な色の1ドットを沢山表示して長方形の擬似画像として表示したいのですが、
一番軽く表示できる方法は何だと思いますでしょうか

span:styleだとせいぜい1万ドット、
tableだとせいぜい10万ドットだったのですが、その10倍は表示したい(軽くしたい)と思っています

少々スレチかとは思いますが、JavaScriptでたくさんのDOMを出力することはよくあると思いますのでよろしくお願いします
781Name_Not_Found:2010/08/25(水) 14:12:31 ID:???
色って毎回ランダム?決まった周期性有り?
後者ならcssの画像とかで行けるかなと思った。

100万てことは1000*1000か。背景とかに使うの?
782Name_Not_Found:2010/08/25(水) 14:44:09 ID:???
>781
ほぼランダムです
1000万も表示させることはそうそうないと思いますが
50万とかがサクサク表示できるには1分以内に1000万くらいは表示させたいです

tableがいいかとも思うのですが、どうしても2px単位になってしまいまうので困ってます
783Name_Not_Found:2010/08/25(水) 15:08:08 ID:???
多分もうやってると思うけど、ランダムはclassにして他は全部CSSぐらいしか思いつかないな。
なんでtableのほうが軽いのか疑問だが。
784Name_Not_Found:2010/08/25(水) 15:18:29 ID:???
>>782 コード晒してみれ
785Name_Not_Found:2010/08/25(水) 15:30:35 ID:???
classを使うのは思いつきませんでした

tableはこちらでやってみました
http://indexroom-id.hp.infoseek.co.jp/test/JSgazoushokunin.html

そもそも1dot×1dotのものを並べることはできるのでしょうか?
spanとかだとwidth,heightが効きませんし、divとかだと改行されてしまいます
786Name_Not_Found:2010/08/25(水) 16:09:42 ID:???
display: block; float: left; なり display: inline-block; なりでできる
787Name_Not_Found:2010/08/25(水) 16:12:54 ID:???
excanvas使うかPHPのGDでやれよ、非効率的すぎる
788Name_Not_Found:2010/08/25(水) 16:31:28 ID:???
>>787
お断りします
789Name_Not_Found:2010/08/25(水) 16:44:42 ID:???
>786
ありがとうございます
floatは上手く行かなくて諦めていたのですがinline-blockで最良のものができそうです
790Name_Not_Found:2010/08/25(水) 19:14:32 ID:???
ここで聞くことじゃないかも知れませんが、
JavaScriptで等幅フォント文字を重ねてプロポーショナルフォントのように表示する
AAビューアを作ろうと思っています

そこでプロポーショナルと等幅フォントの幅の差まとめが知りたいのですがなかなか見つかりません
ご存知の方がいられたらどうか教えてください
791Name_Not_Found:2010/08/25(水) 19:30:02 ID:???
AA板いけ
792Name_Not_Found:2010/08/26(木) 19:03:29 ID:???
jQuery + RubyでIRCのログの閲覧・検索システムを作っています。

--HTML (抜粋)------------------------------------------------------------------
<div id="menu"><p>検索 : <input type="text" id="q" value="" /><input type="submit" /></p></div>
<div id="main"><p>ここに検索結果が表示されます。</p></div>
--JavaScript (抜粋)------------------------------------------------------------
$(document).ready(function(){
$("input[type='submit']").click(function() {
$("#main").load("../cgi-bin/logsearch.cgi?q=" + $("#q").val()); }); });
--logsearch.cgi例 (q=Hello)----------------------------------------------------
<ul>
<li>100826 - 00:00:00 (User_A) <mark>Hello</mark>, World!</li>
<li>100826 - 00:00:30 (User_B) <mark>Hello</mark>, User_A!</li>
</ul>
-------------------------------------------------------------------------------
現在このようなコードでdiv#mainにlogsearch.cgiを流し込み、検索結果の表示を行えるようにしているのですが、
検索結果から直接当日のログ表示を行いたいと思い、以下のコードを$(document).ready下に追記しました。
$("li").click(function() {
("#main").load("../cgi-bin/logformat.cgi?n=" + $(this).text().slice(4, 10)); });
ですが、これでは期待した通りに動作しませんでした。恐らく<li>が$(document).readyの時点で
存在しない要素なのでうまくいかないとだとは思うのですが、なにか解決方法は無いでしょうか?
793Name_Not_Found:2010/08/26(木) 19:38:55 ID:???
すいません、AjaxでXMLを読み込んでるんですが、XMLのある値を読み込もうとすると
スクリプトが停止してしまいます…
イージーミスだと思うのですがわからなかったので、どなたかチェックしていただけますか?

myAjax = new Ajax.Request (url,
{method:'get',onComplete:function(httpObj){
XML = httpObj.responseXML;
XMLTag = XML.getElementsByTagName("MAP");
itemTag = XMLTag[0].getElementsByTagName("item");
title= itemTag[i].getElementsByTagName("title")[0].firstChild.nodeValue;//これは問題なく読み込めてる
url= itemTag[i].getElementsByTagName("url1")[0].firstChild.nodeValue;//これがあるとスクリプトが停止する

<?xml version="1.0" encoding="UTF-8" ?>
<MAP>
<position areaID="1">
<item id="1" date="9/11">
<title>プロ野球○VS×</title>
<url1>http://google.com</url1>
<url2></url2>
</item>
<item id="2" date="10/18">
<title>プロ野球○VS×</title>
<url1>http://google.com</url1>
<url2></url2>
</item>
20個ほど続く…
</position>
</MAP>
794Name_Not_Found:2010/08/26(木) 20:26:37 ID:Td2OJ18r
>>793
この行しか読んでないけど

>getElementsByTagName("url1")[0].firstChild.nodeValue

こうやって一度に書くと、

getElementsByTagName("url1")が[]を返した場合、
getElementsByTagName("url1")[0]はundefined
つまりundefined.firstChildになるからそんなプロパティはありませんエラー
ってのはよくある。

ちゃんとやるならいちいち何が帰ったか調べるべき。
もしくはxpathのお世話になるとか。
795Name_Not_Found:2010/08/26(木) 20:50:49 ID:???
>>792
$('li').live('click', function(){;});
http://api.jquery.com/live/

つかそれだとJS無効で使えなくねーか
796Name_Not_Found:2010/08/26(木) 21:00:20 ID:???
>>794
なるほど、
ちょっと修正して、もし値があれば変数に設定するっていうスクリプトにしたんですけど

if(itemTag[i].getElementsByTagName("url2")[0].firstChild.nodeValue)

とにかく値が入ってないものにアクセスした段階でスクリプトエラーで停止してしまうようです…

こういう時って皆さん方はどうやって解決してるんでしょうか
797792:2010/08/26(木) 21:18:18 ID:???
>>795
回答ありがとうございます。
ごく少人数の身内向けなのでJS必須でいいかなあとか思っていましたが、
普段とは違う環境からアクセスすることもあるかもしれないですし、そちらにも配慮したいと思います。
798Name_Not_Found:2010/08/26(木) 21:20:17 ID:???
>>796お前は何を読んだんだw
if(itemTag[i].getElementsByTagName("url2")[0] && itemTag[i].getElementsByTagName("url2")[0].firstChild && itemTag[i].getElementsByTagName("url2")[0].firstChild.nodeValue)
変数に入れてスマートにすること推奨。
799Name_Not_Found:2010/08/26(木) 21:40:09 ID:???
普通に0とかでアクセスしなきゃいいだろ
800Name_Not_Found:2010/08/26(木) 21:53:10 ID:z5C0SB7h
try{
}catch(e){}
で挟めば解決
801Name_Not_Found:2010/08/26(木) 22:07:48 ID:???
>>793
そのコードでエラーが発生するのは、
・url1要素が存在しないとき
・url1要素の内容がないとき
が考えられるわけだが、

前者なら
var nl_url1 = itemTag[i].getElementsByTagName('url1');
if (nl_url1) { url = nl_url1[0].nodeValue; }

後者なら(この可能性が高いと思う)
var tn_url1 = itemTag[i].getElementsByTagName('url1')[0].firstChild;
if (tn_url1) { url = tn_url1.nodeValue; }

両方の可能性があるなら>>798

XMLファイル晒してもらわんことには推測でしか答えられんよ
802801:2010/08/26(木) 22:22:53 ID:???
あ、コード間違ってんな

前者なら
var el_url1 = itemTag[i].getElementsByTagName('url1')[0];
if (el_url1) { url = el_url1.firstChild.nodeValue; }
803Name_Not_Found:2010/08/27(金) 10:03:46 ID:ehs7gYF6
こっちの方がスマート

try{
url= itemTag[i].getElementsByTagName("url1")[0].firstChild.nodeValue;
}catch(e){url= "";}
804Name_Not_Found:2010/08/27(金) 10:15:01 ID:???
それがスマートだと感じるのはすごいな

てかXMLじゃなくてJSON使えと言うべきなんじゃないか
805Name_Not_Found:2010/08/27(金) 10:26:03 ID:???
JavaScriptでデータをやり取りするのはXMLよりやっぱりJSONが扱いやすいな、JavaScript Object Notationっていうぐらいだし
806Name_Not_Found:2010/08/27(金) 10:29:58 ID:???
try-cathcは最後の手段だと思ってる
原因をはっきりさせて対処しないと後に響くかもしれんし
あとtry-catchよりifの方が速い。数回程度じゃ誤差だろうが
807Name_Not_Found:2010/08/27(金) 10:47:47 ID:???
>806
うちの環境じゃあ引っ掛からなかった場合はむしろ速いんだが
808Name_Not_Found:2010/08/27(金) 10:50:43 ID:???
xpathじゃだめなのか

809Name_Not_Found:2010/08/27(金) 11:10:12 ID:???
>>807
お前の環境じゃあそうなんだろうな。

メソッドチェーンしてエラーはtry-catch
は、処理として美しいかも知れんけど
問題発生時の切り分けが困難すぎて
うんこだよな。
810Name_Not_Found:2010/08/27(金) 11:39:33 ID:???
独自に何かしらの変数を定義せずに
使うスクリプトにおいてファイル名とか
uniqIDみたいなのって取得できないでしょうか・・・

用途としてはuserscriptとかで
localStorageに保存する時のprefixにしたいんです・・・
811Name_Not_Found:2010/08/27(金) 11:40:39 ID:???
try catchなら getElementByTagName とか書いてても動くんだぜ!
すごいよな!!

XPathは…まあ、ブラウザ限定って話ならないこともないけどさ
オレオレXMLでXPathって、無駄が多すぎるだろ
812Name_Not_Found:2010/08/27(金) 11:42:38 ID:???
>>801
できました!ありがとうございます!
813Name_Not_Found:2010/08/27(金) 12:01:57 ID:???
>>810
location.pathnameだと長いか
814Name_Not_Found:2010/08/27(金) 12:08:55 ID:???
>>810
prefixつけるのは何が目的なの?
サイト側から見えるのを気にしてる?
ランダムに付けたとしてもfor inで調べられるから無駄だと思うけど
815Name_Not_Found:2010/08/27(金) 12:10:34 ID:???
>>813
localStorage自体がorigin毎に保存されます

で、この時問題なのが同じoriginに対して
複数のuserscriptを適用した時に
localStorageのkeyが被ると
別のuserscriptの値を上書き/取得できちゃうんです・・・
816Name_Not_Found:2010/08/27(金) 12:24:05 ID:???
適当な名前付ける他ないんじゃないかなあ
com.yourdomain.scriptNameなり
817Name_Not_Found:2010/08/27(金) 12:41:13 ID:???
>809
いやいやなんでもかんでも使おうって言ってるんじゃないよ
このケースではこれが一番得策だろう
いろんなプログラミングばっかりして大雑把なものへの抵抗が強くなり過ぎてない?
818Name_Not_Found:2010/08/27(金) 14:05:48 ID:???
>>817
それは否定しない。
デバッグの必要が無いワンライナーなら楽しい書き方だと思う。
でもデバッガを起動するならメソッドチェーンは敵だよね。
819Name_Not_Found:2010/08/27(金) 14:13:32 ID:???
特にJavaScriptでは例外の型を選んでcatchすることができないんだから、
try-catch使うのであればどのようなエラーが発生する可能性があるのか
自分できっちりと把握して使うのが当たり前だと思う
(それはJavaやC#でも同じだけど)。
それをせずに「とりあえず」でnullや空文字を返すコードは時限爆弾みたいなもん。
逆に何が起こるか自分で全部知っているなら例外を全部握りつぶしても問題ない。

個人的には>>803はずいぶん荒っぽいやり方に見えるけど、
十分確認した上でなら「あり」だとも思う。
自分で書くならせめてconsoleにログ吐いたりするかな。
エディタであちこち触ってるうちにうっかり余計な文字が紛れ込んだりして
「なぜか動かない」で延々悩んだりするのは嫌なんで。
820Name_Not_Found:2010/08/27(金) 15:26:44 ID:???
>>816
やはりそうですか・・・・
821Name_Not_Found:2010/08/27(金) 15:30:57 ID:???
自分の勝手なイメージだけど
JAVAはエラーが起きて止まったり落ちたりしたら大事だから
例外処理は基本というかその例外処理自体が結構メインよりの動作だったりするけど
JavaScriptはエラーが起きたらその時は動かないで問題ない、または決まった動作をさせればすむ処理をさせることも多いし
簡潔でどうなるか予想できる処理をさせることが多いからそもそも例外処理はオマケレベルの気がする
822Name_Not_Found:2010/08/27(金) 16:59:44 ID:???
>>821
コードの6割はエラー処理だからな。仕方ない。
823Name_Not_Found:2010/08/27(金) 17:02:27 ID:???
500KB程の大きめのページをIEで読み込むと最初の数秒間固まってしまうのですが、javascriptでなんとかなったりしないでしょうか?
ちなみに他のFirefox,Chrome,Operaなどはスムーズに読み込めます
824Name_Not_Found:2010/08/27(金) 17:07:24 ID:???
HTML自体が500kbだったらパースとレンダリングで固まってるわけだから
HTMLの内容を分割してonloadなりでsetTimeoutを駆使して追記していくぐらいしか無いかな
825Name_Not_Found:2010/08/27(金) 17:32:49 ID:???
>>824
サンクス
やっぱ分割するしかないですか

IE滅びればいいのに^^
826Name_Not_Found:2010/08/27(金) 18:18:17 ID:???
>>825
テーブルとかだったらIEを滅ぼす前に出来ることはある
827Name_Not_Found:2010/08/27(金) 18:59:11 ID:woiBJ7zF
>>824
予めCSSでdisplay:noneにしておいて、後はJSで様子を見て開放していけばいんじゃないの?
828Name_Not_Found:2010/08/27(金) 19:03:22 ID:???
>>826
大部分が唯のテキストなんだ…

>>827
おお、それはなんか手軽そう
ちょっと試してみまする
829Name_Not_Found:2010/08/27(金) 19:13:35 ID:???
と思ったけど残りの分の読み込みのトリガーはどうやればいいのかな
javascriptだけじゃ、残りの分は10秒後に読み込み、とかできないし
スクロール監視がいいだろうか
830Name_Not_Found:2010/08/27(金) 19:34:55 ID:???
display:none;にしても初回読み込み量は変わらなかったでござる
831Name_Not_Found:2010/08/27(金) 19:39:21 ID:???
display:none;にしても見えなくなるだけで読み込まれる量は変わらないし・・・
832Name_Not_Found:2010/08/27(金) 20:08:22 ID:woiBJ7zF
>>830-831
解析じゃなくてレタリングが一番重いんだぞ?
そもそも読み込み量の問題なら、原文を修正するしかないだろ。
833Name_Not_Found:2010/08/27(金) 21:16:04 ID:???
>>828
唯!唯!唯!唯ぅぅうううわぁああああああああん!!! あぁクンカクンカ!クンカクンカ!
って500kbくらい書き連ねているのかと思った
834Name_Not_Found:2010/08/27(金) 21:20:32 ID:???
( ´д)ヒソ(´д`)ヒソ(д` )
835Name_Not_Found:2010/08/27(金) 21:24:02 ID:???
>>832
レタリング?
レンダリングとは違うの?
836Name_Not_Found:2010/08/27(金) 21:36:13 ID:woiBJ7zF
揚げ足しかとれねーのか。このスレも終わったな。
837Name_Not_Found:2010/08/27(金) 21:37:14 ID:???
唯の誤字にいちいち構うなよ
838Name_Not_Found:2010/08/27(金) 21:49:40 ID:woiBJ7zF
>>829
俺が言ってるのは解析だけは先に済ませて、レンダリングは後で部分的に行うってこと。
だから、setTimeoutを使って適当な間隔を空けてからdisplay:noneを開放してやればいい。

元のHTMLを"ABCD"としたときに、これを適当に分割する。

<div style="display:none;">AB</div><div style="display:none;">CD</div>

気持ち悪いなら、このラッパー要素は開放時に消せばいい
839Name_Not_Found:2010/08/27(金) 22:02:45 ID:???
>>775
var a = function(){alert("a")};
var obj = function(){};
obj.prototype.hoge = new a;
obj.hoge();
840Name_Not_Found:2010/08/27(金) 22:05:17 ID:woiBJ7zF
>>839
おいおいw
それは、new aの段階でアラートが出てるんだぞ。
841Name_Not_Found:2010/08/27(金) 22:15:27 ID:???
こうだろw
var a = function(){alert("a")};
var Obj = function(){};
Obj.prototype.hoge = a;
obj = new Obj();
obj.hoge();
しかも、動的生成じゃないしw
842Name_Not_Found:2010/08/27(金) 22:20:54 ID:???
>>839
やりたいのはこういうことかな。

var a = 'hello';
var b = function() { alert(a); };
var obj = {};
obj[a] = b;
obj.hello();

いずれにしてもJavaScriptの基礎を勉強したほうがいいと思うよ。
843Name_Not_Found:2010/08/27(金) 22:25:55 ID:???
>>838
試しに文章を全部display:none;してみたところ、やはり数秒固まってしまいました

というわけで諦めて分割しようかと思います
844Name_Not_Found:2010/08/27(金) 22:44:22 ID:???
>>839
こうだね
var obj
obj[hoge]=function(){alert("a")}
obj.hoge();
845Name_Not_Found:2010/08/28(土) 01:15:36 ID:???
>>844
ケアレスミスだと思うけど、それじゃhogeの中がhoge固定で意味ないよ
var obj={}, hoge = 'aaaaaaaa';
obj[hoge]=function(){alert("a")};
obj[hoge]();
ってしたかったのかな
846Name_Not_Found:2010/08/29(日) 09:24:08 ID:???
2個質問、わかる人いたら教えてください
1.実体参照を置き換えるハックで
strのサイズが大きいと、resultが65536文字に切り詰められるんだが
nodeValueかinnerHTMLにサイズ制限ってある?
var temp = document.createElement("div");
temp.innerHTML = str;
var result = temp.childNodes[0].nodeValue;

2.文字列への参照の参照みたいなのってjavascriptで実現出来る?
//refなんてないのでこれは擬似コード
function refinnerhtml(id){return ref document.getElementById(id).innerHTML;}
refinnerhtml('myid')+="footerのコード";
こんなのが出来ると毎回innerHTMLとかタイプしなくて済んで楽そうなんだけど
847Name_Not_Found:2010/08/29(日) 15:56:52 ID:b5eYOawe
>>846
1) 仕様書では上限は規定されてないから、実装次第。
2) 文字列は表面的には基本型だから、関数でラップして引数を与えるしかない。
848Name_Not_Found:2010/08/29(日) 16:01:10 ID:b5eYOawe
>>846
補足。。
1の仕様書っていうのはECMA-262のことね。だから、これはJSの文字列全般の話。
849Name_Not_Found:2010/08/29(日) 17:18:30 ID:???
>>846
文字数減らしたいだけなら、

var x = document.getElementById(id);
var h = "innerHTML";

x[h] += str;
... ...

パフォーマンスも考慮するなら、

var html = [];
html.push(str);
... ...
x.innerHTML = html.join("");
850Name_Not_Found:2010/08/29(日) 17:50:45 ID:YiBNjmdi
>790です
あれから誰にも回答を貰えませんでした…
どうかどうかヒントをください…
851Name_Not_Found:2010/08/29(日) 18:05:36 ID:???
幅の差のまとめって言ったって、文字・フォントごとに全部違うわけで。
これとかを参考に自分でコード書いてテーブルを作るのが早そう。
もはやJSとは全く関係ないけど。
http://dobon.net/vb/dotnet/graphics/measurestring.html
852Name_Not_Found:2010/08/29(日) 18:27:00 ID:???
>>847,849
どうもありがとうございます。
1.はDOMの仕様書に答えがありました(1.1.4)
nodeValueはDOMStringで、DOMStringは添え字が16ビット
今PCに入ってるのだと
Chrome5は仕様通り、Firefox2.0だと4096文字、IE6は切り詰められない
innerHTMLは仕様書にはないんですね

>>849
今回は単体なので、前半のやつ、使わせて貰います。
パフォーマンスの話は、追加する要素数が複数個の場合ですよね
853Name_Not_Found:2010/08/29(日) 21:00:04 ID:???
innerHTMLはMS独自だからMSHTMLの仕様書にありそう(あるの?)
854Name_Not_Found:2010/08/30(月) 11:10:02 ID:???
innerHTMLのしっかりした仕様はHTML5でようやく定義されようとしてる
http://www.whatwg.org/specs/web-apps/current-work/multipage/apis-in-html-documents.html#innerhtml

以前はMSDNのドキュメントと
http://msdn.microsoft.com/ja-jp/library/ms533897

Mozillaのドキュメントぐらいしか、まとまった資料がなかった
https://developer.mozilla.org/ja/DOM/element.innerHTML
855Name_Not_Found:2010/08/31(火) 14:13:47 ID:???
>>846 2.に追記
ECMAScriptの仕様では、左辺値を返す関数は定義してもいいことになってるが
実際の所そういう組み込み関数は存在しない
856Name_Not_Found:2010/09/01(水) 13:59:18 ID:9ORpQFnq
ボタンが3つあって、押すごとに画像を切り替えて、同じ領域に表示することを考えています。
これはできたのですが、最初は何も画像を表示したくないのですが
imgタグに src="" を指定すると、画像がないことを示すアイコンが表示されてしまいます
ブランク画像を用意する以外の方法で、最初は何も画像を表示しないようにするには
どうしたらいいのでしょうか
857Name_Not_Found:2010/09/01(水) 14:07:42 ID:???
CSSでdisplay:noneとかvisible:hiddenとかする
858Name_Not_Found:2010/09/01(水) 15:35:49 ID:???
mouseleave、mouseenterが子要素に反応してしまう時があるがあれはなんだろう・・・
調べても有益な情報がない・・
859Name_Not_Found:2010/09/01(水) 20:55:33 ID:???
jQueryなら10msごとにキューから命令を取り出すからタイムラグがある
860Name_Not_Found:2010/09/01(水) 23:41:28 ID:R96DMOZK
>>859
それってあれかね。
setIntervalやsetTimeoutをいっぱい書くとおもくなるから、
ひとまとめにするやつの弊害?
861Name_Not_Found:2010/09/02(木) 03:50:03 ID:dSaWZ26a
被リンクサービスはこれらの業者を掛け持ちするのがベスト!
http://hibari.2ch.net/test/read.cgi/hp/1251444817/964
862Name_Not_Found:2010/09/02(木) 12:00:31 ID:???
thisは書き換え不可みたいなのですが
コメント部分で、aの中身を"fuga"にかきかえるようなことは出来ますか

a="hoge";
String.prototype.fuga=function(){ /* */ }
a.fuga();
alert(a);
863Name_Not_Found:2010/09/02(木) 18:01:03 ID:0t24NPK7
なんていう名称なのかが分らないですが、JavaScript にも perl みたいな
0..9 とか 'a'..'z' みたいのありますでしょうか?
864Name_Not_Found:2010/09/02(木) 18:24:20 ID:xJZRP8FF
>>862
「Javascript apply」とかでぐぐる

>>863
ない
865Name_Not_Found:2010/09/02(木) 18:52:14 ID:???
call/applyは関係ないような
862は無理でしょ
866Name_Not_Found:2010/09/02(木) 19:09:19 ID:???
a=a.fuga()にしていいなら可能だけどそれだと意味なさそうだしなw
867Name_Not_Found:2010/09/02(木) 19:28:09 ID:fCrl5Kaf
できないって言ってる人は初心者?
document.getElementsByTagName("script")[n].innerText
のmatch、sliceでできるじゃん
868Name_Not_Found:2010/09/02(木) 20:35:41 ID:???
>>867 を最高に罵ってやろうと思ったけどアホらしくて全文消した
869Name_Not_Found:2010/09/02(木) 20:46:34 ID:???
String.prototype.fuga=function(){ a="fuga" }
870Name_Not_Found:2010/09/02(木) 21:20:17 ID:???
>868
いやいやJavaScriptみたいなネイティブから距離がある言語は、
思いきったことをしないといけない時があるんだよ
一見マヌケなようでも「できない」より「できる」方がいいでしょ?
ある意味視野を広げたいいコードだと思うよ
JavaScriptの特徴を活かしてるじゃん

まあお前さんはこんなんよりよっぽどいいコードを書けるんだろうから
文句言いたい気持ちはわかるよ
871Name_Not_Found:2010/09/02(木) 21:29:15 ID:???
質問者です
>>867の発想には笑いました
>>869質問の仕方が悪かったですごめんなさい
>>865の言うように、どうやら無理そうですね
872Name_Not_Found:2010/09/02(木) 22:01:50 ID:0t24NPK7
是非とも参考にしないで欲しいんですが、これは?

String.prototype.fuga = function(){
 this.toString = function(){ return 'fuga'; };
};

var a = new String('hoge');
// var a = 'hoge';
// a = Object(a);
alert(a);
a.fuga();
alert(a);
873871:2010/09/02(木) 22:32:12 ID:???
なるほど。そういう方向だと、valueOfも書き換えた方が良いのかな
しかし、コンテキスト変換が行われないような場合
var pln= function(s){document.getElementById('stdout').innerHTML+=s+'<br/>';}
var a = new String('hoge');
pln(a);
a.fuga();
pln(a);
こうすると、hogeのままです

元々の質問の目的は、それが実現出来るか、よりも
どういうコーディングするのが良いかなってのの探索だったので
普通のやり方では無理そうってのがわかったので一応、満足です
みなさんありがとうございました。
874Name_Not_Found:2010/09/02(木) 22:54:53 ID:???
いや出来てないしw
一休さんかよw
875Name_Not_Found:2010/09/02(木) 22:55:50 ID:???
>>872
それやってみたけどこっちで変わってなかった理由が今わかった。
alertじゃなくてchromeのconsole.log使ってたわ。

ベストなのはa.fuga();の関数内でthisの名前="a"が判ればevalでも何でも使って完全に書き換えられるよね。
普通の関数ならブラウザを選ぶけどできるのになぁ。(function a(){return arguments.callee.name})()
876Name_Not_Found:2010/09/03(金) 07:15:12 ID:???
俺だったら普通にindexOfとかで>867みたいにやるけどな
それしかやる方法がないのならそれが普通だろ
だったら変に考えず使えばいいのに
877Name_Not_Found:2010/09/03(金) 09:01:00 ID:VuAS0xwH
被リンクサービスはこれらの業者を掛け持ちするのがベスト!
http://hibari.2ch.net/test/read.cgi/affiliate/1261126390/565
878Name_Not_Found:2010/09/03(金) 09:06:20 ID:???
猫リンクに見えた。疲れてんのかな。
879Name_Not_Found:2010/09/03(金) 10:34:08 ID:???
>>876
それだとa.fuga()で実行する必要性がないじゃん?
change()とかでもいいんだし。あと、変数aっていう部分の特定が出来ない。
change("a")とかするなら、>>867である必要はなくできる。
880Name_Not_Found:2010/09/03(金) 10:58:08 ID:???
         し!     _  -── ‐-   、  , -─-、 -‐─_ノ
  活 噴    // ̄> ´  ̄    ̄  `ヽ  Y  ,  ´     )   噴 え
  火 火    L_ /                /        ヽ  火  |
  山 が    / '                '           i  !? マ
  ま 許    /                 /           く    ジ
  で さ    l           ,ィ/!    /    /l/!,l     /厶,
  だ れ   i   ,.lrH‐|'|     /‐!-Lハ_  l    /-!'|/l   /`'メ、_iヽ
  よ る   l  | |_|_|_|/|    / /__!__ |/!トi   i/    レ!/      レ、⌒Y⌒ヽ
  ね の   _ゝ|/    ヽト、|/        ヽト、N'            ヾ,ノ!
   l は  「  l   /\    /\        | |  /\   /\     リ
        ヽ  |               ノ! ! |              _ノ
-┐    ,√   !               リ l   !             7/
  レ'⌒ヽ/ !    |     ○     _人__人ノ_  i    ○       //!
人_,、ノL_,iノ!  /! ヽ          「      L_ヽ           ノ/
      /  / lト、 \        ノ   フ    了\          //
ハ キ  {  /   ヽ,ト、ヽ/!`h   )   ッ   |/! 「ヽ,   /)   _ ‐'
ハ ャ   ヽ/   r-、‐' // / |-‐ く  サ ジ    > / / `'//-‐、    /
ハ ハ    > /\\// / /ヽ_  !  | ッ   (  / / //  / `ァ-‐ '
ハ ハ   / /!   ヽ    レ'/ ノ  ン    >  ' ∠  -‐  ̄ノヽ   /
       {  i l    !    /  フ      /     -‐ / ̄/〉 〈 \ /!
881Name_Not_Found:2010/09/03(金) 10:58:49 ID:???
すみません、誤爆しましたorz
882Name_Not_Found:2010/09/03(金) 11:18:27 ID:???
>879
その辺は他が具体的にだいたいどうなってるかが分かっとけばいくらでもなんともできる
ライブラリーとかじゃなくてその場の道具として使うのならなんとかなる
883Name_Not_Found:2010/09/04(土) 10:08:13 ID:???
仮引数の変更を実引数の変更に反映させる方法ってありますか?
hogeみたいにすると、グローバル変数が増えてしまう

new function fuga(){
function f(i){g(i);g(i);}
function g(i){++i;pn(i);}
var i=0;f(i);
}

new function hoge(){
function f(){g();g();}
function g(){++i;pn(i);}
var i=0;f(i);
}
884883:2010/09/04(土) 10:09:23 ID:???
訂正:pnはalertとかに置き換えてください
885Name_Not_Found:2010/09/04(土) 10:18:46 ID:???
Objectは参照渡しだからObjectで渡したらいいよ
886Name_Not_Found:2010/09/04(土) 10:29:55 ID:???
できました、ありがとうございました!
887Name_Not_Found:2010/09/04(土) 12:37:16 ID:???
「参照渡し」という用語の使い方が間違っている。
オブジェクトは「共有渡し」だから、とか言うべきかも。
888Name_Not_Found:2010/09/04(土) 12:41:14 ID:???
>>887
そんな造語で言われるとかえって通じない
889Name_Not_Found:2010/09/04(土) 12:51:45 ID:???
あんたが無知なだけでしょ。
http://en.wikipedia.org/wiki/Evaluation_strategy
890Name_Not_Found:2010/09/04(土) 13:02:50 ID:???
885じゃないけど
復帰渡し(Call-by-Copy-Result)とは、参照渡しの特殊ケースであり
とあるから間違ってないんじゃない?そしてなぜen
891Name_Not_Found:2010/09/04(土) 13:07:46 ID:???
コピーリストアと参照渡しも別のもの。どちらもFORTRANの実装に
よく使われていた。基本的にパラメタをサブルーチン側から書き換えて
結果を返せるようにしたもの。オブジェクトを渡して共有させる >>885
とは別のもの。ま、そういう試験に出るような知識なんかどうでもいい
と言われるならその通りなんだけどね。ちなみに情報科学ものの項目は
日本語Wikipediaはあんまり信用できないと思っている。
892Name_Not_Found:2010/09/04(土) 13:10:37 ID:???
凄くどうでも良いと思うが・・・
意味合いで通じない分けじゃあるまい・・・
それに信用出来ないなら信用出来るように書き換えればいい話
893Name_Not_Found:2010/09/04(土) 13:18:09 ID:???
「参照渡し」という用語の間違った理解が広まるのは嫌。
日本語Wikipediaを片端から編集して回れと?まっぴらだね。
894Name_Not_Found:2010/09/04(土) 13:20:13 ID:???
意味の違う言葉を「意味合いで通じる」でいっしょくたにしてしまう方が分かりづらいと思うけどな。
個人的にはJSやJavaの引数は「参照のコピー渡し、みたいなもの」とか言ってたんで、
call-by-sharingという用語があることを知ってすごく納得した。
895Name_Not_Found:2010/09/04(土) 13:26:32 ID:???
> オブジェクト(すなわち 非プリミティブ値、例えば配列やユーザ定義オブジェクトなど)をパラメータとして渡すと、そのオブジェクトへの参照が関数に渡されます。
> つまり、その関数がそのオブジェクトのプロパティを変更した場合、その変更はその関数外でも有効です。
https://developer.mozilla.org/ja/Core_JavaScript_1.5_Guide/Functions

> If you pass an object (i.e. a non-primitive value, such as Array or a user-defined object) as a parameter, a reference to the object is passed to the function.
> This means that if the function changes the object's properties, that change is visible outside the function,
https://developer.mozilla.org/en/Core_JavaScript_1.5_Guide/Functions

参照でも間違ってないでしょう
896Name_Not_Found:2010/09/04(土) 13:50:04 ID:???
call-by-referenceってこういうのでしょ。関数側でも引数の指しているアドレスが同じ
perl
sub f{printf("%p\n",$_[1]);} sub g{} printf("%p\n",g);f(g);
C++
void f(int&a){a=10;printf("%p",&a);}int main(){int a=1;f(a);printf("%p",&a);}

javaやjavascriptはそうじゃない
引数は「同じアドレスを指すオブジェクト」のコピーであって元のオブジェクトとは異なるんで
そのオブジェクトを指す先は変更出来るが、そのオブジェクト自体は変更出来ない
var a ={i:1}
function f(o){o={i:2};} //不可。参照渡しなら可
function g(o){o.i=3;} //可

でも、call-by-sharing。こんな語初めて知ったわ。
the term "call by sharing" is not in common useって書いてるし
自覚有るみたいよ
897Name_Not_Found:2010/09/04(土) 13:57:03 ID:???
■参照渡しはあるよ派
function hoge(p) { p.name = "buchi"; }
var q = {};
hoge(q);
alert(q.name); "buchi"

関数はちゃんと渡したオブジェクトに対してアクセスできているので参照渡しと呼んで良い。
プリミティブでは純粋な値渡しになるので、違いを明確にするためにも
「参照」と呼んで誤解を招かないようにすべき。


■参照渡しはないよ派
function hoge(p) { p = "cat"; }
var q = "dog";
hoge(q);
alert(q); // "dog"

ってやったとき、 "cat" と表示されるのが引数が参照渡し。
JavaScriptでもJavaにもこの参照渡しという仕組み自体が存在しない。
参照渡しが欲しければC/C++やVBAやれ。
898Name_Not_Found:2010/09/04(土) 14:32:33 ID:???
http://akira.wamp.jp/study/markup/ecma-262-beginning.html
共有渡しなんて使わない、参照で合ってる。ECMAScriptの仕様でも参照型になってるよ。
899Name_Not_Found:2010/09/04(土) 15:17:14 ID:???
はい、これでおしまい
900Name_Not_Found:2010/09/04(土) 15:28:43 ID:???
いやいや、俺の暇つぶし

>>897 ポインタを介してそれが実現出来るだけで、C言語には参照渡しはない。
>>898 よくある勘違いで、参照型と参照渡しは直接関係ない。参照型を値渡しすることだってある
適当にググったらけど例えばこれ
ttp://msdn.microsoft.com/ja-jp/library/eek064h4.aspx

仕様書の8.7 参照型にはこんなことが書いてある
a value of type Reference is used only as an intermediate result of expression evaluation and
cannot be stored as the value of a variable or property
変数とかプロパティには参照は格納されない

(略)This possibility is admitted purely for the sake of host objects
No builtin ECMAScript function defined by this specification returns a reference and there is no provision for a
user-defined function to return a reference
ただ、独自実装のために、参照を返すことは許されてる。

でも実際の所、そんな実装はない
901Name_Not_Found:2010/09/04(土) 15:48:00 ID:???
勉強にもなるのでもうしばらく続けてほしい
他に質問なり何なりが飛んできてるのにやってたらどうかと思うけど
902Name_Not_Found:2010/09/04(土) 15:57:56 ID:???
はい盛り上がったので900超えました。テンプレ論議あれば今どうぞ。
903Name_Not_Found:2010/09/04(土) 16:11:09 ID:???
じゃあ、そろそろまとめて
904Name_Not_Found:2010/09/04(土) 16:34:17 ID:???
call-by-value:組み込み型
call-by-sharing:オブジェクト
call-by-reference:関数の返値として参照を返すのは仕様上認められている
 ただ、現実そういう実装はない(flanaganの本に書いてある)
905Name_Not_Found:2010/09/04(土) 18:29:55 ID:???
call-by-sharingってCで言うところのポインタ渡すのと同じって考えればいいかな?
906Name_Not_Found:2010/09/04(土) 19:00:55 ID:???
Javaは「参照の値渡し」でござる
907Name_Not_Found:2010/09/04(土) 19:32:28 ID:???
それをcall by sharing/call by object/call by object-sharingと呼ぶそうな
908Name_Not_Found:2010/09/05(日) 15:54:34 ID:???
document.evaluateの使い方?ついて質問です
xhrとかでhtmlを取得した値をDOMにしてからcontextNodeに指定し

var dom = document.createElement("HTML");
dom.innerHTML = res.responseText;

document.evaluate(xpath,dom,null,7,null)

としてdomの中からid hoge を取得する時

firefoxだとid('hoge')で取得できるのですが
chromeの6.0以降だとid('hoge')では取得できません
仮にidがついてるのがdiv要素だとして//div[@id="hoge"]だと取得できます

これはcontextNodeの使い方がそもそも間違ってるのでしょうか・・?
それともevaluateの実装の違いによる問題なのでしょうか・・・
909Name_Not_Found:2010/09/05(日) 22:51:02 ID:???
誰かこの質問スレのdatファイル持ってない?
できれば1からほしいんだけど。。
910Name_Not_Found:2010/09/05(日) 23:01:36 ID:???
jQueryのプラグインでclickイベントで動くものがある場合に
プラグイン上でclickイベントを動作させた後で
独自のclickイベントを実行させたいのですが、
その場合はプラグイン内のclickイベントの内容を
改造するしかないのでしょうか

元のhtml上で
$("#○○○").click(
 function() {
  alert("OK");
});
等と書いてもプラグインのclickイベントに食われてるようです。
なら
$("#○○○").mouseup(
 function() {
  alert("OK");
});
とやってみたのですが、逆にプラグイン側のイベントを食ってしまいました
911Name_Not_Found:2010/09/05(日) 23:12:05 ID:???
>>908
Chromeの他、Opera、Safariも同様の動作で、Firefox(の3.5以上)だけが
本来のDOMツリーに属してないDOMにもid関数を使える。仕様的には未定義だった気がする。
各ブラウザでid関数を使えるようにするのは結構面倒で、なるべく簡単書いてみると
var html_text = 'HTML<p>hoge<p>fuga<span id="a">aaa</span>';
var doc = document.implementation.createDocument(null, 'html', null);
var body = document.createElement('body');
body.innerHTML = html_text;
doc.documentElement.appendChild(doc.adoptNode(body));
console.log(doc.evaluate('id("a")',doc,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue);
こんな感じ。
最近ならquerySelector使うほうが断然楽だね
912Name_Not_Found:2010/09/05(日) 23:19:31 ID:???
はぁ?
913Name_Not_Found:2010/09/05(日) 23:53:12 ID:???
ふぅ
914Name_Not_Found:2010/09/06(月) 00:25:32 ID:???
ライブラリ類を使う必要性を感じないのだけど、
トレンド的にはやっぱ使うべきなのかね。
なんつーか、ライブラリはコードが濁って本質が見えなくなる気がする。
915Name_Not_Found:2010/09/06(月) 00:34:07 ID:???
仕事じゃ開発効率が大切だからねえ。
勉強が目的ならライブラリは後回しにするべき。
916Name_Not_Found:2010/09/06(月) 03:05:43 ID:qg8XoJi9
>>914
使いたい時に使えばいいんでね?

ライブラリの話が溢れてるのは、
あんまり書けない人もJSに手を出すようになったからで、
PureJSで問題なく書ける人とかは、そういうふうに思うことも多いでしょ。

とくにPrototype.jsやJQuery以前からPureJSでゴリゴリ書いてた人は
それなりにオレオレライブラリが出来てたりしない?
俺はするんだけど。
917Name_Not_Found:2010/09/06(月) 03:32:02 ID:???
>>911
なるほど・・・
Chromeの5.0.xまでは同じソースコードで取れてたので謎でした
id関数は//*[@id="hoge"]とかに置き換えるほうが楽なのかな・・・


そしてchromeやfirefoxじゃとれる
"//a or //b"といったxpathでbooleanの結果が取れなかった・・・
この書き方自体が変なのかな・・・
918Name_Not_Found:2010/09/06(月) 10:31:46 ID:???
>>914
実際の案件やってると確実にIEに悩まされるから、ライブラリやフレームワークって便利なんだよ・・・
レアケース以外は差異を考えなくてよくなる
あとイベントまわり
919Name_Not_Found:2010/09/06(月) 12:34:54 ID:YvqIXiGB
このスレには不似合な低レベルな質問ですみません。
http://okwave.jp/qa/q6145039.html
このページの質問者と同じ考えになり、回答者の指示に従って私も現在動かしています。
[質問]
・もう一つ語句を指定して除去したい。else ifでやるつもりだがそれがベストなのか。
・if (entry.title.match(/.*PR:.*/mi) == null)のmiと.の意味が解らないので
 if (entry.title.match(/*PR:*/) == null)に省略して動かしているが問題は無いか。
以上二つ、どうかアドバイスを宜しくお願い致します。
920Name_Not_Found:2010/09/06(月) 12:48:14 ID:???
>>916
たしかに、ライブラリがはやる前からJavaScriptを使ってるから、
オレオレライブラリ的なものはあるね。
でも$("foo")みたいな横着は絶対しない。
ライブラリは、JavaScriptの文法をほかの言語っぽくするのがどうも好きになれないな。

>>916
イベントをモリモリ使うコードを書いたりするけど
ブラウザ互換で注意するポイントって、言うほど多くない気がするんだな。
自分でチェックできるのがFirefox、Opera、Safari、Chromeの最新安定版とIE6以降、OSはWinとMacくらいだから、
その辺がライブラリだとより広い対象になるんだと思うけど。
921Name_Not_Found:2010/09/06(月) 12:58:40 ID:???
if (entry.title.match(/.*(PR:|新しい語句).*/mi) == null) {
こんな感じで
mは改行への対応
iは大文字小文字問わず
922919:2010/09/06(月) 13:12:16 ID:???
バッチリ動きました!
miではなくmとiだったんですね・・・もっと勉強します。
本当に有難うございました
923Name_Not_Found:2010/09/06(月) 13:47:35 ID:qg8XoJi9
>>920
>でも$("foo")みたいな横着

QuerySelectorって横着かなあ。
924Name_Not_Found:2010/09/06(月) 13:59:27 ID:???
俺も$は好きになれない
IDゲト!("")
なら気に入ったかもしれないが
925Name_Not_Found:2010/09/06(月) 14:00:07 ID:???
大量にあってもベタ書きしてるってこと?
926Name_Not_Found:2010/09/06(月) 14:03:48 ID:???
$がいやならidget('foo')ってかけるように定義すればいいだけなんじゃ?
$だってjavascriptの文法で決められた、利用出来る識別子じゃん
927Name_Not_Found:2010/09/06(月) 14:06:55 ID:???
$id("fooooooooooooooooooooooooooo")
$xp("//a")
$css("a > b")

こんな感じならいいということか
928Name_Not_Found:2010/09/06(月) 16:09:20 ID:???
ES3 7.6 "ドル記号は機械的に生成されるコード中のみの使用を意図される。"

ライブラリが乱用しだしたからかどうか知らないがES5でこの文言は消えたけど
929Name_Not_Found:2010/09/06(月) 16:10:38 ID:???
他言語の宿題スレ的な質問が不適当でしたらすみません。

・入力としてプレーンテキストを受け取る
・リンクとして張るべき文字列(http/https スキームで良いです)
 アンカー付きの HTML にして返す

といった処理はどうすればよいでしょうか。
Web メールのビューアあたりでよくありそうな処理ではないか…と思っているのですが…
930Name_Not_Found:2010/09/06(月) 17:23:32 ID:???
>>917
Chrome5では動いてたんだ…。動かない気がするけどなぁ。
実行している元のページ上にid="hoge"な要素があって、そっちを取得してた可能性も…。
ちなみに //*[@id="hoge"] も .//*[@id="hoge"] と相対パスにしておかないと↑と同じことに。
> "//a or //b"といったxpath
"//a | //b" かな。
931Name_Not_Found:2010/09/06(月) 17:36:20 ID:qg8XoJi9
>>929
URIの正規表現にマッチしたところを置換する。

現実的には、テキストノードを拾って、正規表現マッチさせて、
そこでノードをブチッと切ってa要素を埋める、ってするのかな?
932Name_Not_Found:2010/09/07(火) 09:44:02 ID:9vNsFXzG
Javascriptで、テーブルの行を入れ替える処理をしたいです。
テーブルの各行には、テキストボックス(<input type="text">〜)、コンボボックス(<select>〜)が配置されていて、
その内容(テキストボックスの文字列や、コンボボックスの選択された値)を保持したまま入れ替えたいです。

下の関数で、IEではうまく動いているのですが、FirefoxやChromeだと、
入れ替えようとした行の双方の値が消えてしまいます。
Firefox・Chromeでも問題なく動作させるにはどうすれば良いですか?

*tblは、操作したいテーブルのid

function swapRow(r1, r2){//r テーブルの行のインデックス。0始まり,r1<r2
var colsLen=tbl.rows[0].cells.length;
var newTR;
var newTD;

newTR = tbl.insertRow(r1);
for(var i=0;i<colsLen;i++){
newTD = newTR.insertCell(i);
newTD.innerHTML = "" + tbl.rows[r2+1].cells[i].innerHTML;
tbl.rows[r2+1].cells[i].innerHTML=tbl.rows[r1+1].cells[i].innerHTML
}
tbl.deleteRow(r1+1);
}
933Name_Not_Found:2010/09/07(火) 09:45:00 ID:???
突然すいません
ttp://xn--5usq05i.com/
↑このサイトの様に、ページを移動せずにAPIの検索結果のソートを変更していくのはどうしたらいいんでしょうか?
全パターンを最初に読み込んで表示を切り替えてるだけのようには思えないんですけど・・・
934Name_Not_Found:2010/09/07(火) 09:47:05 ID:???
リンク先見てないけど普通にリクエストをサーバに投げてるんじゃないの
935Name_Not_Found:2010/09/07(火) 10:13:52 ID:???
>>931
ありがとうございます。プレーンテキストなのでどこで切るべきか迷っていたのですが
スペースと改行コードあたりでそれなりに動いているようですのでこれで行ってみます。

>>933
クリックのタイミングでサーバに問い合わせ→DOM を削除 / 追加しているんじゃないでしょうか?
936Name_Not_Found:2010/09/07(火) 10:16:34 ID:???
>>934,935
リクエストをサーバに投げるというのは、ボタンをクリックするとパラメーターを送ってその条件に応じたapiを
javascriptでパースして表示しているということでしょうか?
それだとブラウザでは表示されても、HTMLソースに表示されなくないでしょうか?
937Name_Not_Found:2010/09/07(火) 15:20:53 ID:FWjhBF6p
>>936
なんかAPIって言葉の使い方が間違ってる気がするが、それはさておき。
サイト見たけど普通に同期通信してるだけだと思う。
938932:2010/09/07(火) 17:27:59 ID:9vNsFXzG
alertを挟んでデバッグしてみた結果、
Firefox,Chromeの場合、
innerHTMLでは、フォーム部品(テキストボックスなど)の入力内容が、
属性valueの値として取得できないようです。

IEではちゃんと、innerHTMLで、valueが補完された状態で出てくるので、
その行の各セルがどんな内容だろうと、
上で書いたswapRow()メソッドで、ゴッソリ入れ替えができるのですが。

Firefox,Chromeで同じようなことをする場合、
innerHTMLで見ないで中身のアイテムを参照し、
document.getElementsByName("text_" + r1).item(0).value
のようにすれば個々のvalueを正しく参照できるようですが、
縦列のアイテムの種別ごとに特別にコードを書かないといけないため、かなり冗長することになります。

縦列の数が多いので、
できればIEで成功しているような「Rowを内容も含めてゴッソリ入れ替え」ができれば良いのですが、
何か良い方法はありませんか?
939Name_Not_Found:2010/09/07(火) 18:35:13 ID:???
>>938
FirefoxとChromeの方が規格に準拠した動作。
HTMLテキストじゃなくてDOMノードを入れ替えればいいんじゃない?
940Name_Not_Found:2010/09/07(火) 20:07:54 ID:???
ttp://kjirou.sakura.ne.jp/wiki_mirror/index.php?a%2FPHPer%A4%CE%B0%D9%A4%CEJavaScript%B2%F2%C0%E2%20-%20%A5%AF%A5%E9%A5%B9%A4%CE%C4%EA%B5%C1
ここのthisの説明にあるけど、thisってダイナミックスコープの変数なんですか?
941Name_Not_Found:2010/09/07(火) 21:04:16 ID:???
そもそも変数じゃないし。

本人が理解している内容を、正しい言葉で表現できていないだけかと。
942Name_Not_Found:2010/09/07(火) 22:33:41 ID:???
var new_div = document.createElement('div') などしたあとに、 new_div.id = "div_id" などできますが、この new_div に生えているメソッド一覧はどうすれば確認できますか?
943Name_Not_Found:2010/09/07(火) 22:40:23 ID:???
var str = '';
for (var prop in new_div) {
str += prop + ': ' + new_div[prop] + '\n';
}
alert str;
944Name_Not_Found:2010/09/07(火) 22:41:11 ID:???
っと、alert(str);
945Name_Not_Found:2010/09/07(火) 23:42:21 ID:???
>>944
ありがとうございます。
946Name_Not_Found:2010/09/08(水) 00:11:14 ID:???
「生えているメソッド」なんて言い方、初めて聞いた。
自分の髪もユーザ定義で生やすことできないかなぁ。
947Name_Not_Found:2010/09/08(水) 01:47:08 ID:???
var 毛根達 = 人間.evaluate(".//毛根",頭皮,null,7,null);

if (毛根達.resultType != 7 || 毛根達.snapshotLength == 0) {
 return "毛根死んでるので手遅れです";
}

var 毛根の数 = 毛根達.snapshotLength;
for (var i = 0; i < 毛根の数; i++) {
 var 毛根 = 毛根達.snapshotItem(i);
 var has毛 = false;
 for (var j = 0; j < 毛根.childNodes.length; j++) {
  var 毛根についてるもの = 毛根.childNodes[j];
  switch (毛根についてるもの.nodeValue) {
   case "フケ":
    毛根.removeChild(毛根についてるもの);
    break;
   case "毛":
    has毛 = true;
    育毛剤(毛根);
    break;
   default:
    洗浄(毛根);
  }
 }
 if (has毛 == false) {
  毛根.appendChild(人間.createElement(毛));
 }
}



こんな感じじゃだめか
948Name_Not_Found:2010/09/08(水) 01:53:37 ID:???
「生えている」はあんまり聞かないけど、「メソッド/プロパティを生やす」ならたまに使うかな
949Name_Not_Found:2010/09/08(水) 06:40:12 ID:???
>>947
3 行目で return する状況なのです;;
950Name_Not_Found:2010/09/08(水) 07:12:08 ID:zN97cMnR
while(自分.体.頭皮.毛.length<Math.通常頭毛量){
自分.体.頭皮.history.go(-1*365*24*60*60*1000)}
951Name_Not_Found:2010/09/08(水) 08:05:57 ID:???
>>938
普通、innerHTMLなんかでやらずにDOM操作でやるんじゃない?
てかテーブル内入れ替えとかググれば色々見付かりそうだけど
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を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。