MW211 EXIT

devlog
JavaScript/ブラウザ判別法
2013年12月30日
使用されているブラウザがどれかを確認する、JavaScript関数は以下の通り。
┌──────────────────────────────────────┐
│function getBrowser() {                                                     │
│    var browser = 'unknown';                                                │
│    var userAgent  = window.navigator.userAgent.toLowerCase();              │
│    var appVersion = window.navigator.appVersion.toLowerCase();             │
│    if (userAgent.indexOf('firefox') != -1) {                               │
│        browser = 'firefox';                                                │
│    } else if (userAgent.indexOf('chrome') != -1) {                         │
│        browser = 'chrome';                                                 │
│    } else if (userAgent.indexOf('safari') != -1) {                         │
│        browser = 'safari';                                                 │
│    } else if (userAgent.indexOf('opera') != -1) {                          │
│        browser = 'opera';                                                  │
│    } else if (userAgent.indexOf('msie') != -1) {                           │
│        if (appVersion.indexOf('msie 6.') != -1) {                          │
│            browser = 'ie6';                                                │
│        } else if (appVersion.indexOf('msie 7.') != -1) {                   │
│            browser = 'ie7';                                                │
│        } else if (appVersion.indexOf('msie 8.') != -1) {                   │
│            browser = 'ie8';                                                │
│        } else if (appVersion.indexOf('msie 9.') != -1) {                   │
│            browser = 'ie9';                                                │
│        } else if (appVersion.indexOf('msie 10.') != -1) {                  │
│            browser = 'ie10';                                               │
│        } else {                                                            │
│            browser = 'ie';                                                 │
│        }                                                                   │
│    } else if (userAgent.indexOf('trident/7') != -1) {                      │
│        browser = 'ie11';                                                   │
│    }                                                                       │
│    return browser;                                                         │
│};                                                                          │
└──────────────────────────────────────┘
昔は「document.all」があること(「if (document.all)」)で、
IEを判別したりしていたが、「IE11」から「document.all」がなくなったので
その手法は使えなくなってしまった。
ついでに言えば、「IE11」から「msie」のユーザエージェント名もなくなっている。
分類:JavaScript
Windows/裏メニュー
2013年12月29日
フォルダ右クリックによるメニュー表示の際に、「shift」キーを押しておくと
裏メニューが表示される。

・「コマンドウィンドウをここで開く」
  →当該フォルダに移動した状態で「コマンドプロンプト」が表示される

・「パスとしてコピー」
  →当該フォルダのパスがクリップボードに記録される(貼り付ければ使える)
分類:Windows
jQuery/チェック関数の実装
2013年12月26日
submit時に入力チェックを実装したい場合には、以下のように実装する。
┌──────────────────────────────────────┐
│<input type="submit" name="command" value="実行"                            │
│                                          onclick="return チェック関数();"/>│
├──────────────────────────────────────┤
│$(':submit[value="実行"]').click(function() {                               │
│    return チェック関数();                                                  │
│});                                                                         │
└──────────────────────────────────────┘
上記いずれかであればよい。(jQueryを使わない例と使う例)
チェック関数でfalseを返せば、submitは行われない。
分類:jQuery
JavaScript/IE11でdocument.all廃止
2013年12月24日
IE11では「document.all」が廃止になった。
「document.getElementById」で代用できる。

っていうか、「document.getElementById」のIE独自路線が
「document.all」だったっていう言い方もできる。

統一されてきているみたい。
分類:JavaScript
JavaScript/substr()の負数
2013年12月23日
「substr()」メソッドに負数を指定すると、右からの切り抜きを指定できる。
┌──────────────────────────────────────┐
│('123').substr(-2)                                                  →「23」│
└──────────────────────────────────────┘

以下の省略形のようなものだ。
┌──────────────────────────────────────┐
│('123').substr(('123').length - 2)                                  →「23」│
└──────────────────────────────────────┘

ただし、これは過去にIE系ではサポートしていなかった。
IE8はダメで、IE9からはOKだ。

「slice()」メソッドなら負数を指定することができる。
┌──────────────────────────────────────┐
│('123').slice(-2)                                                   →「23」│
└──────────────────────────────────────┘
「slice()」は配列の一部として文字列を切り出すってことだ。
分類:JavaScript
IE/ウインドウサイズ変更
2013年12月22日
IEのウインドウサイズを数値指定したい場合、「IE10」までは「F12」で起動する
デバッグツールの「ツール」→「サイズ変更」で、
一般的なサイズ(1024×768など)に変更できた。

ところが、「IE11」からこのデバッグツールの仕様が変わったらしく
やり方がわからない。

どうしたものかと途方に暮れていたが、
JavaScriptを直接URLに打ち込めばいいとわかった。

例えば、こんな感じ。(コピペで「javascript:」が削られる場合には手入力で)
┌──────────────────────────────────────┐
│javascript:resizeTo(1024,768)                                               │
└──────────────────────────────────────┘

これなら、どんなサイズでも数値入力で指定が可能になる。

しかも、「お気に入り(Bookmark)」のプロパティで
「URL」にこれを設定すれば、いちいち手入することなく
「お気に入り(Bookmark)」の選択で、サイズ変更ができてしまう。

これは便利!
分類:ブラウザ
JavaScript/伏せ字変換
2013年12月21日
伏せ字にしたい場合、password属性のinputタグを使えばそれを実現できるので
CSSをいじって(入力欄ぽい修飾を落として)ごまかしたところ、
横幅が可変にならない。
inputタグの入力欄なので外枠は固定で、中身が横スクロールしてしまうからだ。

ということで、関数で変換するものを作ってみた。
┌──────────────────────────────────────┐
│function omission(inWord) {                                                 │
│    var outWord = '';                                                       │
│    for (var i = 0; i < inWord.length; i++) {                               │
│        outWord += '●';                                                    │
│    }                                                                       │
│    return outWord;                                                         │
│}                                                                           │
└──────────────────────────────────────┘
分類:JavaScript
jQuery/minとかpackとか
2013年12月19日
jQueryには、以下の三つの形式がある
┌───────────┬──────────────────────────┐
│uncompressed(非圧縮版)│例)jquery-1.3.2.js                                 │
├───────────┼──────────────────────────┤
│minified    (軽量版)  │例)jquery-1.3.2.min.js                             │
├───────────┼──────────────────────────┤
│packed      (圧縮版)  │例)jquery-1.3.2.pack.js                            │
└───────────┴──────────────────────────┘

性格的分けすると以下のような感じとなる。
┌───────────┬───┬───┬───┐
│                      │サイズ│ 速度 │可読性│
├───────────┼───┼───┼───┤
│uncompressed(非圧縮版)│× 大 │△ 中 │○ 良 │→研究用
├───────────┼───┼───┼───┤
│minified    (軽量版)  │△ 中 │○ 速 │× 難 │→実務用
├───────────┼───┼───┼───┤
│packed      (圧縮版)  │○ 小 │× 遅 │×超難│
└───────────┴───┴───┴───┘
「uncompressed」を可読性を無視して圧縮したのが「minified」。
それを変換までしてさらに圧縮したのが「packed」。
「packed」までしてしまうと、元に戻すのブラウザ側で処理する必要があるので
逆に遅くなってしまうということ。
(但し、サーバ側のサイズを極限まで小さくできる利点がある)

とはいえ、「Ver1.3.2」を最後に「packed」はリリースされてない模様。
廃止となった?(違う方式へ移行した?)
分類:jQuery
jQuery/IE11のAjaxがローカルで動かない
2013年12月18日
IEをIE10からIE11にしたところAjaxが動かなくなった。

Apache上の場合は問題ないのだが、直接「.htm」ファイルを開いて動作させたところ
これまでAjax($.get())が普通に使えたのに、うんともすんともいわなくなった。

原因はjQueryのバージョン、というかjQueryはこれに対応してくれていたんだね。
  (「jquery-1.10.1.min.js」→)「jquery-1.11.0.min.js」
にバージョンアップしたところ、これまで通り動作するようになった。
                                                            (2014年01月30日記す)
分類:jQuery
Windowsログ/シャットダウン時のログ
2013年12月17日
PCの電源を切る時に、「スタート」メニューから、「シャットダウン」を選ぶ。

この時、Windowsログにはどんなメッセージが出力されているのか?
Windows7で調べてみた。

イベントビューアーから、Windowsのログを見る。
┌──────────────────────────────────────┐
│イベントビューアー                                                          │
│└Windowsログ                                                               │
│  └システム        ←★                                                    │
└──────────────────────────────────────┘

こんなログが出ている。
┌──────────────────────────────────────┐
│次の理由で、プロセス Explorer.EXE は、                                      │
│ユーザー ■■ の代わりに、                                                  │
│コンピューター ■■ の 電源を切る を始めました                              │
│: その他 (計画外)                                                           │
│ 理由コード: 0x0                                                            │
│ シャットダウンの種類: 電源を切る                                           │
│ コメント:                                                                  │
├──────────────────────────────────────┤
│次の理由で、プロセス C:\Windows\system32\winlogon.exe (■■) は、           │
│ユーザー ■■ の代わりに、                                                  │
│コンピューター ■■ の 電源を切る を始めました                              │
│: この理由のタイトルが見つかりません                                        │
│ 理由コード: 0x500ff                                                        │
│ シャットダウンの種類: 電源を切る                                           │
│ コメント:                                                                  │
└──────────────────────────────────────┘
「Explorer.EXE」がシャットダウンをしてくれているみたいだ。
シャットダウン理由は「その他 (計画外)」となっている。
分類:Windows
前へ 1 2 次へ