我想检查一下JavaScript函数的源代码 web page
我明白了:
<a href="/thread/7629335?start=75&tstart=0" title="last" onclick="jspaginate.init('last', '6'); return false;" class="js-pagination-next j-paginate-last">last</a>
我想找到jspaginate.init
的来源。我已点击调试器标签,但我看不到jspaginate.init
。来源应该放在页面的某个地方,不应该吗?
答案 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方法的步骤。
Debugger
标签。Firefox 57.0.4似乎有些错误。它没有表明它正在做任何事情。最终,结果将出现。但是,每次按 Enter 都会导致显示多组结果。