如何在网页中找到 JavaScript 来源?
How to I find JavaScript source in web page?
我想检查 JavaScript 函数的源代码
web page
在 Firefox Inspector 中,我点击了
我明白了:
<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
。来源应该在页面上的某个地方,不是吗?
我是 运行 Mac OS 10.10.5 中的 Firefox 48.0。我在督察里
如果单击控制台选项卡,您将看到加载了一堆 os js 文件。您可能会在其中之一中找到该功能。
Most 似乎被缩小了,如果不是全部,所以找到这个函数可能很困难。
它也可以在 <script>
标签中,但仍然可能不容易找到。
在firefox中打开需要的页面,按F12打开开发者工具。
在 "debugger" 选项卡中按 ctrl + shift + F(在文件中搜索)并搜索 "jspaginate"。它将向您显示包含该词的所有文件。
Firefox Developer Tools - Search
Firefox Developer Tools: search for files with the debugger (Video)
或者 Firefox 不再支持的 FireBug >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);
});
}
}
;
以下是找到 JavaScript 方法的步骤。
- 单击
Debugger
选项卡。
- 按Ctrl+Shift+F在文件中查找
- 输入方法名称并按Enter。
- window 会说 "No results found"。
- 每次 Firefox 停止使用 CPU 并再次按 Enter。
Firefox 57.0.4 似乎有问题。它没有任何迹象表明它正在做任何事情。最终,结果会出现。但是,每次按 Enter 都会显示那么多组结果。
我想检查 JavaScript 函数的源代码 web page
在 Firefox Inspector 中,我点击了
我明白了:
<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
。来源应该在页面上的某个地方,不是吗?
我是 运行 Mac OS 10.10.5 中的 Firefox 48.0。我在督察里
如果单击控制台选项卡,您将看到加载了一堆 os js 文件。您可能会在其中之一中找到该功能。
Most 似乎被缩小了,如果不是全部,所以找到这个函数可能很困难。
它也可以在 <script>
标签中,但仍然可能不容易找到。
在firefox中打开需要的页面,按F12打开开发者工具。 在 "debugger" 选项卡中按 ctrl + shift + F(在文件中搜索)并搜索 "jspaginate"。它将向您显示包含该词的所有文件。
Firefox Developer Tools - Search
Firefox Developer Tools: search for files with the debugger (Video)
或者 Firefox 不再支持的 FireBug >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);
});
}
}
;
以下是找到 JavaScript 方法的步骤。
- 单击
Debugger
选项卡。 - 按Ctrl+Shift+F在文件中查找
- 输入方法名称并按Enter。
- window 会说 "No results found"。
- 每次 Firefox 停止使用 CPU 并再次按 Enter。
Firefox 57.0.4 似乎有问题。它没有任何迹象表明它正在做任何事情。最终,结果会出现。但是,每次按 Enter 都会显示那么多组结果。