这个链接如何执行javascript

时间:2014-03-10 22:38:16

标签: javascript jquery

我正在尝试对网页排序进行逆向工程。我可以访问源代码,但它有数千个文件,因此我希望找到一种方法来缩小搜索范围以获得我想要的内容。

该页面的图片中包含单词new。单击它时,将执行客户端操作。我说客户端,因为使用Fiddler进行监控并不显示服务器请求。

无论如何,javascript函数都会执行。

我要做的是找到执行的脚本。使用F12开发人员工具,我去检查被点击的元素,并且...我已经停在我的轨道上。

<a href="javascript:void(0);" title="Create" tabindex="0" class="ClassName">
    <img src="/_imgs/add_10.png" class="PictureClass">New</a>

javascript:void(0)如何执行脚本?也许我错了,它正在制作服务器回发?

任何指针都会受到赞赏。


作为更新,所有指针都非常有用,但我仍然无法找到被解雇的事件......但这部分是由于必须关注其他一些问题。

导致我遇到困难的一件事是有一个不断运行的脚本,所以当我暂停执行时,@ Hafthor表示chrome dev工具在页面上放置了一个蓝色模态,我无法点击任何控件。

2 个答案:

答案 0 :(得分:3)

void(0)是“无所事事”构造,应避免使用javascript:协议,因为建议使用click事件处理程序和return false或使用{{取消事件1}}

void表示“什么都不返回”,如果你不在javascript协议中这样做,你就会冒着调用返回一个然后在页面中显示的值的风险。

示例(使用不显眼的JS更好地服务,但作为示例显示)

preventDefault
如果允许,

会弹出一个窗口,但会呈现

<a href="javascript:window.open('somepage.html','_blank')">Click</a>

在带有链接的页面中。

[Object object]

不会因为void会抑制window.open的返回值,并且实际上类似于

<a href="javascript:void(window.open('somepage.html','_blank'))">Click</a>

再次不建议使用内联事件处理程序。

您看到的脚本仍然可以从外部添加到链接

<a href="#" onclick="window.open('somepage.html','_blank'); return false">Click</a>

不会受到void(0)

的阻碍

更好的选择可能是

window.onload=function() {
  document.getElementsByClassName("ClassName")[0].onclick=function() {
    newImage();
  }
}

答案 1 :(得分:1)

我使用的方法是从Safari或Chrome加载页面,打开调试器,按暂停,然后单击“创建”按钮,它应该在JavaScript的第一个执行位置中断。