第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Object.defineProperty在safari中的奇怪行為

Object.defineProperty在safari中的奇怪行為

www說 2018-09-13 09:09:58
avalon是一款優(yōu)雅&優(yōu)秀的MVVM框架,最近我在學(xué)習(xí)它,看源碼的過程中,學(xué)習(xí)到了屬性劫持(建議大家使用avalon,至少也得學(xué)習(xí)一下,能學(xué)到很多東西)例如我可以劫持Element.prototype的innerHTML和Node.prototype的nodeValue屬性但是在safari中發(fā)現(xiàn)了一些兼容性問題劫持innerHTML的例子劫持innerHTML,在safari中拋錯了,當(dāng)然,我知道什么原因,由于configurable在safari中的值是false,故拋錯劫持nodeValue的例子我想知道有沒有什么變通的方法或黑魔法來達到在safari中劫持這兩個屬性的目的?在一次avalon的修復(fù)中發(fā)現(xiàn)了司徒使用了__defineSetter__來代替defineProperty然后解決了這個問題,但是經(jīng)過我自己寫碼測試(直接在safari的console中測試的),發(fā)現(xiàn)沒有解決,請問我那點兒錯了?
查看完整描述

1 回答

?
回首憶惘然

TA貢獻1847條經(jīng)驗 獲得超11個贊

不是所有屬性都可以卻持的??!

有的屬性的劫持是在Node.prototype上,有的在Element.prototype 上,有的在HTMLElement.prototype上,有的在HTMLDivElement上。

并且__defineSetter__是 要配合`__lookupSetter__`一起使用。

建議你不要亂改原型方法。


查看完整回答
反對 回復(fù) 2018-10-02
  • 1 回答
  • 0 關(guān)注
  • 771 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號