var _createElement = document.createElement var __define_src = function(script){ var src Object.defineProperty(script,'src',{ get : function(){ return src }, set : function(s){ src = s script.setAttribute('src',s) } })
var _setAttribute = script.setAttribute script.setAttribute = function(){ var args = Array.prototype.slice.call(arguments) if(args[0] === 'src'){ //do something here console.log('setAttribute',args[1]) } _setAttribute.apply(script,args) } }
document.createElement = function(tagName){ var dom dom = _createElement.call(document,tagName) if(tagName.toLowerCase() === 'script'){ __define_src(dom) } return dom }