JavaScript

[JavaScript]JS like flash #02

jsでflashっぽくできるか第2弾。
今回モデルにしたのは「なにかにキクぜ。グラソー ビタミンウォーター」です。
第1弾はこちら ajax like flash #01

CSS3を使っているのでブラウザによって動作が異なります。
GoogleChrome6.0.472.55(完璧に動作)
SRWareIron4.0.280(完璧に動作)
Safari4.0.5(完璧に動作)
Firefox3.6.2(3D回転無し)
IE8(2D回転3D回転無し)

ajax like flash #02

[javascript]Photoshopの自動化

[javascript]Photoshopの自動化

前提としてjavascriptに精通していること。

1)
C:\Program Files\Adobe\Adobe Photoshop CS4\Scripting\Utilities\ScriptListener.8li
↑を↓へコピー
C:\Program Files\Adobe\Adobe Photoshop CS4\Plug-ins\Automate

2)
Photoshop上でスクリプト化したい操作をする

3)
デスクトップに出来たScriptingListenerJS.logを開いて
処理の該当部分をコピー

4)
3)でコピーしたものをペーストして※1を参照しながら
必要なコードをガリガリ書く

5)
拡張子jsx、文字コードUTF-8で保存

6)
ファイル>スクリプト>参照>出来たjsxファイル
で実行できます。

jsxファイルを下記フォルダへ入れておけばPhotoshop再起動後に
ファイル>スクリプトのメニューに表示されるようになります。
C:\Program Files\Adobe\Adobe Photoshop CS4\Presets\Scripts

※1 Photoshop CS自動化作戦
http://www.openspc2.org/book/PhotoshopCS/

[twitter]reply counter ver2

あなたが誰に何回ツイートしたか調べます。OAuth認証バージョン。
最近フォローした100人まで、過去3200ツイートまで調べることが出来ます。
OAuth認証なのでツイート非公開の人も使えます。
逆に自分以外のIDは使えません。 -> 修正。friendのIDなら使える。
前回のものより正確。※Twitterのサーバの調子による。
前回のものよりサーバに優しい。

reply counter ver2


[ajax]UI#01

WindowsXPの下記のブラウザで動作を確認しました。
Firefox3.6.3
Google Chrome5.0.375.125
IE8
Safari5.0



[twitter]twitterクライアント作った

[update] 7/23 セッション、クッキーまわりを修正。
[update] 7/27 不具合を修正。safari5に対応。
[update] 7/28
暫定的にTwitpicタイムラインに対応。
TwitpicにTwitterと同じIDでアカウントを作ってある場合「+」にTwitpicが現れる。

[update] 8/2 「more」の不具合を修正。
[update] 8/6 誰宛か明確にした。
[update] 8/9 後回しにしてた諸々を実装。
[update] 8/11 色々改装。IE8に対応。「retweet_by_me」に「undo」を追加。
「@somebody」を追加。reply tracerの機能を実装。

[update] 9/15 こっそりTwitpicTLの不具合を修正。
[update] 10/28
「@somebody」「Twitpic」廃止。
モバイルに対応。見た目を細かく修正。

[update] 11/08
押し間違いやすかったretweetをツイート下部へ。
favoriteとかretweetとか出来ない不具合修正。
bookmarkをfavoriteへ。

[update] 11/17 リツイート系にdetail追加。誰がリツイートしたかわかる。

WindowsXPの下記のブラウザで動作を確認しました。
Firefox3.6
Google Chrome5.0.375.99
SRWare Iron4.0.280
Safari5.0

「sign in with twitter」をクリックすると
twitterのサイトにリダイレクトされるのでアプリケーションを許可してください。
上部の「+」から追加したいタブを選択してください。
上部のauto updateの値が自動更新の間隔です。0にすると自動更新はしません。

[JavaScript]jsでリンクを開くとリファラが取得出来ない

IE6,7でjavascriptのwindow.openでリンクを開くとリファラが取得できない。
また、AS3のnavigateToURL、AS2のgetURL、AS2のExternalInterfaceでwindow.open
ではswfファイルの絶対パスがリファラになってしまうようです。
その回避方法をここに記します。

サンプル

//リンクを開くときにこのメソッドを使う
function open_main2(url, target){
	if(document.all){//IEの時
		var body=document.getElementsByTagName("body")[0];
		var atag=document.createElement("a");
		atag.href=url;
		atag.target=target;
		body.appendChild(atag);
		atag.click();
		body.removeChild(atag);
	}else{//IE以外
		window.open(url, target);
	}
}

[JavaScript]ブックマークレットまとめ

サンプル

twitter

var t="frasio report | /";
var url="http://twitter.com/home?status="+encodeURIComponent(t);
window.open(url, "_blank");

はてなブックマーク

var t="frasio report";
var u="/";
var url="http://b.hatena.ne.jp/add?mode=confirm&url="+u+"&title="+encodeURIComponent(t);
window.open(url, "_blank");

Yahoo!ブックマーク

var t="frasio report";
var u="/";
var url="http://bookmarks.yahoo.co.jp/bookmarklet/showpopup?t="+encodeURIComponent(t)+"&u="+encodeURIComponent(u)+"&ei=UTF-8";
window.open(url, "_blank");

Googleブックマーク

var t="frasio report";
var u="/";
var te=encodeURIComponent((window.getSelection&&window.getSelection())||(document.getSelection&&document.getSelection())||(document.selection &&document.selection.createRange&&document.selection.createRange().text));
var url;
if(te==""){
	url="http://www.google.com/bookmarks/mark?op=add&bkmk="+u+"&title="+encodeURIComponent(t)
}else{
	url="http://www.google.com/bookmarks/mark?op=add&bkmk="+u+"&title="+encodeURIComponent(t)+"&annotation="+te;
}
window.open(url, "_blank");

facebook

var t="frasio report";
var u="/";
var url="http://www.facebook.com/sharer.php?u="+u+"&t="+encodeURIComponent(t);
window.open(url, "_blank");

delicious.

var t="frasio report";
var u="/";
var url="http://delicious.com/save?v=5&noui&jump=close&url="+encodeURIComponent(u)+"&title="+encodeURIComponent(t);
window.open(url, "_blank");

Yahoo!カレンダー

var std=new Date();
var st=std.getFullYear()+pzero(std.getMonth()+1,2)+pzero(std.getDate(),2)+"T"+pzero(std.getHours().toString(), 2)+pzero(std.getMinutes().toString(), 2);
var dur="0100";
var t="frasio report";
var s="flashやflashとかflashなど・・・最近はそうでもない";
var url='https://calendar.yahoo.co.jp/?';
url+='V=60';
url+='&ENC=UTF-8';
url+='&ST='+st;
url+='&DUR='+dur;
url+='&TITLE='+encodeURIComponent(t);
url+='&DESC='+encodeURIComponent(s);
url+='&URL='+"/";
url+='&chgp=1';
window.open(url, "_blank");

[twitter]reply counter

あなたが誰に何回ツイートしたか調べます。
最近フォローした100人まで、過去3200ツイートまで調べることが出来ます。
twitterAPIを一回だけ使用します。

追記
少し修正しました。
・最近フォローした100人まで → フォローしている人全員
・twitterAPIを一回だけ使用します。 → twitterAPIを使用しません。

reply counter


次の更新は6月の予定