+ JavaScript の質問用スレッド vol.97 +at HP
+ JavaScript の質問用スレッド vol.97 + - 暇つぶし2ch622:Name_Not_Found
12/02/19 15:35:24.88
後方互換

623:Name_Not_Found
12/02/19 15:38:49.92
>>622
IE9でattachEnventを使う理由になってない

624:Name_Not_Found
12/02/19 15:43:57.47
そもそも>>919のツッコミがおかしいだろ
どのみち両方記述しないといけないのに

625:Name_Not_Found
12/02/19 15:44:12.36
>>619

626:Name_Not_Found
12/02/19 15:51:53.84
OperaでattachEventを使えてaddEventListenerを使えないバージョンがあるとしてバージョンいくつまででしょうか?
また、attachEventとaddEventListenerを使えるバージョンのOperaでattachEventを採用する理由はあるでしょうか?

627:619
12/02/19 15:57:05.03
>>624
どこがおかしい?
IE9はaddEventListenerを使うべきだと思うけど

628:Name_Not_Found
12/02/19 16:22:27.95
>>624-625
両方記述してもUA検出したり、attachEventを先に機能検出すればIE9でattachEventを使うことになる

629:Name_Not_Found
12/02/19 16:22:40.58
IE9になぜこだわる必要があるのかってこと
IE9で使おうが使うまいがattachEventを記述すべき話

630:Name_Not_Found
12/02/19 16:58:05.57
>>629
論点を理解してないでしょ?
両方記述する事を前提に問題になってる

631:Name_Not_Found
12/02/19 17:17:03.90
>>620>>622は意味不明なので補足してください

632:Name_Not_Found
12/02/19 17:20:13.02
逆にattachEventを使わない理由は?

633:Name_Not_Found
12/02/19 17:41:27.75
>>631
IE9はそれまでのIEと標準準拠した全く違うものになっていて
過去のIE向けに開発されたサイトが動かないおそれがある
そのためにIE9には後方互換モードをつけている
この時使用される描画エンジンはIE9のものではないはずだ
となるとaddEventListenerは使えないかもしれない

かもしれないのは俺がXPユーザだからだ
あとはIE9持ってる人たちで確認してくれ

634:think49 ◆bKk/qcAKuM
12/02/19 18:00:36.87
>>632
- attachEvent は標準化されていません。
- attachEvent は useCapture を使えません。
- attachEvent は listener にオブジェクトを渡せません。(addEventListener は DOM 4 で渡せるようになりました)
- IE8 における attachEvent のイベントハンドラ関数実行順はランダムです。
- attachEvent は DHTML 時代の産物であり、DOM Level 2 Events と多くの点で挙動が異なります。例えば、IE8 の "submit" はイベントバブリングしません。
- Opera 11.01 の attachEvent は addEventListener のエイリアスであり、IE8 と実装が異なります。
  Opera 11.01 では useCapture を使えますし、オブジェクトも渡せますし、イベントハンドラ関数の実行順も保証されます。
  つまり、厳密には IE8 と Opera 11.01 で処理を分岐させる必要があります。
  URLリンク(d.hatena.ne.jp)

IE9 では DOM L2 Events, DOM L3 Events が取り込まれています。
URLリンク(msdn.microsoft.com)
イベント周りの仕様は IE8 と異なるため、attachEvent を使用したとしても IE8 と IE9 で処理を分岐させる必要性はあるかもしれませんし、ないかもしれません。(後方互換性のために attachEvent だけ古い仕様にする可能性はあります)
IE9 の addEventListener と attachEvent でイベント周りの仕様差がどこまであるか、を逐一チェックする手間を考えると、addEventListener を使用する方が安全で無駄がないと思います。

>>633
"Feature detection" ならその手の問題は回避できるかと。
DOCTYPE宣言を JavaScript で読み取るのではなく、if (element.addEventListener) で。
後方互換モードにスイッチして attachEvent を使用するか、標準準拠モードで addEventListener を使用するか、ってところでしょうか。
後方互換モードにすると CSS 周りで大変なので個人的には標準準拠モードをお勧めしておきます。

635:Name_Not_Found
12/02/19 18:19:06.88
>>633
xpからバージョンアップもできないWINDOWSERはさっさと引退するかリナックスに乗り換えるかしてください

636:Name_Not_Found
12/02/19 18:21:33.76
実装主義と仕様主義の違いを垣間見た気がした。
・実装主義の人は古き実装と同じように書くことで後方互換性を保とうとする。仕様書は読まず、実際に動かした結果だけを信用する。
・仕様主義の人は仕様書を読んで仕様通りに書こうとする。次に実装の挙動を確かめてバグがあれば回避する。
どちらが現実的かはいうまでもない。

637:615
12/02/19 18:34:03.77
>>618
すみません。いままで自分が素人ながらやってきたものはソースに a href="javascript:void(0)" onclick="~~と書いてきていたのでわかりませんでした。
>>617
ありがとうございます。
先ほどのサイト様ではuserAgentを取得してる関数があったので、おそらく後者なのだとおもいます。clickやonclickを見つけることができなかったのですが、まとめて書けるとわかったのでもう少し調べてみます。ありがとうございました。

638:Name_Not_Found
12/02/19 18:36:38.02
RPGのマップチップみたいなのを配置するのって、1つ配置するたびに要素を生成していくのでしょうか?
たとえば縦横30マスのマップなら30個の要素を作れって事ですか?

639:Name_Not_Found
12/02/19 18:47:22.08
>>637
該当ソースは URLリンク(www.wyz-design.com) です。
URLリンク(api.jquery.com) で定義しており、UA分岐処理はありません。
click の処理は URLリンク(code.jquery.com) にあります。

640:615=637
12/02/19 19:02:37.47
>>639
ありがとうございます!
うまく動かせるようがんばります!

641:Name_Not_Found
12/02/19 19:15:41.94
>>638
table要素を作ってもいいですし、canvasで描画してもいいと思います。
JavaScriptを利用するなら30個の要素生成はそれほど手間ではないと思いますが。
とりあえず、enchant.js のソースを参考にしてみてはどうですか?
URLリンク(enchantjs.com)

642:Name_Not_Found
12/02/19 20:15:46.90
>>635
いやいや
開発ってのは一昔前の環境でやるもんだよ
一昔前の環境で動けば最新の環境でも動く確率が高いけど
その逆はそうではないからね

643:Name_Not_Found
12/02/19 20:22:41.30
>>628
検出順番おかしいだろ。addEventListenerあればaddEventListener使えよ
あと判別にUA使うなよ

644:Name_Not_Found
12/02/19 20:33:53.82
>>643
addEventListenerを先に機能検出すべき、はその通りだ
問題は>>617の時点で質問者に>>628の誤解が発生しうる事
後から正論を付け足しても当時の質問者に伝わるはずがない

645:Name_Not_Found
12/02/19 20:36:28.85
いや、UAを判別に使ってほしい
タブレットでネットサーフィンしててよくスマートフォン向けの画面が出てきてうざいからUAを変えてるけど
たまにontouchstartがあるからスマートフォンだ!と決めつけてくるサイトがあって死ねって思う

646:Name_Not_Found
12/02/19 20:47:54.68
>>645
それは間違った機能検出の使い方だし、UA検出云々ではないと思うな
スマートフォンサイトに強制リダイレクトすることが問題の本質だろう

647:Name_Not_Found
12/02/19 20:56:09.45
UA文字列による判定は、TPOにあわせて使いわける・・・のがいいよね
基本的にはプロパティ判定を使うべき(というかその方が楽で無難)
ただし、

使いたい機能が、実装されているもののバグってる
→ プロパティ判定を応用したレンダリングエンジンの判定ができないか試す
→ できなければUA文字列使うしかない

みたいに「最後の手段」として捉えたほうがいいと思う

648:Name_Not_Found
12/02/19 20:56:10.41
>>646
Googleも問題に思ってるようでちゃんと見分ける方法を公開してたりする。
URLリンク(googlewebmastercentral-ja.blogspot.com)
スレチなんでこれ以上は触れない。

649:Name_Not_Found
12/02/19 21:04:03.41
>>648
目的によって最適解が異なるはず
画面サイズの違いなら "Media Queries" を使うべきだし、JavaScript なら解像度を検出すべきだろう
Android 固有の機能ならUA検出する意義はあるかもしれないが、出来る限り in 演算子や typeof 演算子でプロパティの有無をチェックすべきだと思う
(JavaScript に関する問題ならスレ違いではないと思うが…)

650:Name_Not_Found
12/02/19 21:10:19.29
if(confirm("モバイル向け表示に切り替えますか?")){
…………
}else{
…………
}

651:Name_Not_Found
12/02/19 21:11:52.54
またconfirm厨が出てきたか

652:Name_Not_Found
12/02/19 21:27:03.03
>>649
UAで分けるのが一番無難で問題がないと思うが。
JavaScriptの挙動で判別するのは判別が不完全だと最悪閲覧出来なくなってユーザーが唯一取れる手段であるUA偽装もつかえない
そしてブラウザのバージョンアップでjsの挙動が変われば当然動かなくなる、ユーザーは何もできない。
UAは”そのブラウザとみなして動かしてほしい”という意思表示

653:Name_Not_Found
12/02/19 21:40:55.70
んなことやってるからIE10問題が出て来るんだよ

654:Name_Not_Found
12/02/19 23:23:24.41
>>652
UA偽装しなければならない状況を説明してくれ
機能検出はある機能をユーザに提供するためにUAが使用できる機能を検出する為に使用する
>>617でいえばイベント定義するために addEventListener を使用できるかテストする

if (node.addEventListener) {
 node.addEventListener('click', listener, false);
} else if (node.attachEvent) {
 node.attachEvent('onclick', handler);
}

UA検出だろうが機能検出だろうが提供するものは同じはずだ

> そしてブラウザのバージョンアップでjsの挙動が変われば当然動かなくなる、ユーザーは何もできない。
そのための機能検出であるはずだ
UA検出は既知のUAに対してのみ有効な手法、制作者がテストしていないUAでの動作は保証されていない
機能検出ならその機能があることは保証されるのだから、正しく検出していれば問題は発生しない

655:Name_Not_Found
12/02/19 23:31:18.66 EkLtYt9V
URLリンク(jsbin.com)
html側のonclick属性よりもjavascript側のほうが先にイベントを受け取るにはどうすればいいですか?
html側は変更できません

656:Name_Not_Found
12/02/19 23:43:51.41 HSdXcdyQ
>>655
URLリンク(jsbin.com)

657:Name_Not_Found
12/02/19 23:45:30.77
>>656
どうもありがとう

658:Name_Not_Found
12/02/20 12:34:55.41
>>654
話題がずれてきてることに気付こうや
>>645から先は機能の話じゃないでしょ
だから>>648もスレチと言ってるんで

659:Name_Not_Found
12/02/20 12:52:09.67
×ずれてきてる
○発展してきてる

660:Name_Not_Found
12/02/20 14:37:40.00
わかったわかった

661:Name_Not_Found
12/02/20 14:45:54.02
で?ごめんなさいは?

662:Name_Not_Found
12/02/20 15:21:54.82
お前らは計画性がないから今のうちにテンプレ議論しとけや

663:Name_Not_Found
12/02/20 19:17:38.50
>>662
横から口出すだけでおまえは参加しないのか?

664:Name_Not_Found
12/02/20 19:34:24.20 LN5qUsn1
質問の方は「テンプレ議論」をNG登録してください

ってテンプレに入れて、テンプレ議論するときは
名前かメ欄か本文にテンプレ議論て書くのはどうだろう

665:Name_Not_Found
12/02/20 20:05:16.93
あほか

666:Name_Not_Found
12/02/20 20:52:58.87
>>544-551
ここらへんが一応議論する余地がある部分か


667:Name_Not_Found
12/02/20 20:55:12.93
微塵もねえ

668:Name_Not_Found
12/02/20 21:42:24.54
質問する奴はID出させろ

669:Name_Not_Found
12/02/20 21:47:31.85
PHPerは居ても荒れる原因になるだけだから巣に帰っとけよ

670:Name_Not_Found
12/02/20 21:55:24.07
【JavaScript】下らねぇ質問はID出して書きやがれ vol.98

671:Name_Not_Found
12/02/20 22:17:10.20
じゃあちょっと早めだけどテンプレ論議で。ID出せとか書くの?本当に?

672:Name_Not_Found
12/02/20 22:19:43.49
書かないよ
ID出さなくていいし

673:Name_Not_Found
12/02/20 22:22:41.22
IDはいらんがレス番くらいは欲しい

674:Name_Not_Found
12/02/20 23:09:51.58 rA4mSmUN
DOMContentLoadedのクロスブラウザ対応のライブラリやサンプルソースのあるサイトご存知の方いらしたら教えて頂けないでしょうか?
jQueryから切り出したはいいものの、これで大丈夫か確認したいのでお願いします。

675:Name_Not_Found
12/02/20 23:19:52.38
IDやレス番は結局何をしたいんだ?質問者の特定?質問者なりすましの防止?

IDは日付を跨いだら意味なし
レス番はいくらでも騙れる

質問者をどうしても特定したいならトリップしかないんじゃないの?

676:Name_Not_Found
12/02/20 23:43:06.28
別に特定しなくていいし
PHPスレのアレルギー体質を一部のやつが持ち込みたがってるだけ

677:Name_Not_Found
12/02/21 00:22:50.40
バッドノウハウの固まりであるjQueryが信用出来ないならやめとけ

678:Name_Not_Found
12/02/21 01:31:49.86
>>674
それ草案段階で捨てられたんじゃないっけ?

679:Name_Not_Found
12/02/21 02:46:43.58
これはちょっとjavascriptじゃなくてプログラミング的な質問かもしれないのですが
test['a'][0] = 123
test['a'][1] = 12
test['a'][2] = 311

test['b'][0] = 0
test['b'][1] = 1
test['b'][2] = 2
↓test['a']についてソート
test['a'][0] = 311
test['a'][1] = 123
test['a'][2] = 12

test['b'][0] = 2
test['b'][1] = 0
test['b'][2] = 1

で、test[a]についてソートしたとき、そのソート順に対してtest[b]も同じ順番にしたいのですがどうしたらいいのでしょうか?

680:Name_Not_Found
12/02/21 03:25:06.15
・aとbをペアにした配列の配列を作って
・a[0]とb[0]を比較する比較関数でソートしたあと
・それぞれの配列に書き戻す

681:Name_Not_Found
12/02/21 03:40:25.24
比較関数でちょっと考えれば出来そうな気がするけど

682:Name_Not_Found
12/02/21 03:41:35.62
◯ ああ、一応補足しておくと ◯
◯ 二行目のa[0]とb[0]は ◯
◯ 比較関数の変数名であって ◯
◯ testのハッシュ名のことじゃないからな ◯

683:Name_Not_Found
12/02/21 07:36:49.58
入力された文字列をinputやtextareaのvalueとして設定する場合
エスケープするべき(したほうがいい)文字はありますか?

684:Name_Not_Found
12/02/21 07:40:18.54
その入力された文字列の使い方による

685:Name_Not_Found
12/02/21 07:44:20.36
使い方というと?

submitしたりするわけではありません
ということでいいのでしょうか?見当違いでしたらすみません

686:Name_Not_Found
12/02/21 07:51:01.16
使い方によってエスケープするべき場合とそうでない場合があるようでしたら
例をいただけると嬉しいです

687:Name_Not_Found
12/02/21 07:58:23.54
エスケープって何? 文字を除去するって意味で言ってる?

688:Name_Not_Found
12/02/21 08:03:10.22
文字列のエスケープ処理のことです
escape()というわけではありません

689:Name_Not_Found
12/02/21 08:05:44.44
JavaScriptならinnerHTMLとかでHTMLとして出さない限りエスケープは不要
今話題のPHPならmb_check_encodingした後htmlspecialchars、両方文字コードは絶対に指定すること

690:Name_Not_Found
12/02/21 08:10:22.72
なんでPHPの話してんだよ

691:Name_Not_Found
12/02/21 08:11:44.55
>>683
変数に設定するだけならない

692:Name_Not_Found
12/02/21 08:15:19.58
>>689>>691
innerHTMLやdocument.writeでHTMLとして書き出したりしなければ問題ないのですね
ありがとうございます

693:Name_Not_Found
12/02/21 08:41:12.69
いや、書き出す書き出さないに限らずエスケープした方がいいかは場合によるでしょ
eval使う場合もあるし、それらがむしろ好まれる場合もある

694:Name_Not_Found
12/02/21 08:43:52.11
おっとevalの話はそこまでだ

695:Name_Not_Found
12/02/21 08:53:34.60
nodeValueがさぁ…

696:Name_Not_Found
12/02/21 09:08:13.28
>>688>>693
なんのエスケープだよ
なんの話してんの?
JavaScript関係ないんじゃね?

697:Name_Not_Found
12/02/21 10:16:56.41
JSlint初めて使ってみた
unexpected spaceが大量に出た
俺が見やすいようにしてるんだからいいんだよ、うぜえなあこれオフにできないのかよ糞

698:Name_Not_Found
12/02/21 10:33:00.50
そんなの使ってるのは好奇心旺盛な厨房までだろ
コンソールのデバッガでいいじゃん

699:679
12/02/21 11:57:41.43
>>680-682
助言ありがとうございます!

700:Name_Not_Found
12/02/21 15:00:17.61
>>694
JSONがさあ・・・

701:Name_Not_Found
12/02/21 17:42:29.78
if(JSON && JSON.parse){
 return JSON.parse(json);
} else {
 while(1){
  alert("(・∀・)カエレ!!");
 }
}

702:Name_Not_Found
12/02/21 19:01:40.00
JScriptで、「今シフトキーが押されているか」っていうのは
どう調べたらいいのでしょうか?

703:Name_Not_Found
12/02/21 19:32:33.78
このスレとうとう素のJSの質問より亜種の質問が多くなったな

まあ考えて見れば当たり前か
流行りのライブラリーを使ってる奴らは
技術も未熟なままいろんな事したがるし、
そうかと言って別にJSを究めたいと思ってるわけじゃないからな

まあ時代の流れか…

704:Name_Not_Found
12/02/21 19:51:19.67
onkeydown

705:Name_Not_Found
12/02/21 19:54:24.74
ブラウザで新窓を開く際に窓のサイズを「元に戻す(縮小)」で
開くよう指定する方法ってありますか?
サイズを指定するのではなくそれぞれの環境での縮小された状態で開くようにしたいです
検索しても上手く見つけられなかったので参考になるURLなどあれば
教えてくださると助かります

706:Name_Not_Found
12/02/21 21:08:02.47 tkMNdSxR
>>705
>それぞれの環境での縮小された状態

これがようわからんが
スクリーンの大きさに合わせたいのなら
window.screen.widthとheightで

707:Name_Not_Found
12/02/21 21:33:04.87
>>706
分かりにくくてすみませんでした
スクリプトでサイズを指定するのではなく
単純に最大化でも最小化でもなく縮小状態で新窓を出したいという意味でした

708:706
12/02/21 22:04:51.96
>>707
じゃあ、>>706でよろしいな

709:Name_Not_Found
12/02/21 22:05:34.90
>>707
<a href="uri" target="_blank">

710:Name_Not_Found
12/02/21 22:43:29.30
>>708
すみません>>706で大丈夫だったんですね
まだ上手く行かないのですが粘ってみます
>>709
すみませんそれだと親窓が最大化されていると新窓も最大化で出てきてしまうので
今回は使えませんでした

お二人ともどうもありがとうございました

711:Name_Not_Found
12/02/22 02:11:44.41
>>701
1行目
エラー: 'JSON' は定義されていません。

712:Name_Not_Found
12/02/22 03:04:49.61
>>711
JSON読み込んでおけば?

713:Name_Not_Found
12/02/22 03:16:01.19
>>712
それなら else が要らない

714:Name_Not_Found
12/02/22 04:50:42.17 QlWAPatD
質問しようと思って整理して書き込もうと思ったら自己解決した。ありがとう

715:Name_Not_Found
12/02/22 04:54:04.97
うるせえ、はげ。

716:Name_Not_Found
12/02/22 08:41:13.75
>>710
タブブラウザが普及した現在では、ウィンドウサイズを強制するのは無意味

717:Name_Not_Found
12/02/22 09:09:38.34
タブブラウザでもユーザーが設定してない限り
新しいタブで開かせるかウィンドウで開かせるか選べるよ

718:Name_Not_Found
12/02/22 09:37:14.46
自分はウィンドウサイズの変更なんて(設定で)許してないw

719:Name_Not_Found
12/02/22 09:41:05.57
どちらにしても迷惑スクリプト

720:Name_Not_Found
12/02/22 09:49:22.14
そうとは限らん
Googleのデモでウィンドウが走り回るのとかあったが面白いぞ

721:Name_Not_Found
12/02/22 10:39:46.44
そんなスクリプト面白いのは最初の一回だけで次からは殺意を覚える

722:Name_Not_Found
12/02/22 11:17:48.68
そんなの場合によるって
それこそevalとかと同じ
元々そんなに強く反対意見持ってた訳でもないのに
意見自分と違う意見が出たからといってキレなくていいよ
そういうのを必死って言って荒れる元、格好悪い事だって気が付かなきゃ

723:Name_Not_Found
12/02/22 11:21:54.50
Canvasに描いた絵の何か書いてある部分にマウスが乗ったときだけアクション起こしたいんだけどどうしたらいいかな?

724:Name_Not_Found
12/02/22 11:28:41.22 PCyp5quO
>>723
マウスの座標で

725:Name_Not_Found
12/02/22 12:26:09.29
座標でどうしたら描いてある部分だってわかるかな?

そういえばCanvasってAAかけるために実際は表示より0.5ズレてるんだよね?
その辺りもどうしたらいいかな?

726:Name_Not_Found
12/02/22 12:47:09.37
何その教えて君。Canvas APIを見て少しは自分で考えなよ。

727:Name_Not_Found
12/02/22 13:13:29.10
Canvasで1pxの線を引くとなんだかどー見ても1pxじゃないんだよなぁ

728:Name_Not_Found
12/02/22 13:15:18.11
>>725
アンチエイリアスまったく関係ねぇよ
原点がピクセルの左上か、ピクセルの中心か、考えろ

729:Name_Not_Found
12/02/22 13:52:36.98 PCyp5quO
>>725
>座標でどうしたら描いてある部分だってわかるかな?

そりゃ自分で描いてるんだから
描いた時に描いた位置と範囲は覚えておきなさいな

730:Name_Not_Found
12/02/22 15:09:22.20
>>728,729
ピクセルの中心が描画の左端だから例えば1dotの垂線引いても2pxになるって事だよね?

曲線とか斜線だと複雑になると思うんだけどどう記録したらいいんだろう?

あと毎回配列に記録するって事だと思うけどかなり重たくなるからできれば避けたいんだけど

任意の座標が塗り潰された事あるかどうか調べる方法ないかな?


731:Name_Not_Found
12/02/22 15:28:07.34 PCyp5quO
>>730
>曲線とか斜線だと複雑になると思うんだけどどう記録したらいいんだろう?

そこで中学と高校で習った数学の出番ですよ

732:Name_Not_Found
12/02/22 15:30:14.16
pixelの色で判断する。

733:Name_Not_Found
12/02/22 16:11:09.40
>>731
そんなことしてたらパフォーマンスが落ちるしベジェ曲線とかいろいろ無理っぽい
お願いだから現実的な策を教えて
>>732
それも考えたんだけどそこが絵の一部なのか、つまり塗り潰された事があるのかを調べる事にはならなさそう
最終的にそれしかなかったら妥協してそれを使うつもりだけど

734:Name_Not_Found
12/02/22 16:43:09.96
そんな都合いいものはあるわけない。自分でCanvasと同じサイズの
True/Falseの配列を用意して、塗ったのと同じ位置をTrueにしていき、
判定時にはそれを参照するんだろうね。ベジエとか自分で塗れないもの
は描く時も使わないようにする(もっともベジエ曲線のアルゴリズムも
勉強すれば分かると思うけどね)。

735:Name_Not_Found
12/02/22 16:51:25.10
それはもちろん内部的に同じ事してるわけだから不可能じゃないけど
fill図形もある中それするのは現実的じゃないと思う


736:Name_Not_Found
12/02/22 16:53:15.74
SVGで透明な同じ図形描いて上に重ねておく

737:Name_Not_Found
12/02/22 17:04:30.37
>>736
ちょっとそれでやってみる
サンクス

738:Name_Not_Found
12/02/22 17:12:49.40
ピクセル調べるのが一番現実的だろ
最初にclearRectしておけば透明(RGBA=0,0,0,0)になるんだから、描いた部分との比較は簡単だろ

739:Name_Not_Found
12/02/22 17:19:59.08
>>738
だいたいはそれでいいんだけど淵や中身が白い図形を描く事もあるから

740:Name_Not_Found
12/02/22 17:29:08.67
え、isPointInPath()じゃだめなん?

741:Name_Not_Found
12/02/22 17:37:45.61
>>739
わざわざRGBAと書いた意味分かってないな

742:Name_Not_Found
12/02/22 17:45:20.58
よくわからん
背景と同じ色を使わなかったら判別できるって事だと思うけど
背景が透明黒とは限らないし、画像かもしれない

743:Name_Not_Found
12/02/22 18:06:26.73
canvasの話しの続きはこっちでどうぞ

Canvasについて語ろう
スレリンク(hp板)

744:Name_Not_Found
12/02/22 18:52:25.00
このスレでいいよ

745:Name_Not_Found
12/02/22 19:19:26.88
こうする事に決めた↓

基本はドッドだけどそれが使えない場合(背景が画像等)は
fillは透明SVGを重ねてイベントリスナー、
nofillは多角形等基本は線分に分解してSVGにする
それが使えない場合(ドッドパターンの貼付等?)は最後の手段として描画位置を割り出して配列に保存する

これがベストっぽい
やっぱり三人寄れば文殊の知恵だね
みんなどうもありがとう

746:Name_Not_Found
12/02/22 19:37:29.09 PCyp5quO
そもそもSVGでアニメするのは駄目なん

747:Name_Not_Found
12/02/22 19:56:03.77
>>742
アルファを見ろと言ってるんだよ
白色だろうが描画した時点でA != 0になる

748:Name_Not_Found
12/02/22 20:24:30.10
C言語やphpのincludeの相当するのがJSでは
<script type="text/javascript" src="~.js" charset="UTF-8">
</script>
なのでしょうか?

749:Name_Not_Found
12/02/22 20:28:20.64
text/javascriptは廃止されました

750:Name_Not_Found
12/02/22 20:28:25.33 PCyp5quO
はい

751:Name_Not_Found
12/02/22 20:29:17.06
え、うそん!
俺いっつも
<script type="text/javascript">
funciton(){}
</script>

ってやってるんだけど

752:Name_Not_Found
12/02/22 20:33:59.49
なんで廃止されてんのにデフォルト値になってんのかね
HTML5のバグ?

753:Name_Not_Found
12/02/22 20:34:49.54
英語サイトに結構いいJSの解説とかサンプルプログラムあるが、
なんか日本語だと、超初心者向けしかないからな。
英語の勉強にもなるしな。

754:Name_Not_Found
12/02/22 20:35:57.51
その2006年のRFC(RFC 4329)は、いつ実効性を持つんだろうねえ。
誰も何も気にしてないみたいだし。

755:Name_Not_Found
12/02/22 20:39:02.87
text/*は人が読むためのテキストを示してて、プログラムが解釈するものはapplication/*が用意されてるからapplication/javascriptだよねうんぬん

756:Name_Not_Found
12/02/22 20:49:27.13
そうなんだけど、その話題が出るのって単にケチつけたいとか蘊蓄たれたいとかいう奴が
突っ込む時だけなんじゃないだろうか。

757:Name_Not_Found
12/02/22 21:21:09.71 LNztJBjf
嘘言え~wwwwwwwwwwwwwwwwwwwwwwwwwwwww

聞いたことないわwww

758:Name_Not_Found
12/02/22 21:27:46.34
>>748
> <script type="text/javascript" src="~.js" charset="UTF-8">
> </script>

はJSじゃなくてHTML。JSには#includeの相当するものはないよ。

759:Name_Not_Found
12/02/22 21:54:46.32
一応テクニックとしてはcreateElement('script')をdocument.body.appendChildして
オブジェクトを拡張する手もあるけどな。JSの仕様ではないけど#includeには近い
そして同様の手法で有名なのがJSONP


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch