Home > Flex2
Flex2 Archive
[Flex]ブラウザのポップアップブロックを回避する
navigateToURLを使って新しいウインドウを開く場合には、
ブラウザのポップアップブロックに引っかかるときがある。
navigateToURLでは無く、JavaScriptを使ってウインドウを開いてやれば良いらしい。
< ?xml version="1.0" encoding="utf-8"?>
< mx :Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical">
< ![CDATA[
import flash.net.navigateToURL;
private function openNewWindow( event:MouseEvent, url:String, winName:String, w:int, h:int, toolbar:int, location:int, directories:int, status:int, menubar:int, scrollbars:int, resizable:int):void{
var fullURL:String = "javascript:var myWin;" + "if(!myWin || myWin.closed)" + "{myWin = window.open('" + url + "','" + winName + "','" + "width=" + w + ",height=" + h + ",toolbar=" + toolbar + ",location=" + location + ",directories=" + directories + ",status=" + status + ",menubar=" + menubar + ",scrollbars=" + scrollbars + ",resizable=" + resizable + ",top='+((screen.height/2)-(" + h/2 + "))+'" + ",left='+((screen.width/2)-(" + w/2 + "))+'" + "')}" + "else{myWin.focus();};void(0);";
var u:URLRequest = new URLRequest(fullURL);
navigateToURL(u,"_self");
}
]]>
< /mx>
メニューバーやツールバーの有無は0,1のフラグで渡す。
FireFoxとOperaとIEでは確かめてみたけど、確かにウインドウが開いた。
設定によると思うけど、FireFoxでは新しいタブとして開いた。
こういう場合を考えると、やっぱりwidthとheightは設定するべきじゃないなぁ。
ブラウザ全体のサイズが調整されてしまう。
- Comments: 0
- Trackbacks: 0
ActionScriptの処理速度を高速化したい
- 2007-07-09 (Mon)
- Flex2
とりあえず、備忘録的にメモ。
[tips]ActionScript3 最適化・高速化Tips 簡易まとめ
演算をビット演算化するとか、プログラムの可読性を下げそうなもの多め。
でも、クリティカルな場面ではすごい役に立ちそう。
date = new Date()
for (i=0; i<100000; i++){
date.getTime()
}
これだと340ms
date = new Date()
var dateTyped:Date = date
for (var i:int=0; i<100000; i++){ // i を int 型に
dateTyped.getTime()
}
これだと13ms
うぉー。差がありすぎ。
でもstrictでコンパイルして、
ワーニングもきっちり消すように心がけてれば大丈夫かな?
- Comments: 0
- Trackbacks: 0
Home > Flex2
- Search
- Feeds
- Meta
- Advertisement