{"id":543,"date":"2012-10-11T02:45:54","date_gmt":"2012-10-10T17:45:54","guid":{"rendered":"http:\/\/appsweets.net\/blog\/?p=543"},"modified":"2012-10-11T17:31:12","modified_gmt":"2012-10-11T08:31:12","slug":"the-heavenly-school-2","status":"publish","type":"post","link":"http:\/\/appsweets.net\/blog\/2012\/10\/11\/the-heavenly-school-2\/","title":{"rendered":"the heavenly school #2"},"content":{"rendered":"<div class=\"856f7bdf6ce2541193600c6e03dd1a56\" data-index=\"1\" style=\"float: left; margin: 16px 16px 16px 0;\">\n<script type=\"text\/javascript\"><!--\r\ngoogle_ad_client = \"ca-pub-5825700137064158\";\r\n\/* 250sq, appsweets-blog *\/\r\ngoogle_ad_slot = \"4837931762\";\r\ngoogle_ad_width = 250;\r\ngoogle_ad_height = 250;\r\n\/\/-->\r\n<\/script>\r\n<script type=\"text\/javascript\"\r\nsrc=\"http:\/\/pagead2.googlesyndication.com\/pagead\/show_ads.js\">\r\n<\/script>\n<\/div>\n<p>\u305d\u3046\u3044\u3046\u308f\u3051\u3067\u3044\u308d\u3044\u308d\u8abf\u3079\u3066\u307f\u308b\u3068:<\/p>\n<ul>\n<li>\u8a00\u3046\u307e\u3067\u3082\u306a\u304f\u3001vimperator\/pentadactyl \u306f Firefox \u306e UI \u3092\u9650\u308a\u306a\u304f vim \u306b\u8fd1\u3065\u3051\u308b\u30a8\u30af\u30b9\u30c6\u30f3\u30b7\u30e7\u30f3\u3060\u3002\u3061\u306a\u307f\u306b\u30b0\u30b0\u3063\u305f\u9650\u308a\u3067\u306f\u3001vimperator \u306f Firefox \u3092\u300cvim \u307f\u305f\u3044\u306a Firefox\u300d\u306b\u3059\u308b\u306e\u304c\u30b4\u30fc\u30eb\u306a\u306e\u306b\u5bfe\u3057\u3001pentadactyl \u306f\u300cweb \u30da\u30fc\u30b8\u3092\u898b\u3089\u308c\u308b vim\u300d\u306b\u3059\u308b\u306e\u304c\u30b4\u30fc\u30eb\u306e\u3088\u3046\u3060<\/li>\n<li>\u3053\u306e\u624b\u306e\u30a8\u30af\u30b9\u30c6\u30f3\u30b7\u30e7\u30f3\u306e\u5bbf\u547d\u3068\u3057\u3066\u3001\u30ad\u30fc\u30dc\u30fc\u30c9\u5165\u529b\u306f\u8ab0\u306e\u3082\u306e\u304b\u3092\u5e38\u306b\u610f\u8b58\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u3002web \u30da\u30fc\u30b8\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u3067\u30cf\u30f3\u30c9\u30ea\u30f3\u30b0\u3067\u304d\u308b\u4ee5\u4e0a\u3001\u672c\u8cea\u7684\u306b\u306f web \u30da\u30fc\u30b8\u4e0a\u306e\u30ad\u30fc\u30dc\u30fc\u30c9\u5165\u529b\u306f\u305d\u306e web \u30da\u30fc\u30b8\u306e\u3082\u306e\u3060\u3002vimperator \u306e\u3088\u3046\u306a\u30a8\u30af\u30b9\u30c6\u30f3\u30b7\u30e7\u30f3\u306f\u3001web \u30da\u30fc\u30b8\u304c\u30ad\u30fc\u30dc\u30fc\u30c9\u5165\u529b\u3092\u51e6\u7406\u3057\u3066\u3044\u306a\u3044\u5834\u5408\u306e\u307f\u6210\u308a\u7acb\u3064\u3002wasavi \u306f\u305d\u308c\u81ea\u8eab\u304c\u5168\u3066\u306e\u30ad\u30fc\u30dc\u30fc\u30c9\u5165\u529b\u3092\u51e6\u7406\u3059\u308b\u306e\u3067\u3001\u5f53\u7136\u4e21\u7acb\u3057\u5f97\u306a\u3044<\/li>\n<li>vimperator \u5074\u3067\u306f\u3001liberator.modules.modes.passAllKeys \u306b true \u3092\u4e0e\u3048\u308b\u3053\u3068\u3067\u3001vimperator \u306e\u52d5\u4f5c\u3092\u30b9\u30eb\u30fc\u3055\u305b\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3002\u307e\u305f\u3001vimperator \u306b\u306f\u30d7\u30e9\u30b0\u30a4\u30f3\u306e\u6a5f\u69cb\u304c\u3042\u308a\u3001\u4f8b\u3048\u3070\u30bf\u30d6\u3092\u5207\u308a\u66ff\u3048\u305f\u3068\u304d\u306b\u4efb\u610f\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u8d70\u3089\u305b\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3002\u30d7\u30e9\u30b0\u30a4\u30f3\u306f ~\/.vimperator\/plugin\uff08windows \u74b0\u5883\u3067\u306f %HOME%\\vimperator\\plugin\uff09\u306e\u4e0b\u306b\u7f6e\u304f<\/li>\n<li>wasavi \u304c\u30da\u30fc\u30b8\u4e0a\u306b\u751f\u6210\u3055\u308c\u305f\u304b\u3069\u3046\u304b\u306f\u3001http:\/\/wasavi.appsweets.net\/ \u3092\u30bd\u30fc\u30b9\u306b\u6307\u3059 iframe \u304c\u5b58\u5728\u3059\u308b\u304b\u3001\u3067\u3068\u308a\u3042\u3048\u305a\u5224\u65ad\u3067\u304d\u308b<\/li>\n<li>\u3064\u307e\u308a\u30d7\u30e9\u30b0\u30a4\u30f3\u3068\u3057\u3066\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u3067\u3001DOM \u306e\u5909\u66f4\u3092\u76e3\u8996\u3057\u3001wasavi \u306e iframe \u304c\u751f\u6210\u3055\u308c\u305f\u3089 passAllKeys = true \u306b\u3059\u308b\u3088\u3046\u306b\u3059\u308c\u3070\u3044\u3044\u306f\u305a\u3060\u3002<\/li>\n<\/ul>\n<p>\u3068\u3044\u3046\u3053\u3068\u3067\u305d\u3093\u306a\u611f\u3058\u3067\u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u66f8\u3044\u3066\u307f\u305f\u306e\u3060\u304c\u3001\u3046\u307e\u304f\u884c\u304b\u306a\u3044\u3002document.body \u76f4\u4e0b\u306b iframe \u304c\u8ffd\u52a0\u30fb\u524a\u9664\u3055\u308c\u305f\u304b\u3069\u3046\u304b\u76e3\u8996\u3059\u308b\u305f\u3081\u306b\u3001MutationObserver \u3092\u751f\u6210\u3057\u3001observe() \u3059\u308b\u3002<br \/>\n\u3068\u3053\u308d\u304c\u3053\u308c\u304c\u5931\u6557\u3059\u308b\u3002MutationObserver#observe() \u3059\u308b\u306b\u306f\u5bfe\u8c61\u306e\u8981\u7d20\u3078\u306e\u53c2\u7167\u304c\u5fc5\u8981\u3060\u3002\u3064\u307e\u308a\u307e\u305a\u5bfe\u8c61\u306e\u30da\u30fc\u30b8\u306e window \u3078\u306e\u53c2\u7167\u304c\u5fc5\u8981\u3060\u3002\u305d\u3093\u306a\u308f\u3051\u3067\u3053\u3093\u306a\u95a2\u6570\u3092:<br \/>\n<code lang=\"javascript\"><br \/>\nfunction getWindow () {<br \/>\n\tvar wnd;<br \/>\n\ttry {<br \/>\n\t\twnd = liberator.modules.Buffer.focusedWindow;<br \/>\n\t\tif (!wnd) {<br \/>\n\t\t\tlog('target window not found.');<br \/>\n\t\t}<br \/>\n\t}<br \/>\n\tcatch (e) {<br \/>\n\t\tlog('exception occured while retrieving focusedWindow: ' + e.message);<br \/>\n\t\twnd = null;<br \/>\n\t}<br \/>\n\treturn wnd;<br \/>\n}<br \/>\n<\/code><br \/>\nLocationChange \u306b\u5f15\u3063\u639b\u3051\u305f\u30cf\u30f3\u30c9\u30e9\u5185\u3067\u52d5\u304b\u3059\u3068 focusedWindow \u3092\u53c2\u7167\u3057\u305f\u3068\u3053\u308d\u3067\u4f8b\u5916\u304c\u8d77\u3053\u308b\u3002vimperator 3.5 \u306e\u30bd\u30fc\u30b9\u3092\u898b\u3066\u307f\u308b\u3068<br \/>\n<code lang=\"javascript\"><br \/>\ngetFocusedWindow: function (win) {<br \/>\n    win = win || config.browser.contentWindow;<br \/>\n    let elem = win.document.activeElement;<br \/>\n    let doc;<br \/>\n    while (doc = elem.contentDocument) {<br \/>\n\telem = doc.activeElement;<br \/>\n    }<br \/>\n    return elem.ownerDocument.defaultView;<br \/>\n},<br \/>\n<\/code><br \/>\n\u3067\u3001\u3064\u307e\u308a elem \u304c null \u306e\u3068\u304d while \u306e\u6761\u4ef6\u7bc0\u3067\u30a8\u30e9\u30fc\u306b\u306a\u308b\u3002\u305d\u308a\u3083\u305d\u3046\u3067\u3059\u306d\u3002<\/p>\n<p>\u3046\u308f\u30fc\u3093<br \/>\n\u52d5\u304b\u306a\u3044\u3088\u30fc<br \/>\n\u3046\u30fc\u3093\u3069\u3046\u3084\u3063\u3066 window \u3092\u5f97\u305f\u3089\u3044\u3044\u306e\u304b\u306a\u2026\u2026\u3002<\/p>\n<div class=\"856f7bdf6ce2541193600c6e03dd1a56\" data-index=\"1\" style=\"float: left; margin: 16px 16px 16px 0;\">\n<script type=\"text\/javascript\"><!--\r\ngoogle_ad_client = \"ca-pub-5825700137064158\";\r\n\/* 250sq, appsweets-blog *\/\r\ngoogle_ad_slot = \"4837931762\";\r\ngoogle_ad_width = 250;\r\ngoogle_ad_height = 250;\r\n\/\/-->\r\n<\/script>\r\n<script type=\"text\/javascript\"\r\nsrc=\"http:\/\/pagead2.googlesyndication.com\/pagead\/show_ads.js\">\r\n<\/script>\n<\/div>\n\n<div style=\"font-size: 0px; height: 0px; line-height: 0px; margin: 0; padding: 0; clear: both;\"><\/div>","protected":false},"excerpt":{"rendered":"<p>\u305d\u3046\u3044\u3046\u308f\u3051\u3067\u3044\u308d\u3044\u308d\u8abf\u3079\u3066\u307f\u308b\u3068: \u8a00\u3046\u307e\u3067\u3082\u306a\u304f\u3001vimperator\/pentadactyl \u306f Firefox \u306e UI \u3092\u9650\u308a\u306a\u304f vim \u306b\u8fd1\u3065\u3051\u308b\u30a8\u30af\u30b9\u30c6\u30f3\u30b7\u30e7\u30f3\u3060\u3002\u3061\u306a\u307f\u306b\u30b0\u30b0\u3063\u305f\u9650\u308a\u3067\u306f\u3001vimperator \u306f Firefox \u3092\u300cvim \u307f\u305f\u3044\u306a Firefox\u300d\u306b\u3059\u308b\u306e\u304c\u30b4\u30fc\u30eb\u306a\u306e\u306b\u5bfe\u3057\u3001pentadactyl \u306f\u300cweb \u30da\u30fc\u30b8\u3092\u898b\u3089\u308c\u308b vim\u300d\u306b\u3059\u308b\u306e\u304c\u30b4\u30fc\u30eb\u306e\u3088\u3046\u3060 \u3053\u306e\u624b\u306e\u30a8\u30af\u30b9\u30c6\u30f3\u30b7\u30e7\u30f3\u306e\u5bbf\u547d\u3068\u3057\u3066\u3001\u30ad\u30fc\u30dc\u30fc\u30c9\u5165\u529b\u306f\u8ab0\u306e\u3082\u306e\u304b\u3092\u5e38\u306b\u610f\u8b58\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u3002web \u30da\u30fc\u30b8\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u3067\u30cf\u30f3\u30c9\u30ea\u30f3\u30b0\u3067\u304d\u308b\u4ee5\u4e0a\u3001\u672c\u8cea\u7684\u306b\u306f web \u30da\u30fc\u30b8\u4e0a\u306e\u30ad\u30fc\u30dc\u30fc\u30c9\u5165\u529b\u306f\u305d\u306e web \u30da\u30fc\u30b8\u306e\u3082\u306e\u3060\u3002vimperator \u306e\u3088\u3046\u306a\u30a8\u30af\u30b9\u30c6\u30f3\u30b7\u30e7\u30f3\u306f\u3001web \u30da\u30fc\u30b8\u304c\u30ad\u30fc\u30dc\u30fc\u30c9\u5165\u529b\u3092\u51e6\u7406\u3057\u3066\u3044\u306a\u3044\u5834\u5408\u306e\u307f\u6210\u308a\u7acb\u3064\u3002wasavi \u306f\u305d\u308c\u81ea\u8eab\u304c\u5168\u3066\u306e\u30ad\u30fc\u30dc\u30fc\u30c9\u5165\u529b\u3092\u51e6\u7406\u3059\u308b\u306e\u3067\u3001\u5f53\u7136\u4e21\u7acb\u3057\u5f97\u306a\u3044 vimperator \u5074\u3067\u306f\u3001liberator.modules.modes.passAllKeys \u306b true \u3092\u4e0e\u3048\u308b\u3053\u3068\u3067\u3001vimperator \u306e\u52d5\u4f5c\u3092\u30b9\u30eb\u30fc\u3055\u305b\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3002\u307e\u305f\u3001vimperator \u306b\u306f\u30d7\u30e9\u30b0\u30a4\u30f3\u306e\u6a5f\u69cb\u304c\u3042\u308a\u3001\u4f8b\u3048\u3070\u30bf\u30d6\u3092\u5207\u308a\u66ff\u3048\u305f\u3068\u304d\u306b\u4efb\u610f\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u8d70\u3089\u305b\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3002\u30d7\u30e9\u30b0\u30a4\u30f3\u306f ~\/.vimperator\/plugin\uff08windows \u74b0\u5883\u3067\u306f %HOME%\\vimperator\\plugin\uff09\u306e\u4e0b\u306b\u7f6e\u304f wasavi \u304c\u30da\u30fc\u30b8\u4e0a\u306b\u751f\u6210\u3055\u308c\u305f\u304b\u3069\u3046\u304b\u306f\u3001http:\/\/wasavi.appsweets.net\/ \u3092\u30bd\u30fc\u30b9\u306b\u6307\u3059 iframe &hellip; <a href=\"http:\/\/appsweets.net\/blog\/2012\/10\/11\/the-heavenly-school-2\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[7,5,3,17,4],"class_list":["post-543","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-firefox","tag-javascript","tag-vi","tag-vimperator","tag-wasavi"],"_links":{"self":[{"href":"http:\/\/appsweets.net\/blog\/wp-json\/wp\/v2\/posts\/543","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/appsweets.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/appsweets.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/appsweets.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/appsweets.net\/blog\/wp-json\/wp\/v2\/comments?post=543"}],"version-history":[{"count":4,"href":"http:\/\/appsweets.net\/blog\/wp-json\/wp\/v2\/posts\/543\/revisions"}],"predecessor-version":[{"id":553,"href":"http:\/\/appsweets.net\/blog\/wp-json\/wp\/v2\/posts\/543\/revisions\/553"}],"wp:attachment":[{"href":"http:\/\/appsweets.net\/blog\/wp-json\/wp\/v2\/media?parent=543"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/appsweets.net\/blog\/wp-json\/wp\/v2\/categories?post=543"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/appsweets.net\/blog\/wp-json\/wp\/v2\/tags?post=543"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}