htsign's blog

ノンジャンルで書くつもりだけど技術系が多いんじゃないかと思います

Surface重量計算機

ありそうでなかったっぽい(もしかしたら検索力不足かも)ので作りました。 自分が調べたかったので、そのついでです。 (function(global){ var catalogue = [ { name: "Surface RT", type: "gen1", weight: 680 }, { name: "Surface Pro", type: "gen1", we…

PlayMemories Homeが酷すぎる

Windows用 PlayMemories Homeがあまりにもお行儀悪すぎる。メニューから「終了」選んでもプロセスは終了しないし、常駐してると常にある程度CPUリソース使うし、ほっとくと数GBメモリ食うし、管理ディレクトリ配下に大量のmoddファイルを生成するし。— とこ…

言語名が思い出せない

html head title body divみたいな感じにPythonっぽくインデントだけで階層作っていってHTMLで出力させる テンプレートエンジンみたいなのあった気がするんだけど、名前を忘れた。 中身のない記事で本当に申し訳ない。反省はしていない。

DOMParser と XMLSerializer

DOMParserは覚えてるけどXMLSerializerをしょっちゅう忘れちゃうのでメモ。 var parser, serializer; var input, output; var dom; input = '<div id="test"><p>hogehoge</p></div>'; parser = new DOMParser(); try { dom = parser.parseFromString(input, "text/html").getElementById(…

テキストをパースして要素に追加する処理比較

有名なのはinnerHTMLですね。 ただ、これ以外にもテキストを評価してDOMツリーに追加する方法がありますので、今回はこれをやってみました。単純にループで同じメソッドおよびプロパティ操作をしているだけです。 試行回数は1000回ですが、これはinnerHTMLの…

いろんなガジェット系海外通販サイトを横断検索できるページ作りました

一部POSTでしかリクエストを受け付けない検索ページがあったのでびっくりするほどややこしい作りになりました。 例によって設計せずに組み始めたため、非常に可読性の低いコードになったと思いますが、別にそんなことはどうでもいいです。 比較的簡単に検索…

Windows Storeからインストールしたはずなのにスタート画面に現れず、起動もアンインストールもできなくなってしまったアプリを消す方法

Windows Storeアプリ、個人的には好きです。 特にWindows RT搭載のタブレットだと、機能拡張はほとんどこれのみになるので*1使わざるを得ないという向きもありますが。さて、Windows 8/Windows RTのリリース直後は結構ストアがトラブってて、アプリをストア…

はてなダイアリーでキーワードポップアップ

Greasemonkey用スクリプト「キーワードポップアップ」の配布について - はてなダイアリー日記ずいぶん昔の記事ですが、はてなさんはこんなの出してたんですね。 これを他のブラウザでも動くようにちょちょいと改造しましたよっていうのが今回のエントリ。 詳…

マルチメディア要素へのリンクのクリックイベントに<audio>や<video>なウィンドウをポップアップする機能をオーバーライドするブックマークレット

たぶんこれで完成形。比較的新しいAPIをフル活用しているので、動かなかったらそんなブラウザを使っている自分が悪いと思ってください。 一応IE10とChrome26で動作を確認しています。 Firefox20ではちょっと確認した限り動作しませんでした。まぁFirefoxはク…

ちょっとした方針変更

今までブックマークレットは自力で短くなるよう書いてきましたが、異常にめんどくさいのと、ちょっとミスるとすぐシンタックスエラーになってしまうので非常にだるかったのです。 まぁその分、機械的な圧縮では不可能なアルゴリズムの最適化とかできたわけで…

MIMEタイプがaudio/xxxやvideo/xxxなときにやをどうにかこうにかするスクリプトを改造した

以前書いたのは<a>の直後にエレメントを追加して直接ページ上で再生するやつだったけど、今回のはwindow.openを使って子ウィンドウを作るタイプにした。こっちの方がスタイルシートの影響範囲をいちいち考えなくて済むから楽かもしれない。audio/xxxやvideo/xxx</a>…

【更新】IPAddressSetter v1.1.6

前回のアレ、名前を変えました。 あまりにもあんまりな名前だったので、英語使って洒落てみたつもり。あんまり変わってない。https://dl.dropbox.com/u/414379/script/IPAddressSetter.hta 説明とか 今回プリセット機能が追加されました。 DHCP有効のときは…

HTAでIPアドレスを変更するアプリ作った

弊社の私が在籍している部署では、業務上WindowsパソコンのIPアドレスを非常に頻繁に書き換えます。 書き換えると言っても、大体192.168.1.***か10.0.0.***なので ぶっちゃけバッチスクリプトで十分なのですが、そこはそれ。どうせやるならそれなりに使える…

MIMEタイプが audio/xxx か video/xxx なファイルをで直接参照していた場合にやを直後に追加するスクリプト

あっちの界隈でよくあるADV*1なんかだと、公式サイトのキャラ紹介にmp3なファイルが直接置かれている場合が少なくありません。 特にIEさんやFxさんはこの手のものに出会うと、デフォルトでは一旦DLしてローカルの別のアプリケーションで再生する、という挙動…

ELECOM Obsidian

ELECOM 5ボタンワイヤレスレーザーマウス “OBSIDIAN(オブシディアン)" チルト機能搭載 ホワイト M-GE3DLWH [PC]出版社/メーカー: エレコム発売日: 2010/09/08メディア: 付属品 クリック: 3回この商品を含むブログを見るこのマウスがユニットコム系列の店で98…

【修正版】httpやttpやtpなリンクのないURLにリンクを付けるありきたりなスクリプトを回りくどいコードで書いた

前回載せたスクリプトのバグ修正が完了したので再掲。原因はなんとなくだけど検討ついたので、とりあえず書き換えてみたら見事正常に機能するようになりました。 while ((regRes = pattern.exec(self.textContent)) !== null) { var a = document.createElem…

httpやttpやtpなリンクのないURLにリンクを付けるありきたりなスクリプトを回りくどいコードで書いた

主に自分で使う用に。 よく出回ってるようなコードは "簡素だけどDOM標準は無視" というのが多かった(大体innerHTMLをreplaceしてる)ので、ならばと自分で書きました。 (function(){ // Rangeが使えなければ意味が無いので、ここで一旦判定をしています。 …

一部の記号を使わずにゾンビウィンドウを作ってみる

今日、仕事でWindowsCEを搭載した電話機を触ってた。 ブラウザ機能があって、IE5.5か6相当のレンダリング機能を有したWeb体験を提供してくれる。で、筐体が電話機なもんだからキー入力がとても辛い。ガラケーよりキツい。 その上記号が全然打てない。 具体的…

マウスオーバーで表示が変わるやつをCSSで実現

たぶんとっくにやってる人は掃いて捨てるほどいそうだけど、何となく書いた。 <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"> <head> </head></html>

JavaScriptだけでUser-Agentを偽装してWebページを取得する

初めに、IE9以上でしか動きません。 しかもバグ持ちで、ページによっては画面が真っ白になることがあります。 同じスクリプトを2回実行すると直る可能性あり。ちなみに Google News でテストしました。ということで、スクリプトです。 (function(){ if (docu…

がある場合の対処

超適当に書いた。 下のコードに特に意味はない。 (function(wnd){ var frms = wnd.frames || wnd.document.frames, len = frms.length; if (len>=1) { for (var i=0; i

ゾンビウィンドウ

誰でも一度は作ったことがある <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"> <head> </head></html>

久しぶりにJavaScript書いてた

IE10、Googleトップページで試したんだけど、 document.removeChild(document.doctype); で一旦本来の DocumentType を削除して、 var doctype = document.implementation.createDocumentType( "html", "-//W3C//DTD HTML 4.01 Transitional//EN", null); do…

jQueryのような $ を使えるようにするスニペット作ってみた

jQueryの $() 関数はすごく便利です。 prototype.js にも似たようなのがありますが、使ったことがないので割愛。ともあれ、jQueryのアレを使うような感じで $ を使えるようにするスニペットを書いてみました。 var $ = function(str, target){ if (typeof st…

insertRuleメソッドについて

HTMLStyleElement の sheet プロパティは常に存在するわけではないらしい。 var s = document.createElement("style"); // この時点ではまだ存在していない console.log(s.sheet); // ==> null s.sheet.insertRule("#hoge{box-shadow:1px 1px #333;}", 0); /…

Rangeオブジェクトの速度に対するちょっとしたテスト

同じ個所に複数のノードを追加する場合でも、 なぜかRangeオブジェクトで範囲とって一気に追加するよりもinsertBeforeメソッドの方が全体的に速かったみたいです。 内部的な処理は少ないと思うんだけどなぁ…。なんか悲しい。 var doc = document; var hoge =…

window.open で生成した DOMWindowオブジェクトのDOCTYPEを指定する

完全に趣味の範囲ですが…。下記コードで使われることになる document.implementation ですが、主要ブラウザはほぼ対応しています。 ただしIE8のみDOMImplementationは存在しているのに、メソッドがないという謎な状況になっています。 // wnd に DOMWindowを…

キャレット位置を指定するメソッドを作った

正直今更感がすごいけど、自分用メモとして。 HTMLTextAreaElement.prototype.setCaret = HTMLInputElement.prototype.setCaret = function(pos){ if (this.tagName.toLowerCase()==="input") { if (this.type!=="text" || this.type) return this; } var le…

iOS端末でデバッグするためのブックマークレット

iOSに限らず、モバイルOSのWebブラウザってものすごくデバッグに不向きですよね。 一応iOSのMobile Safariには「デバッグコンソール」というモノがありますが、 アレは主にJavascriptのエラーを検出するのが目的のもので、デザインがうんたらには役に立ちま…

N9にアップデートが来ていた話

とりあえず軽くだけ。 このアップデートを充てると、FlasherでROM焼き時に「Downgrade Disallowed」と怒られて失敗するようになってしまいます←体験談 遊びたい方はアップデートをもう少し待った方がよさそう。詳細についてはあとで書く。

スニペット的な

備忘録として。 頭に0を付けて指定の文字数にするっての、結構手間取ったのでいろんな情報を元に自分なりのメソッド作ってみた。 これ見て助かる人がいれば幸い。 // p 桁のゼロパディングを行うメソッドを追加 Number.prototype.zPad = function(p) { // 与…

ビット演算による小数の整数化

http://d.hatena.ne.jp/babydaemons/20110629/JavaScript_without_Math_floor_function を読んでなんとなくやりたくなったのでやります。ご存知の通り、Javascriptでもビット演算はできます。 一般にビット演算は通常の四則演算よりも高速だと思われますので…

中華版Galaxy Tab 7.7から中華製サービスを追い出す

忌まわしいことに中華版はBaidu検索をはじめ、KaixinやRenrenといった中華製サービス向けアプリがてんこ盛りです。さらに酷いことにGoogleアカウント認証機能が備わっていません。*1 なので当然のごとくAndroid Marketなんて使えませんし(そもそも入ってな…

Zen-Coding勉強中

意地と根性でZen-Codingだけを使ってウェブサイトのひな形っぽいのを無理やり作ってみる。 html:5>#container>(header>img[alt=test title=logo]+nav>ul.menu.horizontal>li*4>a[href=top$.html])+(section#main>(#sidebar>nav>ul.menu.vertical>li*7>a[href…

本日のtracertログ

C:\Windows\system32>tracert ***.dyndns-ip.com ***.dyndns-ip.com [123.48.*.*] へのルートをトレースしています 経由するホップ数は最大 30 です: 1 <1 ms <1 ms <1 ms 192.168.1.1 2 492 ms 905 ms 1017 ms 119.113.144.1 3 981 ms 681 ms 771 ms 61.189…

またもやブックマークレット作った

初めてコンストラクタ・クロージャに手を出した習作ですが、割と本格的なコードになってきたのではないかなと思ってます。 javascript:(function(){var d=document,s=d.createElement("script");s.type="text/javascript";s.charset="UTF-8";s.src="http://d…

文字数カウンタを改造してみた

先日地味に公開してたアレ(d:id:htsign:20111116)をちょっと弄って外部CSSで読み込んでたスタイルをJS内で毎度指定するようにした。 処理的にはちょっと手間増えたけど、見た目全然変わらないレベル。 むしろCSSを別途読み込まないことで若干呼び出しが早く…

%LocalAppData% にたくさん作成されるランダムなGUIDのフォルダってなぁに?

一部の環境の方は写真のようなことになることがあります。 ちなみに写真の183個の項目のうち、178項目がフォルダで、その中の実に151項目が今回の現象で作られたGUIDのフォルダでした。 ノートだけだったときは検証機が1台しかなかったので 「このマシンに入…

今日もブックマークレット作った。

作った自分で言うのもなんだけど、これ結構便利。 javascript:(function(){var%20d=document,s=d.createElement("script");s.type="text/javascript";s.charset="UTF-8";s.src="http://dl.dropbox.com/u/414379/script/addStrLengthCheckDiv.js";(d.getEleme…

電源買い換えてきた

前回購入した電源の型番が「RP550」であるにもかかわらず容量が450Wっていうクソ仕様だったので 購入したショップに出向いて取り替えてもらった。ついでにいろいろ買った。今回買ったものは以下 Antec VP550P BASIC 本手*1 K8801 Razer*2 DeathAdder どこか…

キタコレURL短縮うんたらを使うブックマークレットを改造してみた

実は生まれて初めてjQuery(というかライブラリの類)を使った。 javascript:(function(){var i=0,d=document,e=["http://code.jquery.com/jquery-latest.min.js","http://dl.dropbox.com/u/414379/script/shortenwktkjQ.js"];for(;ijavascript";s.charset="…

いろいろ買ってしまいました

奥林匹克广场ってところでPCパーツをがっつりと。 価格調査するだけのつもりだったのに…。自分の自制心のなさに愕然とする('A`)買ったものは以下。 M/B: GIGABYTE GA-Z68P-DS3 CPU: Intel Core-i7 2600K MEM: tigo 金泰克*1 DDR3 4GB PC3-10600 *4枚 GPU: C…

wk.tk で閲覧しているページのURLを短縮するブックマークレット作ったよー (^o^)ノ

2ちゃんねるのスラングに由来した短縮 URL「wk.tk」が登場 - インターネットコム を見て。 javascript:(function(){var elm=document.createElement("script");elm.type="text/javascript";elm.charset="UTF-8";elm.src="http://dl.dropbox.com/u/414379/scr…