Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有人知道如何从哪个js文件找到javascript操作?_Javascript_Debugging - Fatal编程技术网

有没有人知道如何从哪个js文件找到javascript操作?

有没有人知道如何从哪个js文件找到javascript操作?,javascript,debugging,Javascript,Debugging,例如: 文件a.html包括5个javascript文件。当我单击共享btn时,我如何知道我的单击操作来自哪个js文件。我看到了几种可能的情况。我将给出每种情况,以及我将如何处理这个问题 按钮绑定到javascript: 在这种情况下,按钮的形式是。。。是要调用的函数。为了使其工作,函数的名称没有被丑化,即使文件的其余部分已经被丑化。在这种情况下,您应该能够在您喜爱的文本编辑器中打开10个文件中的每一个,然后只搜索该函数名。简单 javascript绑定到按钮: 从你给我们举的一个小例子来看,我

例如:


文件a.html包括5个javascript文件。当我单击共享btn时,我如何知道我的单击操作来自哪个js文件。

我看到了几种可能的情况。我将给出每种情况,以及我将如何处理这个问题

按钮绑定到javascript: 在这种情况下,按钮的形式是。。。是要调用的函数。为了使其工作,函数的名称没有被丑化,即使文件的其余部分已经被丑化。在这种情况下,您应该能够在您喜爱的文本编辑器中打开10个文件中的每一个,然后只搜索该函数名。简单

javascript绑定到按钮: 从你给我们举的一个小例子来看,我认为这种情况最有可能发生。这就是按钮被赋予某些类的地方也许sns共享?javascript不知何故在DOM中寻找按钮并绑定到它的click事件

我将为此做的与上面类似,只是多了几个步骤。首先,通过美化器运行每个文件,这是一个使它们更易于阅读的示例。这不会修复变量名或类似的东西;它只会使结构更易于阅读。接下来,在您喜爱的文本编辑器中打开美化的文件。搜索案例中使用的类名,这可能是sns共享。除非故意混淆代码,否则类名字符串应该显示在某个地方。找到这个字符串,智能地阅读代码,找出它的使用位置。如果您可以找到javascript查找该类的所有元素并将单击处理程序绑定到这些元素的位置,那么您已经找到了函数

实际绑定可能采用两种不同的形式。也许:

$(".sns-share").click(function () ....
如果他们正在使用jQuery。或者可能:

var elements = jQuery(".sns-share");
elements.bind('click', function () ...
也许他们没有使用任何包装器库,而是直接使用DOM:

var elements = document.getElementsByClassName('sns-share');
for (var i = 0; i < elements.length; i++) {
    element.onclick = function () ...
}
或者,完全不同的东西,如果他们打算与IE6兼容或其他东西。你需要留意正在发生的事情

注: 这些过程中的任何一个都取决于某些因素:

您愿意明智地阅读代码。你不能只是盲目地盯着它看……你需要想想它在做什么

代码没有被故意混淆。如果是这样,你将很难找到事情发生的地方。在这种情况下,我将重写整个程序

另一项说明:
如果是上述第二种情况,并且您很难找到开始查找实际绑定函数的位置,您可以在Chrome中检查元素右键单击按钮,选择inspect element并查看事件侦听器,它应该位于左侧面板中。查找click事件并将其展开。侦听click事件的所有函数都将显示在此处。如果使用jQuery,这将没有多大帮助,因为可能很难找到jQuery事件包装的函数,但是如果他们没有使用jQuery或其他东西并直接绑定到DOM元素,这将精确地指向将要执行的函数。

您能澄清一下吗?您发布的少量代码没有调用任何javascript函数,这个问题没有意义。您是否试图找出javascript函数来自哪个文件?如果我们知道为什么你还不知道函数是在哪里定义的,以及为什么你的脚本需要找到它,这可能会有所帮助。我需要维护的页面非常混乱,它包含了10多个已经丑陋的javascript文件。我不能得到src文件,现在我需要修改一个点击操作。但是我不知道操作的代码来自哪个js文件。您是否维护了一些代码,并且需要知道某个函数的定义位置,因为从页面上很难判断它在哪里?