Egret 使用遇到的問題總結(一)


一:判斷對象是否已經被添加到顯示列表上

1.類是否被加載到舞台:egret.Evetn.ADD_TO_STAGE 2.判斷對象是否被添加到父容器里:father.contains(child):Boolean
3.this.stage!=null (this是判斷的對象類)

 二:egret調用原生js實現復制功能

//str:復制的內容
public setTextToClipboard(str: string) { var input = document.createElement("input"); input.value = str;
       input.readOnly = true; //在ios上必須加上 document.body.appendChild(input); input.
select(); input.setSelectionRange(0, input.value.length), document.execCommand('Copy'); document.body.removeChild(input); // window.alert("復制成功"); EffectUtils.showTips("房間信息已經復制成功,請粘貼發送給好友"); }

 三:egret使用 egret.localStorage出現的問題

什么是localStorage
在HTML5中,新加入了一個localStorage特性,這個特性主要是用來作為本地存儲來使用的,解決了cookie存儲空間不足的問題(cookie中每條cookie的存儲空間為4k),localStorage中一般瀏覽器支持的是5M大小,這個在不同的瀏覽器中localStorage會有所不同。

localStorage的優勢
1、localStorage拓展了cookie的4K限制
2、localStorage會可以將第一次請求的數據直接存儲到本地,這個相當於一個5M大小的針對於前端頁面的數據庫,相比於cookie可以節約帶寬,但是這個卻是只有在高版本的瀏覽器中才支持的
3、localStorage與sessionStorage的唯一一點區別就是localStorage屬於永久性存儲,而sessionStorage屬於當會話結束的時候,sessionStorage中的鍵值對會被清空

localStorage的使用
localStorage.getItem(key):獲取指定key本地存儲的值
localStorage.setItem(key,value):將value存儲到key字段

 

存:egret.localStorage.setItem('test','string'); 取:egret.localStorage.getItem('test'); 刪:egret.localStorage.removeItem('test'); 清空所有:egret.localStorage.clear(); 存:egret.localStorage.setItem('test', JSON.stringify(data)); 取:var data = JSON.parse(<string>egret.localStorage.getItem('test')); 刪:egret.localStorage.removeItem('test'); 清空所有:egret.localStorage.clear();

 egret.localStorage在使用setItem存儲數據后,瀏覽器會一直記住上一次存儲的數據,當要改動的時候需要先清除 removeItem對應的字段,或者清空所有 clear();在用setItem存儲。

四:判斷是不是微信上瀏覽

 

    //是不是微信瀏覽
 export function isWeiXin(): boolean { var ua = window.navigator.userAgent.toLowerCase(); var microStr = "" + ua.match(/MicroMessenger/i); if(microStr == "null") { return false; } else if(microStr == "micromessenger") { return true; } }

 五:選中一組按鈕其中一個,並且需要處理選中和非選中的區別

 

let index: number = this.btnList.indexOf(e.target); for(let i = 0; i < this.btnList.length; i++) { if (i == index) { this.btnList[I].y = 100; }else{ this.btnList[I].y = 0; } } 

 六:egret 判斷是native還是web端

egret.Capabilities.runtimeType ?

webegret.RuntimeType.WEB

native egret.RuntimeType.NATIVE

移動設備打開egret.Capabilities.isMobile或者 window.innerHeight =? window.innerWidth

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM