2016-08-13 175 views
1

我想審查的JavaScript函數的源代碼在 web page如何在網頁中查找JavaScript源代碼?

在Firefox督察,我點擊了 enter image description here

我看到:

<a href="/thread/7629335?start=75&amp;tstart=0" title="last" onclick="jspaginate.init('last', '6'); return false;" class="js-pagination-next j-paginate-last">last</a> 

我想找到來源jspaginate.init。我點擊了調試器選項卡,但我沒有看到jspaginate.init。源應該在某個頁面上,不是嗎?

我在Mac OS 10.10.5中運行Firefox 48.0。我在檢查員。 enter image description here

回答

1

在firefox中打開所需頁面,按F12打開開發者工具。 在「調試器」選項卡中按ctrl + shift + F(在文件中搜索)並搜索「jspaginate」。它會向你展示包含該單詞的所有文件。

Firebug是在Firefox不再支持> 57

安裝firebug,激活它,激活腳本面板也是一樣,然後查找jspaginate對象。在js文件中,您會發現它:

var jspaginate = { 
    data:{}, 
    loading: false, 
    init: function(action, last){ 
     var view = this, 
      target, current; 
     if(this.loading !== true){ 
      view.loadingSequence(); 
      if(action === 'first'){ 
       target = 0; 
       view.update(target, 0); 
      }else if(action === 'prev'){ 
       current = parseInt(view.data.pageIndex)-1; 
       target = (current)*view.data.range; 
       view.update(target, current); 
      }else if(action === 'next'){ 
       current = parseInt(view.data.pageIndex)+1; 
       target = (current)*view.data.range; 
       view.update(target, current); 
      }else if(action === 'last'){ 
       current = parseInt(last)-1; 
       target = (current)*view.data.range; 
       view.update(target, current); 
      } 
     } 
    }, 
    update: function(target, current){ 
     this.data.pageIndex = current; 
     this.pushState(target, current); 
     this.getData(target); 
    }, 
    pushState: function(target, current){ 
     var state = { 'page_id': current, 'user_id': 2 }, 
      title = 'Page'+ current, 
      url = '?start='+target+'&tstart=0'; 
     history.pushState(state, title, url); 
    }, 
    loadingSequence: function(){ 
     this.loading = true; 
     $j('.j-pagination').append('<div class="j-loading-big"><span></span></div>'); 
     $j('.all-replies-container').css('opacity','.5'); 
    }, 
    removeLoading: function(){ 
     $j('.j-loading-big').remove(); 
     $j('.all-replies-container').css('opacity','1'); 
     this.loading = false; 
    }, 
    updateUI: function(data){ 
     $j('.all-replies-container').html(data); 
     $j('html, body').animate({ 
      scrollTop: ($j(".all-replies-container").offset().top -180) 
     }, 800); 

     this.removeLoading(); 
    }, 
    getData: function(target){ 
     var view = this, 
      tId = (this.data.threadId).split('/')[2], 
      urlString = jive.app.url({path:'/inline-thread.jspa?thread='+tId+'&start='+target+'&tstart=0'}); 
     $j.ajax({ 
      url: urlString, 
      cache: true, 
      async: true, 
      type:'POST', 
      dataType : 'html' 
     }).success(function(data) { 
      view.updateUI(data); 
     }).error(function(data) { 
      console.log(data); 
     }); 
    } 
} 
; 
+0

FireBug不再適用於Firefox 57 – Nathan

0

如果你點擊控制檯標籤,你會看到一堆OS的js文件被加載。您可能可以在其中一箇中找到該功能。

如果不是全部,大部分似乎都被縮小了,所以找到這個功能可能很困難。

它也可能位於<script>標記中,但仍可能不容易找到。

0

以下是查找JavaScript方法的步驟。

  1. 點擊Debugger標籤。
  2. 按下Ctrl鍵++˚F來查找文件。
  3. 輸入方法的名稱並按輸入
  4. 窗口會顯示「未找到結果」。
  5. 每次Firefox停止使用CPU並按再次輸入

Firefox 57.0.4似乎是越野車。它沒有表明它正在做任何事情。最終,結果將出現。但是,每次按輸入都會導致顯示多組結果。