找不到javascript函数调用的源
好的,我需要在网站上找到特定javascript函数的源代码。(除非无法实现我的要求,否则具体细节并不重要) 我可以在html代码链接中看到函数调用 onclick=“inbox.sendMessage();” 我知道该函数确实有效,因为如果我使用插件a,可以在该页面上调用该函数,但是,我搜索了该页面中引用的每个.js文件,其中没有一个包含名为sendMessage的函数找不到javascript函数调用的源,javascript,debugging,Javascript,Debugging,好的,我需要在网站上找到特定javascript函数的源代码。(除非无法实现我的要求,否则具体细节并不重要) 我可以在html代码链接中看到函数调用 onclick=“inbox.sendMessage();” 我知道该函数确实有效,因为如果我使用插件a,可以在该页面上调用该函数,但是,我搜索了该页面中引用的每个.js文件,其中没有一个包含名为sendMessage的函数 我想问的是,是否有一种方法可以跟踪代码回到源代码,也许有一种方法可以调试html并在触发onclick时中断,然后进入函数查
我想问的是,是否有一种方法可以跟踪代码回到源代码,也许有一种方法可以调试html并在触发onclick时中断,然后进入函数查看其源代码,但我不知道如何才能做到这一点,或者这是否可能。非常感谢您的帮助。我通常使用Opera,至少我是这样做的:
Ctrl
+Shift
+I
)onclick
处理程序单击HTML标记单击事件的侦听器。它会显示文件和行号
我想你可以做到:
inbox.sendMessage
在网络控制台中。(不带括号的函数名)它将打印出函数的源代码。sendMessage可以声明为:
var inbox{
sendMesssage:function(){
}
}
//or
function inbox(){
this.sendMessage=function(){
}
}
// or
inbox.sendMessage=function(){}
// or ...
因此,查找“sendMessage”(“函数sendMessage”)或“function sendMessage”将找不到任何内容
在chrome、Internet Explorer和Firefox(带有firebug)中,您可以点击F12进入调试,在那里您可以检查已加载的脚本,因为可能已经动态加载了脚本
#!/usr/bin/env ruby
Dir::glob("*").each do |name|
lineCount = 1
File.open(name, "r").each do |line|
puts "\nFile name: " + name + "\nline: " + lineCount.to_s if line =~ /inbox.sendMessage/ && name != "findfunction.rb"
lineCount += 1
end
end
编写了一个快速的ruby脚本来帮助您。要执行,首先确保您的计算机上有一个ruby解释器,然后将脚本与所有相关文件一起放入目录中。加载命令行终端,导航到所述目录并键入“ruby findfunction.rb”
它将告诉您“inbox.sendMessage”的所有实例(文件+行号)。尝试搜索“sendMessage”可能的重复项,这可能是哪个web控制台的重复项?我尝试使用Firefox 26,菜单>web Developer>web控制台(Ctrl+Shift+K),它返回[object Function],当单击该选项时,会在右侧放置一个块,用于[对象函数]但我无法分辨它在哪里显示源代码。它在Firefox中使用Firebug和Chrome。