社内の煎り大豆ブームの火付け役。agoです。 今日はjavascriptで名前空間を有効活用する方法をご紹介したいと思います。 1 無名関数の即実行 無名関数をその場で実行することで名前空間を閉じることができます。 (function () { // hogeはこのfunction内のみ参照可能 var hoge = 1; })(); また、newを使用した方法でも実行可能です。 new function () { // hogeはこのfunction内のみ参照可能 var hoge = 1; }; それぞれ違いは以下の通りです。 ()() thisがwindow returnしたものをそのまま受け取れる new thisが空Object Object以外をreturnした場合this 引数を渡す場合、それぞれ以下のようなかたちで渡す事が可能です。 (function (arg1, arg
ChromeのマウスジェスチャーExtensionで実験的に実装してみたやつが意外と面白かったので、少し手を入れてFirefox, Opera用にユーザースクリプトにしてみました。このスクリプトも実験的なものなので、その点はご了承ください。 Scroll Acceleration for Greasemonkey (Operaで使う場合はファイル名を.user.jsではなく.jsで保存推奨です) これはいわゆる加速スクロールってやつで、マウスホイールを素早く動かすと、速く動かした分だけたくさんスクロールするという代物です。 マウス自体や、マウスジェスチャーソフト(かざぐるマウスとか)にそういう機能があるみたいで、それをJavaScriptで実現してみました。 ちなみになぜ実験的なのかというと、こういう制御はユーザースクリプトのようなレイヤーではなく、OS寄りのところで実装するべきだと思うか
Database: AutoPagerize このデータベースはAutoPagerizeというuserscriptから利用するためのものです。 AutoPagerizeではWebページのurl、次のリンクを指すXPath、ページ要素を指すXPathなどをこのデータベースで共有し、 様々なサイトでの自動ページ継ぎ足しを実現しています。 AutoPagerizeについての詳細は、こちらを参照してください。 http://userscripts.org/scripts/show/8551 Last Update: 2024-03-11T18:17:35+09:00 History Database Details Import Items Create New Item
ちょっとアレなタイトルですが、GreasemonkeyでAutoPagerize対応のスクリプトを自作する時の注意点を2つメモ。 自分はひよっこですが、これからGreasemonkeyスクリプト書いてみようかなという人の助けに少しでもなれば嬉しいです。 継ぎ足されたページに適用する方法 AutoPagerizeで継ぎ足された部分に自分のスクリプトを適用する方法あれこれ - 0xFF を参考に、AutoPagerize_DOMNodeInsertedを使うことにする。 以前はaddFilterとかGM_AutoPagerizeLoadedとか出てくる書き方をしていたんだけれど、この方法がやはり簡単・シンプルなので採用させて頂きました。 継ぎ足されたページ「のみに」適用する方法 新しく継ぎ足されたページのみに、スクリプトの内容を適用・反映したい場合。 注意しないと、継ぎ足されたページのみに適用
pixiv_add-bookmark.user.js · GitHubを弄ってて実感した。 DOMツリー構築とE4X jQueryだとjQuery関数にHTML断片を文字列として渡す事でDOMツリーを構築する事が出来る。 で、Greasemonkeyのscriptが動く環境は当然FirefoxなのでE4Xを使う事が出来る。 すると、どうなるか? このリビジョンからコードを引用する。 var $mainTable = $( <table class="gm-pixiv-bookmark-maintable"> <tr> <th>グループ:</th> <td/> </tr> <tr> <th>公開設定:</th> <td> <input type="radio" id="res0" name="restrict" value="0" checked="true" /> <label for="
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
はじめに JavaScriptは簡単な言語のようでいて、実は奥が深く、初心者にとってなかなかその本質がわかりにくい言語です。ここでは、JavaScriptの言語的エッセンスを理解できるようなものをFAQ形式で書いてみました。ご意見や誤り等を指摘してもらえたら嬉しいです。 なお、JavaScriptの標準化であるECMAScriptは、今年末にEdition 5 がリリースされる予定です。このFAQは、現在のバージョンであるEdition 3をベースにしています。 ECMAScriptって何ですか? ECMAはEuropean Computer Manufacturer Association(欧州電子計算機工業会)の略で、標準化団体です。NetscapeのJavaScriptとMicrosoftのJScriptをベースに、純粋なプログラム言語部分を抽出したものをECMAで標準化したスクリプ
データ分析から導き出されたインサイト無しにAI(人工知能)の活用は始まりません。私たちは、各業界知識とデータ・アナリティクス技術を駆使しデータドリブン経営を強力に支援します。 データ、アナリティクス、AIは企業にとって競合他社との差別化を図るかつてないほど大きな要因になっています。今日の経営幹部が効率を向上しながら新たな収益源を開拓し、新しいビジネスモデルをタイムリーに構築する方法を模索する中、価値を生み出し成長を続ける企業には「データ活用」という共通項があります。私たちは、無数のデータから企業にとって本当に必要なデータを活用するための方法を知っています。 将来を見据えたオペレーション体制を備えている企業の半数以上(52%)は、すでにデータとアナリティクスを大規模に活用しています。データとAIに関する取り組みをビジネス戦略に沿って実施することで投資利益率を迅速に最大化し、最終的にはAIをビ
pha 様の以下のページが超人気っぽいです。bot を作りたいと思ってる人って結構いるのかしら? プログラミングができなくても作れるTwitter botの作り方 こちらで紹介されてる内容は、レンタルサーバで PHP 動かしてって感じで「bot とかよく分からんけどとりあえず試しに動かしてみたいような気がちょっとした感じ」ぐらいに思ってる人にはちょっと敷居が高そうだったので、グリモンで動く bot もどきを作ってみました。 bot もどきのもどきとは、グリモン(ブラウザ)を立ち上げてるときだけ動く bot という意味です。 ブラウザを立ち上げとかないと bot が動かないので作ってから完全に放置できる訳ではありませんが、サーバにインストールするタイプの bot よりもかなり簡単に動作させることができます。それ以外の部分では普通の bot と大きく変わりませんので、とりあえず bot してみ
MD5 is a secure hash algorithm. It takes a string as input, and produces a 128-bit number, the hash. The same string always produces the same hash, but given a hash, it is not generally possible to determine the original string. Secure hash algorithms are useful for protecting passwords and ensuring data integrity. This site has a JavaScript implementation of MD5, and some other secure hash algori
Firefinderとは何か? https://addons.mozilla.org/en-US/firefox/addon/11905/ CSSセレクタやXPathで要素を検索出来るFirebugの拡張です。 どんな人にお勧めか? hiddenフィールドの値を閲覧したり、 formのどの要素のnameが何かとかさくっと見たくなることないですか? あるならお勧めです。 Firebugには既に$$というCSSセレクタで要素を検索出来る関数があるんだが? CSSセレクタのサポートの度合いが違います。 $$関数では基本的なCSSセレクタしかサポートされていないので、 例えば、ここなら、http://images.google.co.jp/advanced_image_search?hl=ja $$('input'); // [input, input ja, input Google 検索, i
複雑な機能をいくつも実装したWebアプリケーションのデバッグはツールなしでは一苦労だ。Ajax処理やこまかいイベント制御・DOM操作をおこなっている箇所でバグを出してしまった日には、解析だけで大変な時間を割かなければならない。 そんなときは、FireCrystalを使えば解決するかもしれない。ユーザの操作を記録し「どのタイミングで」「なにがおこなわれているか」を一発で表示してくれる便利なアドオンだ。 本稿では、そのFireCrystalについて紹介しよう。 FireCrystalとは Stephen Oney氏は8月21日(米国時間)、Firefox上で動作するアドオン「FireCrystal」をリリースした。FireCrystalはThe MIT Licenseのもとで公開されている、Webデザイナ・デベロッパ向けのデバッガ。Webページ上でユーザの操作を記録し、内部でどのようなイベント
The most popular coding language for the web is javascript; so much so that since the advent of HTML5, it has now been officially accepted as the default standard. Javascript has moved beyond a smaller client-side browser-based language to become integrated not just for front-end design, but also for back-end server-side development. As a result there are has been a huge growth of Javascript libra
Webサイトを制作するとき、「パフォーマンス」を気にしたことがあるだろうか? もしまったく気にしたことがないなら、気をつけた方がいい。閲覧に時間のかかる“遅いWebサイト”はユーザーにフラストレーションを与え、閲覧をやめさせてしまう恐れがある。 下記のグラフは、「Simple-Talk」という海外のオンラインメディアで発表されたユーザー調査の結果だ。アンケートページの表示にかかる時間を意図的にコントロールし、表示時間によってユーザーが感じるフラストレーションの違いを調べたものだ。 縦軸がフラストレーション(10段階)、横軸が表示までの時間を表している。1~5秒以内にページが表示された人に比べ、ページ表示までに5秒以上かかった人は2倍以上もフラストレーションを感じている。フラストレーションがあまりに高ければ、せっかく何らかの目的を持って訪れてきたユーザーも待ち切れずにブラウザーを閉じてしまう
以前からある手法から順番に見ていきます。 ページの高さの監視 setIntervalでページの高さを監視して、増えていたらAutoPagerizeが動いたとみなして処理を行う var THRESHOLD = 300; var _height = window.innerHeight; setInterval(function(){ if (window.innerHeight - _height > THRESHOLD) { // 処理 } _height = window.innerHeight; }, 300); メリット AutoPagerizeだけでなく、はてなダイアリー・ブックマーク、Twitterなどでのサイト側でのページの継ぎ足しにも対応できる デメリット THRESHOLDをいくつにするかなど、一概に決められない。タイマーをたくさん回すと重くなる。Floatしている要素を継
先月の社員PVランキングは91番目でした。agoです。 たまに他言語開発者から「JSは何となくわかるけど、jQueryが特殊すぎてよくわからない」という声を聞きます。 個人的にjQueryを使う場合、「JSの中でjQueryを使う」と言うより、「jQueryの中でJSを使う」と考えた方が理解しやすいと思うので、今日は"jQuery言語"の書き方を紹介したいと思います。 文法 Traversing methodでインデントを下げて、.end()でインデントをあげます。 (Traversing以外のmethodはインデントを維持します) そして、末尾には開始行と同じ位置に「;」を置きます。 $('body') .find('a') .filter('.permlink') .attr('href', function () { return $(this).attr('href').repla
本特集は、HTML 5の仕様や実装状況に関する現時点での最新レポートとして、実際に動作するサンプルを添えた詳細な解説をお届けするものである。特集の後半となる今回は、Webアプリケーションを作成するにあたって有用な、JavaScript APIを中心として取り上げる。今回紹介する内容は以下の通りだ。 アプリケーションキャッシュ クロスドキュメントメッセージング Web Workers Web Storage Web Database Web Sockets Geolocation API HTML5で新しく導入されたタグなどに関しては、前回の特集を参照していただきたい。 今回調査対象としたブラウザは、前回と同じく次の通り。ベータバージョンも含めた最新のバージョンをチョイスした。Internet Explorerについては、最新バージョンの8でもHTML 5への対応があまり進んでいなかったため
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く