如何在网页中找到JavaScript源代码?

时间:2016-08-13 18:53:16

标签: javascript html firefox web-inspector

我想检查一下JavaScript函数的源代码 web page

在Firefox Inspector中,我点击了 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

3 个答案:

答案 0 :(得分:2)

在firefox中打开所需的页面,按F12打开开发人员工具。 在&#34;调试器&#34;选项卡按ctrl + shift + F(在文件中搜索)并搜索&#34; jspaginate&#34;。它会显示包含该单词的所有文件。

Firefox Developer Tools - Search

Firefox Developer Tools: search for files with the debugger (Video)

或者Firefox&gt; 57 *

不再支持FireBug

安装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);
        });
    }
}
;

答案 1 :(得分:0)

如果单击控制台选项卡,您将看到一堆os js文件已加载。您可能会在其中一个中找到该功能。

他们中的大多数似乎都被缩小了,如果不是全部的话,那么找到这个功能可能很困难。

它也可能位于<script>标记中,但仍然可能不容易找到。

答案 2 :(得分:0)

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

  1. 点击Debugger标签。
  2. Ctrl + Shift + F 查找文件。
  3. 输入方法的名称,然后按 Enter
  4. 窗口会显示&#34;未找到结果&#34;。
  5. 每次Firefox停止使用CPU并再次按 Enter
  6. Firefox 57.0.4似乎有些错误。它没有表明它正在做任何事情。最终,结果将出现。但是,每次按 Enter 都会导致显示多组结果。