亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

監(jiān)控動(dòng)態(tài)創(chuàng)建的script標(biāo)簽

ARGUS / 1772人閱讀

摘要:動(dòng)態(tài)創(chuàng)建標(biāo)簽很常用,比如等等技術(shù)都會(huì)用到,有時(shí)候我們會(huì)希望能夠監(jiān)控和攔截動(dòng)態(tài)創(chuàng)建的標(biāo)簽。下面提供了一種代理的方法來(lái)監(jiān)控。上面的代碼加載完后,就可以監(jiān)控到或者兩種方式加載的了原文

動(dòng)態(tài)創(chuàng)建script標(biāo)簽很常用,比如jsonp、amd 等等技術(shù)都會(huì)用到, 有時(shí)候我們會(huì)希望能夠監(jiān)控和攔截動(dòng)態(tài)創(chuàng)建的script標(biāo)簽。
下面提供了一種代理document.createElement的方法來(lái)監(jiān)控。

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
}

上面的代碼加載完后,就可以監(jiān)控到 script.src 或者 script.setAttribute 兩種方式加載的JS了

var script = document.createElement("script")
script.src = "http://s11.#/z_stat.php?id=1256295486&web_id=1256295486"
script.setAttribute("src","https://s11.#/z_stat.php?id=1256295486&web_id=1256295486")

原文 https://friskfly.github.io/2016/04/12/%E7%9B%91%E6%8E%A7%E5%8A%A8%E6%80%81%E5%88%9B%E5%BB%BA%E7%9A%84script%E6%A0%87%E7%AD%BE/

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/79237.html

相關(guān)文章

  • 如何優(yōu)雅處理前端異常?

    摘要:二需要處理哪些異常對(duì)于前端來(lái)說(shuō),我們可做的異常捕獲還真不少??偨Y(jié)一下,大概如下語(yǔ)法錯(cuò)誤代碼異常請(qǐng)求異常靜態(tài)資源加載異常異常異??缬虮罎⒑涂D下面我會(huì)針對(duì)每種具體情況來(lái)說(shuō)明如何處理這些異常。 前端一直是距離用戶(hù)最近的一層,隨著產(chǎn)品的日益完善,我們會(huì)更加注重用戶(hù)體驗(yàn),而前端異常卻如鯁在喉,甚是煩人。一、為什么要處理異常?異常是不可控的,會(huì)影響最終的呈現(xiàn)結(jié)果,但是我們有充分的理由去做這樣的事...

    zoomdong 評(píng)論0 收藏0
  • 讀書(shū)筆記(04) - 錯(cuò)誤監(jiān)控 - JavaScript高級(jí)程序設(shè)計(jì)

    摘要:項(xiàng)目中我們可通過(guò)設(shè)置采集率,或?qū)σ?guī)定時(shí)間內(nèi)數(shù)據(jù)匯總再上報(bào),減少請(qǐng)求數(shù)量,從而緩解服務(wù)端壓力。借鑒別人的一個(gè)例子只采集上報(bào)錯(cuò)誤參考文檔高級(jí)程序設(shè)計(jì)如何優(yōu)雅處理前端異常作者以樂(lè)之名本文原創(chuàng),有不當(dāng)?shù)牡胤綒g迎指出。 showImg(https://segmentfault.com/img/bVbnuud?w=640&h=640); 錯(cuò)誤類(lèi)型 即時(shí)運(yùn)行錯(cuò)誤 (代碼錯(cuò)誤) 資源加載錯(cuò)誤 常見(jiàn)...

    Null 評(píng)論0 收藏0
  • 在單頁(yè)應(yīng)用中,如何優(yōu)雅上報(bào)前端性能數(shù)據(jù)

    摘要:本文的介紹的是如何設(shè)計(jì)一個(gè)通用的可以以較小的侵入性,自動(dòng)上報(bào)前端的性能數(shù)據(jù)。具體的做法可以看我的上一篇文章在單頁(yè)應(yīng)用中,如何優(yōu)雅的監(jiān)聽(tīng)的變化。三如何上報(bào)性能數(shù)據(jù)那么如何上報(bào)性能數(shù)據(jù)呢,我們第一反應(yīng)就是通過(guò)請(qǐng)求的形式來(lái)上報(bào)前端性能數(shù)據(jù)。 ??最近在做一個(gè)較為通用的前端性能監(jiān)控平臺(tái),區(qū)別于前端異常監(jiān)控,前端的性能監(jiān)控主要需要上報(bào)和展示的是前端的性能數(shù)據(jù),包括首頁(yè)渲染時(shí)間、每個(gè)頁(yè)面的白屏?xí)r...

    KitorinZero 評(píng)論0 收藏0
  • 在單頁(yè)應(yīng)用中,如何優(yōu)雅上報(bào)前端性能數(shù)據(jù)

    摘要:本文的介紹的是如何設(shè)計(jì)一個(gè)通用的可以以較小的侵入性,自動(dòng)上報(bào)前端的性能數(shù)據(jù)。具體的做法可以看我的上一篇文章在單頁(yè)應(yīng)用中,如何優(yōu)雅的監(jiān)聽(tīng)的變化。三如何上報(bào)性能數(shù)據(jù)那么如何上報(bào)性能數(shù)據(jù)呢,我們第一反應(yīng)就是通過(guò)請(qǐng)求的形式來(lái)上報(bào)前端性能數(shù)據(jù)。 ??最近在做一個(gè)較為通用的前端性能監(jiān)控平臺(tái),區(qū)別于前端異常監(jiān)控,前端的性能監(jiān)控主要需要上報(bào)和展示的是前端的性能數(shù)據(jù),包括首頁(yè)渲染時(shí)間、每個(gè)頁(yè)面的白屏?xí)r...

    curried 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

ARGUS

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<