JavaScript

xpcshell で非同期処理

Latest topics > xpcshellでタイマーやXMLHttpRequestなどの非同期処理を扱う方法(Gecko 1.9以降限定) - outsider reflex で、教えていただいたので、早速実装してみた。 xpcshell/xpcshell.js at master from teramako's scripts - GitHub*1 xpcshell/tim…

Funcionオブジェクトにiterator

思いつきでやってみた。 var list = ["a","b","c"]; var func = function(){ for (let i=0; i < list.length; i++){ yield list[i]; } } func.__iterator__ = func; print("======================= func()"); for (let i in func()){ print(i); } print("==…

10分プログラミング

10分でコーディング|プログラミングに自信があるやつこい!! プログラミングに自信はないけど、挑戦した。 あまりに簡単なので制限時間を10分としてやってみてください。 これ以上かかった人は 自分はかなりプログラミングができない。 とつらい事実を…

xpcshellでHTMLを取得してjQueryを使う

javascriptで質問です。以下のようなことが出来るのであれば手順を教えてください。できればサンプルをお願いします。関連したURLでもOKです。 1. Windowsのコマンドライン.. - 人力検索はてな に挑戦してみた。xpcshellでHTMLパース - hogehogeの続きともい…

ローカルのJetpack FeatureファイルをインストールするFeature

また、怪しげなものを書いた。 JetpackFeatureって書いてもインストールが面倒臭い。作ったらHTMLファイルを用意して<link rel="jetapck" href="....js"/>見たいのを書いて・・・なんてやってられん。 ということで、ローカルファイルを簡単にインストールできるJetpackFeatureを書いた。 jetpac</link>…

N個の配列生成

Array(10).map(function(e,i) i) とやって[0,1,2,3,4,5,6,7,8,9]となることを想定していたんだけど、ならなくて苦しんでいたら、id:nanto_viさんが教えてくれた。 http://twitter.com/nanto_vi/status/5014927085 Array.apply(null, Array(10)).map(function…

Canvasでアニメーション背景

Canvasで背景(星屑)テスト Canvasで星を作って動かして遊んでて、背景で動かしたら面白いかなと思って作ってみた。ちょっと(?)ケバいけどね:-P ランダム要素が入っているので毎回少しずつ違った背景になる。うるさくない程度に改良すれば何かのアクセントに…

xpcshellでHTMLパース

xpcshellでHTMLDocumentって無理なのかなぁ - The Other Road Ahead タイトルどおりかと思っていたけど、よく読んでみると目的としてはHTMLのパースなのだと思う。 もし、そうであるならば、完全では無いけど出来る。 const Cc = Components.classes; const …

telnetサーバ

今現在、XPCOMでtelnetサーバっぽいものを作ってみようと奮闘中。 nsIServerSocketでポート待ち受け nsIInputStreamをnsIConverterInputStreamでUTF-8化 nsIOutputStreamをnsIConverterOutputStreamでUTF-8化 echo,quitコマンド作成 ん? キーバインドってど…

超適当にJScriptでtwitter

コンソールから出来ると良いねって感じで適当に作ってみた cscript /nologo twitter.jsでタイムライン表示 cscript /nologo twitter.js /P:"post message"でポスト var url = "http://twitter.com/"; var user = "teramako"; var pass = "xxxxxx"; var metho…

github用のjsライブラリを作ってみた

github pageでコミットログを表示の続き。と言っても中身を大幅に変更したが。 Develop.GitHubにあるAPIを使用している。 使用例 細かいマニュアルを書くのが面倒(どうせ自分しか使わないだろうし) :-P 使用例: 最新のコミットログを表示<pre id="history"></pre> var elm = document…

Jetpack用ページ@github

Experimental Jetpack Scripts GitHub Pagesを用いてJetpack用のサイトを構築中。スクリプトの配布というか、Develop.GitHubのAPIを使用したサイト構築が目的の大半を占めてしまっているがw各スクリプトのインストールページなんか 対象ファイルのmasterブ…

github pageでコミットログを表示

http://pages.github.com を使用して久々にサイト構築をやり始めてみた。 github系のページなのでリポジトリのコミットログをRSSで取得しようとJavaScriptを書いたのだが...。github.com と teramako.github.com ならドメインがいっしょだからXMLHttpRequest…

長いオブジェクト名は省略してしまえ! ってか?

Jetpackのソースを眺めていて、おぉなるほど、と思った。 let SlideBar = let (T = { // ... hoge: function(){ T.abc(); }, abc: function(){ // ... } // ... }) T; きっと、SlideBarを何度も書くのが面倒だったのでしょうねぇ。

ダメダメなJetpackスクリプト(スライドのアイコンを出しっぱなしにするもの)

Jetpackのスライドバーがちょっと面白いわけだが、毎回矢印を押してアイコンを出した後に、ってのが面倒なので書いてみた。 何がダメって、JetpackのAPIをほとんど使ってないところ。 jetpack.statusbar.appendを使うとステータスバーにiframeが入って中身が…

document.getAnonymousElementByAttributeNSが欲しい

document.getAnonymousElementByAttributeでは別名前空間が指定された要素を拾えない。 名前空間を指定して拾えたらなぁ。 追記 2009-04-17 - 中途 うわー、本当にやってくれた。すげー。

Komodo Edit が面白い

最近、JavaScriptのIDEが欲しいと思い始めた。強力な補完機能が欲しいのだ。 んで、Open Komodoなるものを発見。 ちょっくら落として使ってみた。 インストール http://downloads.activestate.com/Komodo/releases/5.0.3/ からアーカイブを落とす 展開 cd Ko…

非整形式なHTML文字列をHTML要素へ変換する

何か昔のメモを見てたら出てきた。 これで_libly.js における問題点 - vimpな日々 - vimperatorグループで書いた問題が解消されるかも。

use private function / property in prototype

ふと思ったのでメモ。 function Hoge() { this.init.apply(this, arguments); } Hoge.prototype = (function(){ /* * Private functions */ function foo(arg){ // .... } /* * Public Methods/Properties */ var pub = { init: function(name){ // ... }, b…

SpidermonkeyでE4X

rhinoでE4Xの続き。コメントでspidermonkey-binは? とid:takano32さんに言われたのでインストールしてみた。 $ apt-cache search spidermonkey libmozjs-dev - Development files for the Mozilla SpiderMonkey JavaScript library libmozjs1d - The Mozill…

rhinoでE4X

RhinoというJavaで実装されたJavaScriptインタープリタがある。 昨日あたり、RhinoにE4Xが組み込まれている事*1、Debianパッケージがある事を知り、試しにインストールしてみた。しかし、apt-getからインストールしたバージョン 1.7R1だとE4Xが動かない。仕…

CodeMirror

Ubiquity 0.1.2を入れてみた。んで、コードエディター内のコードがハイライトされることに驚いた。 興味がわいてソースコードを見てみると、codemirror.jsというのが使われている様だ。 こいつは何だ? ってことで検索するとFirebugの機能を拡張する | OSDN …

JShell 途中経過

前はこんなだった。 OSが違うから印象がだいぶ異なるけどマシになっていると思う。

E4XのDOM変換

昨日(JavaScript中でのHTML表現にE4Xを提案してみる)の続き コメントでくれたid:piro_orさんのサンプルfunction xmlToDom(xml, xmlns) { var doc = (new DOMParser).parseFromString( '<root xmlns="' + xmlns + '">' + xml.toXMLString() + "</root>", "application/xml"); var imported = docu…

JavaScript中でのHTML表現にE4Xを提案してみる

javascript中でのHTML表現。 - aolog E4X使っちゃダメなんかな。XMLそのままなので冗長といえば冗長だが、標準化されていて使いやすいと思う。ただ、使える環境がモダンなブラウザに限定されてしまうので一般的なJavaScriptには使えないかもしれない。 環境…

JShell 再作成中

http://github.com/teramako/jshell/tree/master githubにリポジトリを移して作成中。ずっと前にこんな(http://teramako.googlepages.com/javascriptshell)ページまで作ってやっていたのだが、vimperatorにハマって全然手を付けていなかった。 vimperatorの:…

PerlのsplitとJavaScriptのsplit

split関数の挙動が違うことに最近気付いた。正確にはPerlの第3引数とJavaScriptの第2引数とでの挙動なんだけど。 JavaScriptの場合 var str = "a b c d e f g"; var array = str.split(/\s+/, 3); // array.toSource() = ["a", "b", "c"] Perlの場合 my $str…

HTMLDocumentのcreatRangeとXMLDocumentのcreateRange

ちょいとハマったのでメモ。 var str = "<p>hoge<br>hoge</p>"; var range = document.createRange(); var fragment = range.createContextualFragment(str); 通常のHTML内のJavaScriptなら上手くいくが、XML内のJavaScriptだと、パースエラーが起こる。<br>がパース出来な…

jQuery.ajax で overrideMimeType する方法

UbiquityでHTMLコンテンツとマッシュアップ - IkeTの日記 英語翻訳 - エキサイト翻訳のサービスを利用して英日翻訳するUbiquityコマンド。 このサービス、どうも翻訳後の文字コードがShift_JISで文字化けしてしまうという事が書かれていたので、ブクマコメン…

はてなハイクのAPIのstatuses/update

statuses/update 新しいエントリーを投稿します。画像ファイルを投稿 (file パラメータを指定) する場合は、multipart/form-data でエンコードして下さい。 はてなハイク - API って書かれていて、バイナリファイルは投稿しないからXMLHttpRequestのsetReque…