<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    咖啡伴侶

    呆在上海
    posts - 163, comments - 156, trackbacks - 0, articles - 2

    下面2段代碼是測試代碼,IE9下測試
    都有泄漏,非IE瀏覽器沒問題。困惑


    每秒eval,400個方法調用;200多K的內存泄漏,

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>eval 測試</title>
            <script>

        
    var afunction = function(_name,_mask){
             
    return false;
        }
        
        
    var bfunction = function(_color){
        }
        
        
    var cfunction = function(_color){
        }

    var _action = function(){

        
    for(var i=0;i<40;i++){
        
         
             
    var _script = "if(afunction('111','222')) bfunction('0xCDCD00'); else if(afunction('111','222')) bfunction('0xCDCD00'); else if(afunction('111','222')) bfunction('0xCDCD00'); else if(afunction('111','222')) bfunction('0xCDCD00'); else if(afunction('111','222')) bfunction('0xCDCD00');";
             _script 
    += "if(afunction('222','333')) cfunction('0xCDCD00'); else if(afunction('222','333')) cfunction('0xCDCD00');  else if(afunction('222','333')) cfunction('0xCDCD00'); else if(afunction('222','333')) cfunction('0xCDCD00'); else if(afunction('222','333')) cfunction('0xCDCD00');";
             
    var _func = new Function(_script);
              _func();
            
        }
     
    }

    window.onload 
    = function() {
        setInterval(_action,
    1000);
    };

    </script>

        </head>
        <body>
            
        </body>
    </html>
    2.



    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>eval 測試</title>
            <script>

    var _action = function(){

        
    var afunction = function(_name,_mask){
             
    return false;
        }
        
        
    var bfunction = function(_color){
        }
        
        
    var cfunction = function(_color){
        }
        
        
    for(var i=0;i<40;i++){
             
    var _script = "if(afunction('111','222')) bfunction('0xCDCD00'); else if(afunction('111','222')) bfunction('0xCDCD00'); else if(afunction('111','222')) bfunction('0xCDCD00'); else if(afunction('111','222')) bfunction('0xCDCD00'); else if(afunction('111','222')) bfunction('0xCDCD00');";
             _script 
    += "if(afunction('222','333')) cfunction('0xCDCD00'); else if(afunction('222','333')) cfunction('0xCDCD00');  else if(afunction('222','333')) cfunction('0xCDCD00'); else if(afunction('222','333')) cfunction('0xCDCD00'); else if(afunction('222','333')) cfunction('0xCDCD00');";
             eval(_script);
        }
     
    }

    window.onload 
    = function() {
        setInterval(_action,
    1000);
    };

    </script>

        </head>
        <body>
            
        </body>
    </html>

    posted @ 2012-08-15 16:53 oathleo 閱讀(1738) | 評論 (1)編輯 收藏

    HTML5的canvas需要firefox, safari, chrome, opera或者IE9. 對低于9的IE版本,該游戲使用ExplorerCanvas庫來模擬,雖然視覺效果差一些但也可以使用.簡單寫寫canvas兼容低版本(<9)IE的經驗.

    Canvas是HTML5新增加的元素, 可以方便的畫圖. Firefox, safari, chrome, opera的最近版本以及IE9都支持. IE8及以下不支持HTML5, 但是ExplorerCanvas庫(http://excanvas.sourceforge.net/)調用IE內部功能提供了幾乎相同的API. ExplorerCanvas不支持字體, 所以為了使用文字, 還需要使用canvas-text庫(http://code.google.com/p/canvas-text/).

    使用ExplorerCanvas及canvas-text, 需要在HTML header里包括:  
      <script type="text/javascript" src="javascript/excanvas/excanvas.js"></script>
      <script type="text/javascript" src="javascript/excanvas/canvas.text.js"></script>
      <script type="text/javascript" src="javascript/excanvas/faces/optimer-normal-normal.js"></script>

    如果同一頁HTML要兼容低版本IE和其它支持HTML5的瀏覽器, 可以用如下的語法選擇性加入低版本IE需要的部分:  
      <!--[if IE]>
      <script type="text/javascript" src="javascript/excanvas/excanvas.js"></script>
      <script type="text/javascript" src="javascript/excanvas/canvas.text.js"></script>
      <script type="text/javascript" src="javascript/excanvas/faces/optimer-normal-normal.js"></script>
      <![endif]-->  

    下面的部分包括在HTML的BODY里, canvas元素的后面:
      <!--[if ! IE]>--> <script type="text/javascript" src="javascript/mycode.js"></script> <!--<![endif]-->
      <!--[if IE]> <script type="text/javascript" src="javascript/mycode.ie.js"></script> <![endif]-->

    下面是mycode.ie.js不同于mycode.js的部分.  

    1. addEventListener -> attachEvent
    別的瀏覽器用addEventListener. IE用attachEvent. 對于事件名, IE要多加一個"on". 比如IE用"onmousedown", 別的瀏覽器用"mousedown".  

    2. 為了兼容手機, 鼠標事件為觸屏事件取代, 所以mousedown/mouseup/mousemove改用如下的事件: touchstart/touchend/touchmove.

    3. event.pageX -> pageX(event)
    別的瀏覽器直接用event.pageX. IE完全不同, 所以另外自定義一個函數pageX(event)來達到相同效果:
    function pageX(e) {
      if (e.pageX) return e.pageX;
      else if (e.clientX)
      return e.clientX + (document.documentElement.scrollLeft ?
      document.documentElement.scrollLeft : document.body.scrollLeft);
      else return null;
    }

    4. in event handlers, this.offsetLeft/Top -> vCanvas.offsetLeft/Top
    別的瀏覽器this指代事件發生的元素, 這里是canvas. IE的this指代window, 所以要專門指明vCanvas.offsetLeft/Top.

    5. onmouseout在IE里行為不穩定, 所以應避免使用, 或者改用onmouseleave.

    6. 辨認鼠標的左右鍵, 別的瀏覽器用event.which, IE用event.button.

    7. DIV元素的半透明效果,別的瀏覽器用 style="background-color:rgba(255,255,255,0.75);", IE用style="background-color: white; opacity:0.75;filter:alpha(opacity=75);"  

    8. 定義元素高度和寬度時,IE常要指明單位px,別的瀏覽器不用. 比如:
      <!--[if ! IE]>-->  
      <table id="Toolbar" border="0" cellpadding="2" cellspacing="0" bgcolor="#ffffff" style="font-size:12px; width:320;">
      <!--<![endif]-->

      <!--[if IE]>  
      <table id="Toolbar" border="0" cellpadding="2" cellspacing="0" bgcolor="#ffffff" style="font-size:12px; width:320px;">
      <![endif]-->

    9. 另外IE引擎慢一些, 所以別的瀏覽器里運行流暢的canvas事件, 在IE里要簡略一些來保證運行速度.

    posted @ 2012-08-10 11:52 oathleo 閱讀(499) | 評論 (0)編輯 收藏

    1.目前使用全刷策略,即每秒全刷整張圖(xml格式),復雜圖形通訊量在30K左右(gzip壓縮),桌面瀏覽器:FF、Google Chrome 運行CPU占用3%左右
    2.移動設備測試效果同1
    3.桌面IE8下使用excanvas插件,可以打開看但效率很低,無法實現秒級刷新(IE9下效果未知)
     
    使用canvas已可開發出非IE瀏覽器實時圖形,適合桌面和移動系統
    桌面IE8及以下,仍然沒有高效的圖形展示方案
    如客戶端局部刷新,應該能提高通訊、展示效率,但大大提升開發難度,但如想IE8下實現秒級刷新,估計只能依靠優秀的局部刷新技術來實現



    2

    posted @ 2012-08-03 08:56 oathleo 閱讀(1109) | 評論 (0)編輯 收藏

    1.canvas draw橢圓 通過 scale 
    2.arc 前必須beginPath 
            canvas_context.save();
            canvas_context.scale(1, _scale);
            canvas_context.beginPath();
            canvas_context.arc(_centerX, _centerY, parseInt(_bounds[2] * 0.5), 0,(Math.PI/180)*360, true);
         
            canvas_context.restore();

    posted @ 2012-07-31 10:21 oathleo 閱讀(831) | 評論 (0)編輯 收藏

    visio本身的格式不用浪費時間了,太復雜,即使是它明文的,讀起來也是吃力的要命

    所以嘛,繞著來,visio可以轉svg,svg這么通用的格式,就好讀取多了,可以自己讀,也可以找第三方

    這里使用最常見的batik,讀的真心不錯!自己再從batik里面讀取,方便多了

    因為是公司的東西,所以只能發點截圖了

    visio原圖



    讀取batik里的對象,再轉格式后展示的效果


    posted @ 2012-03-23 16:54 oathleo 閱讀(2030) | 評論 (0)編輯 收藏

    友人出的新書:恭喜并強烈推薦下 《Ext江湖》,
    http://product.china-pub.com/194667

    摘錄一段別人的評價:
    本書每一章節思路清晰、重點突出,文風樸實、目標明確,具有很強的針對性、實用性;本書每一樣例以開發者角度,循序漸進,從淺入深一步一步娓娓道來;Ext江湖,處處充滿驚喜,處處埋藏絕技,它就是歐萊雅,你值得擁有!

    posted @ 2011-12-22 13:47 oathleo 閱讀(1753) | 評論 (4)編輯 收藏

     
    仿射變換可以理解為
    ?對坐標進行放縮,旋轉,平移后取得新坐標的值。
    ?經過對坐標軸的放縮,旋轉,平移后原坐標在在新坐標領域中的值。
     
    如上圖所示,XY坐標系坐標軸旋轉θ,坐標原點移動(x0,y0)。
    XY坐標系中的坐標(X,Y),則求新坐標系xy中的坐標值的方程組為:
     
    X = X?cosθ - Y?sinθ + x0
    Y = X?sinθ + Y?cosθ + y0
     
    寫成矩陣形式為
     
    | x |              | cosθ   sinθ |   | x0 |
    |   | = | X Y | * |               | + |    |
    | y |              | -sinθ cosθ |   | y0 |
     
    為將原點移動的值放入矩陣,則可以加入一個不影響原方程組的解的冗余方程。于是可以寫成
     
    X = X?cosθ - Y?sinθ + x0
    Y = X?sinθ + Y?cosθ + y0
    1 = X?0     + Y?0     + 1
     
    寫成矩陣形式為
    | x |                 | cosθ   sinθ   0|
    | y | = | X Y 1 | * | -sinθ cosθ   0|
    | 1 |                 | x0      y0      1|
     
    這個矩陣就是Helmert變換矩陣。
     
    考慮到新坐標系對于原坐標系在x,y兩個坐標軸上的放縮率,可分別表示為λx和λy,則Helmert變換方程組可以修改為
     
    X = (λx)X?cosθ - (λy)Y?sinθ + x0
    Y = (λx)X?sinθ + (λy)Y?cosθ + y0
     
    同樣按照前述方法寫成三階矩陣為
     
    | x |                 | (λx)cosθ   (λx)sinθ   0|
    | y | = | X Y 1 | * | (λy)-sinθ (λy)cosθ   0|
    | 1 |                 |  x0           y0          1|
     
    這個矩陣就是affine變換矩陣,仿射矩陣。

    posted @ 2011-12-20 11:21 oathleo 閱讀(404) | 評論 (0)編輯 收藏

    abstract 該類

    posted @ 2011-12-12 16:57 oathleo 閱讀(263) | 評論 (0)編輯 收藏

    12月4日傍晚,中國農業大學經濟管理學院副教授葛長銀發了一條微博,“請大家注意年終獎臨界點,寧可少千元不要超一元”,并舉出例子,
    比如年終獎為 18000元,那么要繳納540元的稅,
    如果按年終獎為18001元,則需要多納稅1155.1元,即1695.1元。
    同理,54001元的年終獎比 54000元多納4950.2元;
    發108001元比108000元多納24390.25元;
    發420001元比420000元多納19250.3元;
    發 660001元比660000元多納30250.35元;
    發960001元比960000元多納88000.45元。

    posted @ 2011-12-07 13:52 oathleo 閱讀(319) | 評論 (1)編輯 收藏

    1.遇到的問題:flex全屏下,使用
    http://www.tkk7.com/oathleo/archive/2011/11/29/365125.html
    的方法,無法解決右鍵菜單自定義了

    2.解決的問題
    flex里使用了flex ---》eval js  ---》回調flex對象注冊方法
    其中js回調 flex對象上注冊方法時
    IE下可以直接使用  objectID.方法名  來調用,FF下不行

    原來FF下是使用document.getElementById('"+ objectID +"') 來找到flex對象的,IE也兼容該方法

    posted @ 2011-12-05 17:09 oathleo 閱讀(1475) | 評論 (2)編輯 收藏

    僅列出標題
    共17頁: First 上一頁 2 3 4 5 6 7 8 9 10 下一頁 Last 
    主站蜘蛛池模板: 亚洲美女在线观看播放| 亚洲无删减国产精品一区| 国产JIZZ中国JIZZ免费看| 久久亚洲高清综合| 久久久久久噜噜精品免费直播 | 精品亚洲成A人在线观看青青| 免费一区二区视频| 中文字幕乱码免费看电影| 免费人成年激情视频在线观看| a级毛片免费完整视频| 在线观看亚洲AV日韩AV| 亚洲а∨天堂久久精品| 亚洲男人的天堂久久精品| 免费人成在线观看播放国产| 99精品热线在线观看免费视频| 亚洲乱亚洲乱妇无码| 久久亚洲国产成人精品无码区| 免费无码AV片在线观看软件| 亚洲国产成人久久综合一| 热99re久久免费视精品频软件| 中文字幕无码免费久久| 亚洲熟妇成人精品一区| 久久精品国产亚洲AV麻豆不卡| 手机看片久久国产免费| 日韩精品无码专区免费播放| 日韩成人毛片高清视频免费看| 亚洲H在线播放在线观看H| 亚洲高清专区日韩精品| a级片在线免费看| 含羞草国产亚洲精品岁国产精品| 亚洲AV无码精品色午夜果冻不卡| 免费播放春色aⅴ视频| 久久天天躁狠狠躁夜夜免费观看 | 国产成人综合久久精品免费| 一级特黄aa毛片免费观看| 又硬又粗又长又爽免费看| 亚洲精品久久无码av片俺去也| 亚洲白色白色永久观看| 亚洲国产婷婷六月丁香| 亚洲人午夜射精精品日韩| 巨胸喷奶水视频www网免费|