タグ

JavaScriptとjavascriptに関するkitsのブックマーク (544)

  • http://twitter.com/nanto_vi/status/1035852999

    http://twitter.com/nanto_vi/status/1035852999
    kits
    kits 2008/12/03
    …で任意のURIを基底URIとした相対URIの解決が可能。
  • JavaScript 内で無圧縮 ZIP を作って Data URI を生成するライブラリを作りました - IT戦記

    ちょっと思うところあって JavaScript 内で、複数のファイル情報を作って Zip で固めて、 Data URI を生成するライブラリを作ってみました。 ソースは以下の zip.js です。 http://svn.coderepos.org/share/lang/javascript/Zip/ 使うには 以下の base64.js が必要です。 http://svn.coderepos.org/share/lang/javascript/Base64/trunk/ この base64.js は弾さんが作ったものです。 今回 Zip で使うように、ちょっとチューニングさせていただきました。 こんなことができます // zip オブジェクトを作る var zip = new Zip; // 文字列をファイルとして追加する zip.addString('Hello, world!!', '

    JavaScript 内で無圧縮 ZIP を作って Data URI を生成するライブラリを作りました - IT戦記
  • 高木浩光@自宅の日記 - 新はてなブックマークの登録ブックマークレットは使ってはいけない

    はてなブックマーク(以下「はてブ」)がリニューアルされ、ブラウザからブックマークレットでブックマーク登録(以下「ブクマ登録」)しようとすると、図1の画面が現れるようになった。「こちらから再設定をお願いします」と指示されているが、この指示に従ってはいけない。ここで提供されている新型ブックマークレットは使ってはいけない。(この指示には従わなくてもブクマ登録はできる。) 新型ブックマークレットを使用すると図2の画面となる。ブクマ登録しようとしているWebサイト(通常、はてな以外のサイト)上に、はてブの画面のウィンドウが現れている。これは、Ajaxと共に近年よく使われるようになった「ページ内JavaScriptウィンドウ」である。(ポップアップウィンドウとは違い、ウィンドウをドラッグしてもブラウザの外に出すことはできず、あくまでも表示中のページ上のコンテンツであることがわかる。)

  • Big Sky :: javascript v8エンジンで動くblosxomクローンを作った。

    tokuhiromさん作のfcgi-v8をCGIインタプリタとして、cho45さん作のblosxom.rhinoを改造してblosxom.v8というのを作ってみた。 v8にはunevalが無かったのでdankogaiさん作のuneval.jsを使わせて頂いた。 実行画面はblosxom.rhinoの書き換えなので、パクリ気味ですが... fcgi-v8でファイル日付の取得が実装出来ていないので、今は日付は表示されていません。 blosxom.v8 よかったら遊んでみて下さい。

    Big Sky :: javascript v8エンジンで動くblosxomクローンを作った。
  • javascript で wait処理 - 新みのる日記

    Javascriptではwait処理はない。 でも、ある処理Aが完了した後に、処理Bをして欲しい場合が往々にしてある。 例えば、以下のような処理。 var a = func1(); func2(a); 通常の場合だと、この処理はfunc1 → func2と処理される。 だけどfunc1の中で、setTimeoutやsetIntervalが利用されてると、 うまくいかないケースがある。 例えば、以下のケースを実行すると var a = 0; function func1(){ if( a < 10){ a++; alert("hoge" + a); setTimeout("func1()", 500); } else{ alert("END"); return a } } function func2(val){ alert ("call func2: " + val); } var val

    javascript で wait処理 - 新みのる日記
  • javascript中でのHTML表現。 - aolog

    javascriptで動的なUI等を書くと、どうしてもネックになるのが、HTMLノードの表現、その整理法だ。少なくとも私はそうだ。 pagmo書いていたときなど、コードのかなりの量をHTMLノードの記述に使っている。 しかし質的には重要なコードではないので、なるべくコンパクトに書きたい。ただ単にテキストで作って、それをinnerHTMLとかで流し込むのは、コードが汚くなるし、ソースの見た目もきたなくなるしいやだ。(短い場合は速度が速いらしいが) common lispやschemeなどでは、S式で表されるリストをつかってデータ構造とし、それをHTMLに変換することをよくするようだ。 たとえば以下のようにする。 (defun standard-page (&key title body) (let ((pbody (cond ((atom body) (list body)) ((atom

    javascript中でのHTML表現。 - aolog
    kits
    kits 2008/11/13
    DOM1でべつによいと思っていたりする。
  • XSSを修正しないという事 (Kanasansoft Web Lab.)

    今読み返すと、あちこちに変な日語が混じっていますね。 訂正するのも嫌らしいのでそのままにしておきます。 はてなブックマークというサービスで、当エントリーに対してついたコメントに返信していきます。 このエントリーには、「XSSの危険性をわかっていない人に理解してもらう」というのが前提としてありました。 そして、「技術の疎い人にも理解して動いてもらう」という願いもありました。 このために、「多少の誤解を与えたとしてもなんとなく理解してもらう」事を重要視しています。 これを踏まえて以下記述します。 「#」ではじまるのがはてなブックマークのコメントです。 #2008年10月24日 g616blackheart ガードが堅いと言われた……どうしてだろう? #2008年10月24日 anigoka なんかガードが堅いて言われちゃったんだけど、なに,オレが非コミュだって言いたいの!? 申し訳ないです。

  • 選択範囲のリンクを取得する: Days on the Moon

    Web ページの選択範囲に含まれるリンクを取得する方法として、Piro さんによる DOM 2 Range の compareBoundaryPoints メソッドを使ったやり方があります。これはリンクを探すのに DOM Core の機能を使って文書ツリーをたどっていますが、今現在ノードを探すといわれて真っ先に思いつくのは XPath でしょう。そこで、XPath を使って選択範囲のリンクを取得する方法を考えてみました。もちろん、選択範囲を扱う以上 DOM 2 Range も利用します。 基的な考え方 Range オブジェクトの取得 選択範囲の始点より前にあるリンクの数の取得 選択範囲の終点より前にあるリンクの取得 選択されているようには見えないリンクの除外 まとめ 基的な考え方 基的なアイデアは、選択範囲の終点より前にあるリンクで、選択範囲の始点より前にはないものが求めるリンクとい

  • visited疑似クラスのビーコンを拾うサービスが登場 | 水無月ばけらのえび日記

    行動ターゲティング広告は以前から存在していたが、今年の動向として新しいのは、行動を追跡する手段として、自サイトでの閲覧行動だけでなくよそのサイトでの閲覧行動まで追跡するタイプが現れたことだ。 (~中略~) 仕組みはこうだ。Webページのリンクは標準では青色で表示されるが、訪問済みのリンクは紫色に変わる。このリンクの表示色をJavaScriptなどのプログラムで取得することができれば、閲覧者が特定のサイトに行ったことがあるか否かを調べることができてしまう。 <style type="text/css> #sita-A a:visited{background:url("/beacon/site-A.gif")} #sita-B a:visited{background:url("/beacon/site-B.gif")} </style> <ul> <li id="sita-A"><a hr

    kits
    kits 2008/10/17
    ブラウザ側で :visited を無効にできたら対応策になるだろうか。
  • document.contentType == "application/xhtml+xml"なページでの$X - os0x.blog

    document.evaluateと名前空間がわからない - by edvakf in hatenaへのレスです。 document.contentTypeが"application/xhtml+xml"の場合、名前空間があるので、通常のXPathでは要素を取得できません。resolverとprefixが必要になります。*1 で、m.twitterはHTTPヘッダーで Content-Type: application/xhtml+xml; charaset=UTF8; charset=utf-8を返しているので、XMLとして扱われ、そうでない大抵のサイトはHTML上でXHTMLを宣言していても、text/htmlで返すので、HTMLとして扱われます。 Content-Type: text/html; charset=utf-8繰り返しですが、 namespace がある Document

    document.contentType == "application/xhtml+xml"なページでの$X - os0x.blog
    kits
    kits 2008/10/08
    修正版$X
  • MJL ― MITSUE-LINKS JavaScript Library | 制作/開発 | ミツエーリンクス

    概要 MJL (MITSUE-LINKS JavaScript Library)は、ミツエーリンクスで標準利用されるJavaScriptライブラリです。 MJLは弊社内における業務効率を改善するために、統一された設計思想、利便性の向上を念頭においた上で設計・開発されました。 MJLは他のJavaScriptライブラリ群とは異なる設計思想により、独特の特徴を持ちながらも他のライブラリと補完しあえるものを目指しました。 MJLはコピーレフトライセンスであるGNU GPLに基づく自由ソフトウェア(フリーソフトウェア)です。弊社は GNU GPLに則り、ページにてMJLの全ソースコードを公開します。 ライセンス MJLはGNU GPL Version 3(参考邦訳)のもとに提供されます。 詳細はMJL体ファイル内のライセンス告知をご覧ください。 ダウンロード MJL体(圧縮版) mjl.js

  • 第 13 回 Admintech.jp 勉強会: Days on the Moon

    ブラウザに関する話が聞けるということで第 13 回 Admintech.jp 勉強会に行ってきました。他の勉強会 (といっても私の場合は Kanasan.JS がほとんどですが) と比べると、Admintech.jp 自体が ITプロ(システム管理者やネットワークエンジニア)向けのコミュニティということもあってか、学生が少ない印象を受けました。また、参加者のノートパソコンを見渡すと、会場 (マイクロソフト大阪オフィスセミナールーム) のせいではないでしょうが近年ではまれに見る Mac 率の低さだったようです。 IE に依存した Web アプリケーションセキュリティ はせがわようすけさんによる、IE 以外のブラウザでは問題ないが、IE では XSS につながるパターンの紹介でした。発表資料ははせがわさんの記事から参照できます。 文書の文字符号化方式を UTF-7 や US-ASCII と誤認

    kits
    kits 2008/10/02
    「『まず標準準拠で作って Firefox や Safari で確認し、それから IE でおかしいところを CSS ハックで直す』という開発者の言葉に衝撃を受け」それで衝撃を受けてることに逆に驚く。
  • document.って危険な文字列ですか? | securecat's exblog

    前のエントリーを書いてる時に気づいたこと。 exciteブログのエントリー文には、HTMLが書けるようになっているのだけど、たとえば勿論というか、<script> ... </script> なんてのは、書けないようになっている。 それは良い。 しかし、どうやら <script> ... </script> とかそもそも関係なく、それっぽいの[謎]も書けないことが判明。

    document.って危険な文字列ですか? | securecat's exblog
    kits
    kits 2008/09/26
    "document ."とかも不可だろうか。
  • IEの <pre>.innerHTML で複数のスペースを入れる方法 - 葉っぱ日記

    IEでは <pre>.innerHTML に連続したスペースや改行を入れると、単一のスペースに置き換わってしまいます。 例えば次のようなJavaScriptをIEとFirefoxで実行してみると: var s = "0123456789ABCDEF\n a b c d"; var pre = document.createElement( "pre" ); pre.innerHTML = s; document.body.appendChild( pre ); IEの表示: Firefoxの表示: IEでは、複数の連続したスペースや改行文字が全て単一のスペースになってしまっています。改行文字を "<br>"に置き換えて、createTextNode() すれば解決しそうな気もしますが、 var s = "<span style=\"color:red\">0123456789ABCDEF<

    IEの <pre>.innerHTML で複数のスペースを入れる方法 - 葉っぱ日記
    kits
    kits 2008/09/26
    pre.innerHTML に連続空白や改行を代入しても単一のスペースに置き換えられてしまう。
  • オレの名は「ジェイ・スクリプト」…… - in between days

    以下、郷田ほづみの声でお読みください。 オレの名は「ジェイ・スクリプト」。20世紀最末期の「第一次ブラウザ戦争」でエース部隊に徴用され、最前線で殺戮を繰り広げた。オレたちに課せられた課題は重大だった。相手方ブラウザの殲滅。オレたちはマイクロソフト帝国の最新鋭上陸艦「IE4」に搭載され、次から次へとコードを実行した。戦いは熾烈を極めた。オレたちはどんな汚いコードでも動いた。カーソルをクマさんに変える。アイコンを点滅させる。今日のお知らせをポップアップさせる。世界時計をスクロール表示させる。それが果たして当にそのウェブページに必要なユーザビリティなのかを問うこともなかった。しかしいつしかオレたちは気づいた。敵艦「NN4」に搭載されているのもオレたちとまったく同じスクリプトなのだと。やがてオレたちが属する帝国が領土のほぼ九割を制圧するに至り、戦争は膠着状態にはいった。敵国は壊滅されたかに見えた

    オレの名は「ジェイ・スクリプト」…… - in between days
    kits
    kits 2008/09/21
    「『ファウンデーション』の支援を受けた」って巧いなあ。
  • 10 なら 10、 11 なら 20 になる関数を作りたい - IT戦記

    以下のエントリで質問を頂いたので http://d.hatena.ne.jp/amachang/20080827/1219815788 以下のコード x + a - (x % a || a) やりたいこと a で x を丸めること こんな感じ function round(a) { return function(x) { return x + a - (x % a || a); } } var round10 = round(10); round10(10); // 10 round10(15); // 20 round10(20); // 20 round10(25); // 30 もっといい方法あるかなあ (function(b) { return b ? x - b : x; })(x % a) うーん どっちにしろ奇麗には書けないなあ

    10 なら 10、 11 なら 20 になる関数を作りたい - IT戦記
    kits
    kits 2008/09/10
    整数aごとの切り上げ。/ Math.ceil(x / a) * a を考えた。
  • MJL - MITSUE-LINKS JavaScript Library | コラム | ミツエーリンクス

    2008年9月5日 MJL - MITSUE-LINKS JavaScript Library フロントエンドエンジニア渡邉 卓 MJL とは何か? 実は、私が設計・実装を担当し、弊社内で開発が進められてきたJavaScriptライブラリの略称です。このMJLこと MITSUE-LINKS JavaScript Library はこの度、弊社内の標準ライブラリとして運用が開始されることになりました。 コラムでは、MJLの生い立ち、JavaScriptライブラリの現状、特徴、これからの展望について簡単に述べていきます。 生い立ち - 業務効率の改善がもたらすサービス品質の向上 MJLが生まれたきっかけはずばり、「業務効率の改善」を図るためでした。 従来は、案件の担当者ごとにさまざまなライブラリを利用しており、利用されるノウハウ、実装、バージョンがまちまちになることがよくありました。 社内

    MJL - MITSUE-LINKS JavaScript Library | コラム | ミツエーリンクス
    kits
    kits 2008/09/09
    "MITSUE-LINKS JavaScript Library"
  • 2008-08-30

    はてなブックマークのコメント一覧非表示機能について - はてなブックマーク日記 - 機能変更、お知らせなど 先日リリースされた、はてなブックマークのコメント一覧を非表示する機能ですが、 テクノロジー : 日経電子版 こちらのタイトルのように、微妙に誤解されてるようなのでちょっと分かりやすく解説してみました。 実際に非表示設定にしている例 おはようからおやすみまで くらしに競馬を広げる はてなブックマークのコメント一覧非表示機能テスト - ネットランダム改 はてなブックマークのコメント一覧非表示機能について、ブックマークされる側より。 - Attribute=51 こちらを見てみると、一目瞭然なのですが、ブックマークしているユーザーとそのコメントが従来と異なり表示されていません。 ですが、これは ブックマークのコメントそのものが誰からも見れないということではありません 例えば、私が非表示の設

    2008-08-30
    kits
    kits 2008/09/04
    使わせてもらいました。/ # のエスケープが不十分っぽいです。
  • DocumentFragmentとdisplay:none、documentに直接追加する場合の速度比較 - 素人がプログラミングを勉強していたブログ

    追記:コメント欄で指摘されたように、下のコードではイベントリスナは削除されなかった。 DocumentFragmentに一旦ストックすると、登録したイベントリスナは削除される。cloneNode、innerHTMLなども同様。 つまり、下のようなコードを書いて、ドキュメントをクリックしても、"click!"とは表示さない。 document.body.addEventListener("click", function(){ (console.log||alert)("click!"); },false); var df=document.createDocumentFragment(); df.appendChild(document.body); document.documentElement.appendChild(df); 不特定のサイトで動作するGreasemonkeyスクリプ

    DocumentFragmentとdisplay:none、documentに直接追加する場合の速度比較 - 素人がプログラミングを勉強していたブログ
    kits
    kits 2008/08/07
    「DocumentFragmentに一旦ストックすると、登録したイベントリスナは削除される」
  • https://www.openvista.jp/archives/note/2008/unfunctional-javascript/?2008/unfunctional-javascript/

    kits
    kits 2008/08/04
    Fx3だとjavascript:リンクには右クリックメニューで「リンクを新しいウィンドウで開く」とかが出ないようになっている。