Auto Copyが移植されたらchromeへの移行を検討します。agoです。 jQueryを使用するようになってクロスブラウザを意識することは少なくなりましたが、それでもjQueryではカバーしきれない差異はそれなりにあります。 そこでjQueryを使っていてもはまる可能性の高いクロスブラウザのtipsをご紹介したいと思います。 1 Objectリテラル内の末尾カンマ { 'key' : 'val', } 上記のコードはIE6でエラーが出ます。 o = { ‘key’ : ‘val’, }; この動作はjavascriptの仕様からするとIE6の動作が正しく、本来であれば末尾のカンマは記述できません。 これは他言語でJSONを扱う場合でもエラーになるので注意してください。 また、Arrayの場合、Fxは上記と同じく要素が存在しないものと認識しますが、IE6は未定義値が定義されていると解釈
ついに本連載の最後となりました。今回のテーマはJavaScriptの設計スタイルです。 JavaScriptで様々なアクションを実現しようとすると,ブラウザによって挙動が異なったり,場合によっては動かない場合があります。例えば,標準化されているW3C DOMといえども,ブラウザの種類やバージョンによってその実装の度合が異なるからです。 今日,様々なブラウザがあふれており,またそれらのバージョンも多岐にわたります。すべてのブラウザ,そしてすべてのバージョンで全く同じように動くようにするというのは,もはや現実的ではありません。 そこで,近年,Unobtrusive Scriptingと呼ばれるスクリプティングの考え方が注目されるようになりました。"Unobtrusive"は,"でじゃばらない","控え目な","つつましい"といった意味を持っています。 Unobtrusive Scripting
接続してきたブラウザの画面サイズを元にHTMLのレイアウトを調整したい場合に使用するJavaScript。 今回は、textareaを画面サイズに応じて調整したかったので、実装しました。 材料(コード)を揃えます ブラウザ画面サイズを取得して、対象となるHTML要素のサイズを設定する... ために必要な材料(コード)を用意していきます。 画面サイズを取得するjavascript関数 function getBrowserWidth() { if ( window.innerWidth ) { return window.innerWidth; } else if ( document.documentElement && document.documentElement.clientWidth != 0 ) { return document.documentElement.clientW
最終更新: 2018年8月2日 目次 結論 実験 実験結果一覧表 古いブラウザでの実験結果 結論 以下のように求められます。 ※ IE6, 7, 8は対象外です。 1. 表示領域の幅 (スクロールバー含まず) = document.documentElement.clientWidth; $(window).width(); // jQuery 2. 表示領域の高さ (スクロールバー含まず) = document.documentElement.clientHeight; $(window).height(); // jQuery 3. 表示領域左上のX座標 (文書左端から表示領域左端までの距離) = window.pageXOffset; window.scrollX; // pageXOffsetと同等(エイリアス) $(window).scrollLeft(); // jQuery
※ 画面は公式サイトデモより JavaScriptのデバッグによく利用されるものと言えば、alertだろう。簡単に使えて便利な関数だが、ブラウザの処理が止まってしまったり、長文の表示が難しいなどデメリットも数多い。 alertとお別れするためのJavaScriptデバッグツール そこで使ってみたいのがBlackbirdだ。Google Code上で公開されているオープンソースのJavaScriptアラートだ。 Blackbirdは見た目の格好いいフローティングダイアログにログを表示できる。デバッグ、インフォ、ウォーニング、エラー、プロファイルの5つのメッセージパターンが設定できる。Blackbirdのウィンドウでは各メッセージタイプの表示、非表示が切り替えられるようになっている。 表示位置の変更、表示するメッセージの種類が変更できる さらにF2キーを押して表示/非表示を切り替えたり、Shi
We advocate using CSS whenever possible, and we often successed. Modern browsers have very good support for CSS -- it's certainly good enough for you to use CSS to control layout and presentation. Sometimes however, certain page elements will appear differently in different browsers. Don't worry too much if you don't know the reason why, play around with the CSS rules and check out this post: Usin
オブジェクト検出によるブラウザ判定 オブジェクトが使用できるかによって、ブラウザを判定します。 オブジェクトが使用可の場合にTRUE、使用不可の場合にFALSEが返ります。 ⇒ UserAgentによるブラウザ判定 サンプルを見る<script type="text/javascript"> if(document.all){ /* Internet Explorer */ brw = "IE"; }else if(document.getElementById){ /* Firefox, Netscape Navigator 6以上 */ brw = "NN6"; }else if(document.layers ){ /* Netscape Navigator 4 */ brw = "NN4"; }else{ /* その他ブラウザ */ brw = "U
WebアプリケーションのデバッグツールとしてはFirebugが有名だ。FireBugを使うことでJavaScriptの実行のみならずCSSやHTMLのデザインも調査できる。もはやWebアプリ開発には欠かせないツールだ。Firebugをベースにして開発されたYSlowもWebサイトのパフォーマンスを分析するツールとして代表的存在といえる。 クロスブラウザデバッグツール NitobiBug FirebugもYSlowもとても便利なツールだが、問題はFirefoxのアドオンとして実装されているということだ。Firefoxのシェアは純増しているとはいえ、Net Applicationsの調査によればIEのシェアは73%をこえている。6%のシェアを突破したSafariの存在も無視できない。そこでデバッグツールとしてクロスブラウザで動作するNitobiBugに注目してみたい。 NitobiBugはNi
元ネタ。 実用 - 内容に合わせて伸縮するテキストエリア http://d.hatena.ne.jp/brazil/20071004/1191432582 それ、Opera にも!*1 <script> fittingTextarea(document.getElementById('main')); function fittingTextarea(target){ var MIN = target.clientHeight; var clone = document.body.appendChild(document.createElement('pre')); with(clone.style){ visibility = 'hidden'; width = target.clientWidth + 'px'; } setInterval(function(){ /*@cc_on c
Summary ブラウザ 表示モード 表示領域の幅を取得するプロパティ 表示領域の高さを取得するプロパティ IE 6 標準 document.documentElement.clientWidth document.documentElement.clientHeight IE 6 互換 document.body.clientWidth document.body.clientHeight FireFox 1.5 標準 document.documentElement.clientWidth document.documentElement.clientHeight FireFox 1.5 互換 document.body.clientWidth document.body.clientHeight Opera 9 標準 document.body.clientWidth documen
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く