好的,所以我需要在网站上找到特定javascript函数的源代码。 (具体细节并不重要,除非没有办法做我要求的事情)
我可以在html代码的链接中看到函数调用 的onclick = “inbox.sendMessage();”
我知道该函数确实有效,因为如果我使用插件可以调用该页面上的函数,但是,我搜索了该页面中引用的每个.js文件,并且它们都没有包含名为sendMessage的函数。
我要问的是,有没有办法让代码回到源代码,也许有一种方法可以调试html并在触发onclick时中断,然后进入函数查看源代码,但我不知道我怎么能这样做,或者甚至可能。任何帮助将不胜感激,谢谢。
答案 0 :(得分:4)
我想你可以这样做:
inbox.sendMessage
在Web控制台中。 (没有括号的函数名称)
答案 1 :(得分:2)
我通常使用Opera,至少这就是我所做的:
Ctrl
+ Shift
+ I
)。onclick
处理程序的HTML标记。click
事件的监听器。它会显示文件和行号。答案 2 :(得分:2)
sendMessage可以声明为:
var inbox{
sendMesssage:function(){
}
}
//or
function inbox(){
this.sendMessage=function(){
}
}
// or
inbox.sendMessage=function(){}
// or ...
所以寻找“sendMessage(”或“function sendMessage”将找不到任何东西。
在chrome,Internet Explorer和Firefox(使用firebug)中,您可以点击F12并进入调试,在那里您可以检查已加载的脚本,因为可能已经动态加载了脚本。
答案 3 :(得分:0)
#!/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”的所有实例(文件+行号)。