AS3でonDragOver, onDragOut, onReleaseOutsideを実現する

AS2であった
onDragOver
onDragOut
onReleaseOutside
というマウスイベントがAS3ではとれない。

それを実現する方法

button.addEventListener(MouseEvent.MOUSE_DOWN, buttonPress);
button.addEventListener(MouseEvent.MOUSE_UP, buttonRelease);
button.addEventListener(MouseEvent.MOUSE_OVER, buttonOver);
button.addEventListener(MouseEvent.MOUSE_OUT, buttonOut);

function buttonPress(e:MouseEvent):void {
//the button is pressed, set a MOUSE_UP event on the button's parent stage
//to caputre the onReleaseOutside event.
button.parent.stage.addEventListener(MouseEvent.MOUSE_UP, buttonRelease);
}

function buttonRelease(e:MouseEvent):void {
//remove the parent stage event listener
button.parent.stage.removeEventListener(MouseEvent.MOUSE_UP, buttonRelease);

//if the events currentTarget doesn't equal the button we
//know the mouse was released outside.
if (e.currentTarget != button) {
trace('onReleasedOutside');
} else {
//the events currentTarget property equals the button instance therefore
//the mouse was released over the button.
trace('onRelease');
}
}

function buttonOver(e:MouseEvent):void {
if (e.buttonDown) {
//if the mouse button is selected when the cursor is
//over our button trigger the onDragOver functionality
trace('onDragOver');
} else {
//if the mouse button isn't selected trigger the standard
//onRollOver functionality
trace('onRollOver');
}
}

function buttonOut(e:MouseEvent):void {
if (e.buttonDown) {
//if the mouse button is selected when the cursor is
//moves off of our button trigger the onDragOut functionality
trace('onDragOut');
} else {
//if the mouse button isn't selected trigger the standard
//onRollOut functionality
trace('onRollOut');
}
}

参考:http://www.scottgmorgan.com/blog/index.php/2007/12/20/ondragover-ondragout-and-onreleaseoutside-in-as3/

IE7以降のonScrollが効かない件の解決方法

window.onload = function() {
var isIE = 0<=window.navigator.userAgent.indexOf("MSIE");
if(isIE && document.compatMode=="BackCompat"){
document.body.onscroll = ScrollEvent;
}else{
document.documentElement.onscroll = ScrollEvent;
}
}

function ScrollEvent(){
window.status += "s"; // IEのみ
}

こんな感じで宣言する。

参考:http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=34403&forum=7

WEB巡回ツールの調査

・認証付きサイトをダウンロードしたい
・HTMLだが、動的に書き出されたページをDLしたい
・画像、swfが同じディレクトリ配下にないが、きちんとDLしてほしい

といった視点で

Website Explorer http://www.umechando.com/webex/index.html
・とにかく重い、ハングする
・そもそもWEBサイトからして、重くて見れない。


HTTrack http://www.httrack.com/
・認証NG


WeBoX http://webox.sakura.ne.jp/software/webox/
・認証付きができるのかできないのか???
・とりあえず直観的によく分からなかった


巡集 http://www.vector.co.jp/soft/win95/net/se314781.html
・認証とおらない


GetHTMLW http://www.vector.co.jp/soft/win95/net/se077067.html
・認証だめっぽい


PageDown http://www.vector.co.jp/soft/dl/win95/net/se068515.html
・認証だめっぽい


webget http://www.vector.co.jp/soft/dl/win95/net/se206547.html
コマンドライン まぁ認証だめだろう。



疲れた。


ベタ保存なら、IEよりFirefoxのほうがよいことが判明。

リモートデスクトップでファイル転送

接続前に「ローカルリソース」→「ディスクドライブ」のところにチェックを入れる。(右図) これで、リモート環境のマイコンピュータにローカルドライブが表示される。

情報元:http://d.hatena.ne.jp/yaneurao/20060128


これは、すごい。