我正在尝试查找哪个JavaScript将“display:inline”应用于图像元素。你可以通过附加的图片中看到,“显示:无”是越来越重写,但我不知道在哪里“显示:内联”是来自:查看哪个JavaScript文件正在将元素应用于元素
源是有许多的PHP文件。 js文件。我试过在我的Chrome开发人员工具中使用断点,但在重新加载页面时会丢失它们。任何想法如何可以发现应用“display:inline”的JS代码?
我正在尝试查找哪个JavaScript将“display:inline”应用于图像元素。你可以通过附加的图片中看到,“显示:无”是越来越重写,但我不知道在哪里“显示:内联”是来自:查看哪个JavaScript文件正在将元素应用于元素
源是有许多的PHP文件。 js文件。我试过在我的Chrome开发人员工具中使用断点,但在重新加载页面时会丢失它们。任何想法如何可以发现应用“display:inline”的JS代码?
这个工作对我来说在Chrome:
当我做到这一点,断点停止代码行的元素(甚至在页面刷新)上设置.style.display = "inline"
的。
我的元素是由标记定义的,而不是稍后由代码添加的,所以如果您的代码稍后通过代码添加,那么DOM断点可能无法在页面刷新中存活。
如果DOM断点不生存出于某种原因页面刷新,但该元素被标记定义,则:
修改页面标记,以便立即结束标记后元素的,你有<script>debugger;</script>
,像这样:
<div>This is the element</div>
<script>debugger;</script>
<div>The next element...</div>
(通常情况下,我们不乱扔垃圾script
TA gs遍布我们的HTML,但这是一个调试会话。)
开放开发工具
打开的页面;它将停止在debugger
上述声明
切换到DOM查看,发现该元素存在(它会在右下角附近)
右键单击它并选择打破>属性修改
击中恢复箭头,让事情继续
这应该让你设置在添DOM断点抓住修改它的东西。
最后:如果元素是通过脚本代码添加的,您必须找到添加它的代码(blech)并在添加后立即设置一个断点,以便您可以使用上面第二个列表中的步骤#4 。
即使这不能解决OP的问题,这也是一种没有人可以使用的调试技术。 –
我试过这个。问题是当我刷新页面时,Break On>属性修改被取消选中,因此它不会因为它应该中断。任何方式来解决这个问题? –
@GTSJoe:我想到了一个方法,我刚刚添加了一个方法。看到上面的新位。 –
它来自直接写入元素HTML的'style'属性(即'
')。这就是'element.style'部分的含义。 –
@ScottMarcus:这也是通过'element.style.display =“inline”'所做的更改显示的地方。 –
@Scott这也是我的想法,但元素中没有这样的内联样式。这就是为什么我相信它必须通过JavaScript来应用。 –