2013年10月31日木曜日

Tampermonkeyでは動くのに。crxにすると動かない。

Tampermonkeyでは動くのに、crxにすると動かない。Chromeの仕様に対する理解が足りてないため理由が分からない。目標はここで右クリックを出すことです。

////////manifest.json の中身↓Unicode (UTF-8) ////////

{
   "content_scripts": [ {
      "all_frames": true,
      "js": [ "EnableRightClick.js" ],
      "matches": [ "http://*/*", "https://*/*" ],
      "run_at": "document_end"
   } ],
   "description": "EnableRightClick",
   "name": "EnableRightClick",
   "manifest_version": 2,
   "permissions": ["http://*/*", "https://*/*"],
   "update_url": "http://clients2.google.com/service/update2/crx",
   "version": "1.0.0"
}

////////EnableRightClick.js の中身↓Unicode (UTF-8) ////////

(function (){
window.addEventListener("load", function(){
var detach = function (x,y) {
var d = function (e) {
e.oncontextmenu =
e.ondragstart =
e.onmousedown =
e.onmouseup =
e.onselect =
e.onselectionchange =
e.onselectstart = null;
};
for (y in x)
d(x[y]);
d(document);
d(window);
};
detach(document.getElementsByTagName("*"));
}, false);

})();




(⊃д⊂)えーんえーん (⊃д・)チラ (⊃д⊂)えーんえーん

2013年10月28日月曜日

Windows8 / Windows8.1で致命的なバグ!ファイル消滅の危険性!高速スタートアップを有効が危ない

Windows8もしくはWindows8.1を間に挟んで外付けハードディスクを用いてファイルを移動させようとすると、高速スタートアップを有効にしていた場合、ファイルが消滅する可能性があるそうです。



Windows8.1PCを2台(PC1とPC2)を用意し、どちらも高速スタートアップを有効にすると、

PC1でUSB3.0のHDDにファイルを作成して編集しシャットダウンしHDDを取り外す。
PC2に取り外したHDDを取り付けてPC1で作成したテキストファイルを編集して取り外し 、
PC1にHDDを繋いで起動しテキストファイルを開くとPC2で編集した内容が消えてる。

という恐怖の報告が。

高速スタートアップを無効にするとこの問題は起きない。
また高速スタートアップが有効でもシャットダウン前に取り外せば起きない 。
外付けHDDを複数のPCで使いまわす場合、危険性が非常に高い。


外付けHDDを 

XP → 8 → XP → 8 

と接続し、高速スタートアップを有効にしているとき、2回目のXP起動の時点で毎回Chkdsk(ダーティービット問題)がはじまり、8に戻すとファイルが消える・・・。

XP → 8 ここでやめておけば問題はないようです。 

XP → 8 → XP → 8 

この動作がヤバイ。

XPとWin8での例をあげていますが

Win8.1(PC1) → Win8.1(PC2) → Win8.1(PC1) → Win8.1(PC2)

でも起こるので超注意!!


しかばねになるのは避けたい!
早く修正してくれないと、HDD壊れたとき気軽にバックアップを戻せないですね。うっかりでファイルが消えるとか勘弁して下さいよ。高速スタートアップを無効化すればいいんだけれど10秒で起動する便利さを手放すのはちょっと抵抗がありますね。

危険回避するには

  1. 高速スタートアップを無効。
  2. シャットダウンして抜くのではなく、タスクバーからハードウェアを安全に取り外してメディアを取り外すを選択する。
  3. Windows8を使わない。
等の対策が求められます。
USBメモリでは起こらないそうです。
また内蔵HDDの入れ替えでも起こる可能性はあります。

気をつけましょう。

2013年10月25日金曜日

SYSTEM_THREAD_EXCEPTION_NOT_HANDLED (nvhda64v.sys)

Windows8.1にしてから再び、SYSTEM_THREAD_EXCEPTION_NOT_HANDLED (nvhda64v.sys)が復活しました。Sleepから復帰したり、再起動するとブルースクリーン(BSOD)が必発です。


これは日本ではあまり話題になっていませんが、海外ではMacBook Pro Retina 15 running Windows 8 in Boot Campのバグとして前からちらほら話題になっています。

Windows8の以前の環境ではNVIDIAドライバをアップデートし、NVIDIA High Definition AudioをBootcampについているバージョンの古いAudioドライバに入れ替えるだけ治りましたが、Windows8.1でまた復活しました。ドライバを古いバージョンにしようとするとまたエラーが出るのでこの方法はもうダメなんでしょう。

NVIDIA High Definition AudioはHDMI環境においてサウンドを送るドライバなので通常使用ではおそらく必要がないはずですので削除してもいいのかもしれません。Realtek High Definition Audioを最新バージョンに更新して残しておけばMBP付属スピーカーから音は出ます。最新にしなくてもいいけど。

以下のサイトからいくつかの対処方法を見つけたので列挙します。


  1. 電源管理でSleepを封印して、休止状態にする
  2. コントロールパネル→デバイスマネージャ→NVIDIA High Definition Audioを無効化
  3. コントロールパネル→デバイスマネージャ→NVIDIA High Definition Audioを削除
  4. nvhda64v.sys を nvhda64v.BAKという感じにリネームする
  5. 1回だけHDMIで接続し、規定に設定し、その後抜く前にスピーカーに規定を設定し直す
  6. 古いバージョンのドライバを入れなおす
  7. NVIDIAに修正案を送る。

https://developer.oculusvr.com/forums/viewtopic.php?f=34&t=594
https://discussions.apple.com/message/23280909#23280909
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13102685813
http://windows.fyicenter.com/2454_Windows_8_Blue_screen_on_startup.html
http://www.how-to-fix-errors.com/errors/fix-nvhda64v.sys-error-nvhda64v.sys-error-fix.html
https://discussions.apple.com/message/19466481#19466481
http://forums.macrumors.com/showthread.php?t=1425499

このように、色々と対策がねられているようですが、2番の無効化をまず試みて、ダメだったら削除でいいと思います。とりあえず、うちでは無効化にして再び出るようなら削除しようと思います。またすぐインストールできるものですしね。

OSのアップデートは毎回苦労することが多いです(´;ω;`)ウッ…

2013年10月23日水曜日

Windows8.1 Mavericks Bootcamp

AppleからOS 10.9に当たるMavericksが登場しました。

さっそくアップデートしてみましたが、さしたる変化を見出すことができませんでした。あえて言うなれば、バッテリー持続時間が10%向上したらしいです。正直、OSが変わるたびにアプリの入れなおしをするのがめんどくさいです。これだけはどうにかしてほしい。特にOnyX使えないのヤダ。

またiCloudキーチェーンという1PasswordやLastpassのようなパスワード管理ツールが標準インストールされたそうです。これはすごく便利そうですが、すでにLastpassを使っているとSecurityホールが2倍になるような気がしてなりません。

こちらに詳しい比較が乗っています。
http://applech2.com/archives/34200665.html
http://applech2.com/archives/34205771.html

あとついでにMBP RetinaのBootcamp上のWindows8をWindows8.1にアップデートしました。

これはMacよりかなりめんどくさい。アップデートで初期化の恐怖を与えてくれるのはMSぐらいです。クリーンインストールしようか、1時間ぐらい悩んだ。人柱様の情報を集めながら、インストールする前にいくつかめんどくさい処理をしました。

  1. 環境変数を元に戻す。
  2. Dataram RAMDiskをアンインストール。
  3. Classic Shellをアンインストール。
  4. DaemonToolsをアンインストール。
  5. MacTypeをアンインストール。
  6. 万が一の初期化に備え、ドライブを完全バックアップ。

RAMDiskと環境変数だけは致命的なエラーを引き起こすらしいので直しました。
そして、Storeからアップデート!!
Macに比べてものすごく長いです。

無事、インストールが成功し

  1. Dataram RAMDisk 4.2.0-RC1をインストール。
  2. 環境変数をRドライブに変更。
  3. NVIDIAドライバをアップデート。
  4. Classic Shellをインストールし復元。設定。
  5. DaemonToolsをインストールし、失敗。
  6. MacTypeをインストールし失敗。仕方なく、気合でインストールし、レジストリモードで設定
  7. ショートカットの矢印が戻っていたので、再び非表示に。
  8. Chromeがおかしいことに気づき、HiDPIの設定を試みる。
  9. 解像度を治すべく、すべてのディスプレイで同じ拡大率を使用するにチェックし大150%で設定
  10. iTunesをアップデート。正常に起動。
  11. CCleanを導入し、ゴミどもを削除。
  12. ディスクのクリーンアップでWindows.oldを削除。(なぜか8に比べて5GBほど空き容量が増えた。)
  13. ここで再び完全バックアップ。
半日かかった。

Windows8.1にして今のところ不具合が出ているソフトは
  1. MacType (レジストリモード以外だとエラー+表示が8と比べて微妙に異なる、スクリーンショットで比較してみましたがMacTypeのotfで文字が特に薄くなっている感じ。)
  2. Chrome (レイアウトが崩れる+フォント表示がどこかおかしい。)
この2つだけです。重に表示がおかしい。8とくらべて全く同じでないのが少し気になる程度です。よそのサイトのほうがいろいろ詳しく書いてありますが、MacBook Pro Retinaの一例という程度にお読みください!

あと不具合かどうかわかりませんが、Chromeの様子がどこかおかしい。文字が薄くなったのとタブ周りがちょっと変。

そして原因は多分これ・・・。
Windows8では正常だったのに!!

*2013/12/15追記
Chromeにおける既知の問題として扱われているようですが、スキンの変更などによって治せるとのことです。もしくはabout:flagsからHiDPIを有効にして我慢しろとのこと。
manifest.jsonに

 "manifest_version": 2,

の記載がないと起こりうるらしい。

以下、参考文献。
https://code.google.com/p/chromium/issues/detail?id=280447&q=windows%208.1%20tabs&colspec=ID%20Pri%20M%20Iteration%20ReleaseBlock%20Cr%20Status%20Owner%20Summary%20OS%20Modified

2013年10月17日木曜日

Chrome 拡張 おすすめ 2013秋 (Remove OnEvent 公開中)

Disconnect 2
DoNotTrackMeを使っていたんですが、Disconnectのほうが除外できる種類が豊富でかつ、ページ読み込み速度が速いという記事を見つけて乗り換え。実験してみましたがギズモード・ジャパンなどでは10%程度読み込み速度の向上が認められました。Ghostryと共存可能です。設定も必要が無いため、すごく簡単に導入できる点が最大のメリットかもしれません。UIが美しすぎる・・・。ちなみにDisconnect 2の2がなくても同じものですよ!


ContentBlockHelper
AdBlockやAdBlock Plusよりも同じフィルタを使っていても読み込み速度がかなり速いらしい。また日本製でかなり改良が加えられています。ただ設定画面が重く、UIが洗練されていないのが残念です。UIは普通のAbBlockが好きなのでAdblock EdgeのChrome版を密かに期待しています。


Select Search
FastestFox - 最速ウェブサーフィンを使っていたんですが、挙動が怪しかったためアンインストールしました。検索ワードに関するTraceをしていたようで、そのTraceがAdblock.iniとDisconnectに防がれていたため、最近では機能そのものが封じられてしまっていた。そんなときみつけたのがSelect Searchです。選択したテキストワードをそのまま好きな検索エンジンに飛ばすことができます。設定次第でどんな検索エンジンでも組み込める拡張性の高さがお勧めです。pingもみましたが、怪しい挙動もなく良い子。


SmoothScroll
スクロールがMacに近くなる。ただそれだけ。レビューによるとページ内に広告を挿入する疑惑があるらしい。

Pig Toolbox (Super Gestures)
Chrome Toolboxの機能やジェスチャーなどいろいろな機能が入った拡張機能です。詳しい解説は省きますが、Chrome Toolboxの代わりの機能だけ使っています。ジェスチャーはSmoothGesture15.4のMalware除去バージョンが最強だと思っています。

Mark Ads as Read for Feedly
Feedlyにおける広告フィードを強制的に既読にします。「PR:」「AD:」「[PR]」のようなプレフィックスを含む記事を自動的に弾く感じです。超オススメ。

AutoReplaceHTML
HTMLを強制的に書き換えます。HTTPSでは使えません。JavaScripstを書き換えると当然実行されないので、邪魔なコードを消すのに使っています。

Don't track me Google (UserScript)
どれだけTracking嫌いなんだお前って思われるかもしれませんが、嫌いです。Google検索時のリンク先をDirectに書き換えて1クッション減らすことで、接続がほんの少し速くなります。詳細はリンク先でどうぞ。Tampermonkeyで使えます。ちなみにChrome拡張版はこちらです。

Remove OnEvent (自作UserScript版)
Remove OnEvent (Chrome拡張版)
OncopyやOncut, Onpaste, OnselectstartなどのEventを削除します。またAutoComplete=offが嫌いなので、AutoCompleteそのものを削除します。そもそもChrome用のUserScriptとして作りたかったんですが、どうも動かない。Chromeは@Requireが使えないということにあとになって気づいたが、どうしていいか分からないため、Tampermonkeyで仕方なく使っています。Chromeで動くUserScriptに書き換える方法を教えてくださる方いらっしゃったら・・・m(_ _;;)m
匿名で親切な方が教えて下さいました!!!!!感謝ですヾ(*'ω'*)ノ
以下はスクリプトのソースになります。内容をご確認の上で、よろしければお使いください。
5ドルがもったいなくてChromeストアでは公開していないため、野良アプリです。

  1. $(document).ready(function() {
  2.      $('*[oncut]').removeAttr('oncut');
  3. });

  4. $(document).ready(function() {
  5.      $('*[oncopy]').removeAttr('oncopy');
  6. });

  7. $(document).ready(function() {
  8.      $('*[onpaste]').removeAttr('onpaste');
  9. });

  10. $(document).ready(function() {
  11.      $('*[onselect]').removeAttr('onselect');
  12. });

  13. $(document).ready(function() {
  14.      $('*[onselectstart]').removeAttr('onselectstart');
  15. });

  16. $(document).ready(function() {
  17.      $('*[oncontextmenu]').removeAttr('oncontextmenu');
  18. });

  19. $(document).ready(function() {
  20.      $('*[autocomplete]').removeAttr('autocomplete');
  21. });
Input[OnEvent]から*[OnEvent]に変更しました。これにより、少ないとは思いますが、一部で動かないゲーム等のページが出てくると思いますので、注意してお使いください。*を好きなHTML要素にかえることで自由に設定できます。

2013年10月14日月曜日

ニコニコ動画とAdblock

ニコニコGINZAになってからAdBlock用Optional element-hiding filters against ADsを使っていると、ニコニコ動画が見れなくなってしまった。

原因を調べたところ
##[class*="_ads_"]:not(body):not(input)
##[class$="_ads"]:not(#content):not(#playerCommentPanel):not(body):not(input)
この2行が悪さをしている様子です。

フィルタリストからこの行を削除すれば無事みれるようになるんですが、
ホワイトリスト化するにはどう変換していいか分からない・・・

#@#[class*="_ads_"]:not(body):not(input)
#@#[class$="_ads"]:not(#content):not(#playerCommentPanel):not(body):not(input)
とかにして無効化されるかな。。。
これからちょっと研究してみます。