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