Javascript 如何在IE中查找对象值何时更改

Javascript 如何在IE中查找对象值何时更改,javascript,debugging,tinymce,Javascript,Debugging,Tinymce,我正在开发一个没有文档或注释的大型应用程序。IE、Firefox和Chrome在行为上存在差异。为了调试它,我必须找到一个改变属性的地方(tinymce.editors.length,我需要找到tinymce编辑器的创建位置,因为它是在IE中创建的,而不是在Firefox或Chrome中创建的)。到目前为止,唯一的选择似乎是在所有脚本周围盲目地放置断点,但是有成千上万行,因此任何其他想法都值得赞赏。当您为TinyMCE加载脚本时,它将在浏览器中创建一个名为TinyMCE的全局对象。加载脚本的纯粹

我正在开发一个没有文档或注释的大型应用程序。IE、Firefox和Chrome在行为上存在差异。为了调试它,我必须找到一个改变属性的地方(tinymce.editors.length,我需要找到tinymce编辑器的创建位置,因为它是在IE中创建的,而不是在Firefox或Chrome中创建的)。到目前为止,唯一的选择似乎是在所有脚本周围盲目地放置断点,但是有成千上万行,因此任何其他想法都值得赞赏。

当您为TinyMCE加载脚本时,它将在浏览器中创建一个名为
TinyMCE
的全局对象。加载脚本的纯粹行为创建了这个对象

tinymce
对象中有一个名为
editors
的数组。TinyMCE编辑器使用此数组跟踪网页上的所有编辑器实例。每次初始化TinyMCE实例时,都会将其添加到数组中,每次删除TinyMCE实例时,都会将其从数组中删除。您不需要自己操作
tinymce.editors
数组

初始化TinyMCE实例最常用的方法是通过
init()
函数。下面是一个非常简单的例子:

…API本身记录在这里:


我将查看应用程序的源代码,寻找使用
init()
方法来确定编辑器在代码中的何处实例化

加载TinyMCE脚本时,它将在浏览器中创建一个名为
TinyMCE
的全局对象。加载脚本的纯粹行为创建了这个对象

tinymce
对象中有一个名为
editors
的数组。TinyMCE编辑器使用此数组跟踪网页上的所有编辑器实例。每次初始化TinyMCE实例时,都会将其添加到数组中,每次删除TinyMCE实例时,都会将其从数组中删除。您不需要自己操作
tinymce.editors
数组

初始化TinyMCE实例最常用的方法是通过
init()
函数。下面是一个非常简单的例子:

…API本身记录在这里:


我将查看应用程序的源代码,寻找使用
init()
方法来确定编辑器在代码中的何处实例化

在源代码上使用ctrl-f(find),并希望字符串“tinymce.editors.length”出现在那里。还是缩小了密码?你也可以一步一步地完成整个程序,从我猜的开始。@这个变量没有出现在代码中,它没有被脚本本身改变,它是对外部库(google tinymce)的调用,它包含关于创建了多少编辑器的信息,问题是,即使在对init函数的所有调用设置断点后,我也找不到它们的创建位置。您有到tinymce的链接吗?由于该路径应该以字符串的形式出现在某个地方,因此可以在代码本身中,也可以在某个配置文件中。或者其他可以识别tinymce的字符串?否则,您将无法查看“网络”选项卡,而对象将在调试器中查看。
因为它是在IE中创建的,而不是在IE中创建的。
请在源代码中使用ctrl-f(查找),并希望字符串“tinymce.editors.length”出现在那里。还是缩小了密码?你也可以一步一步地完成整个程序,从我猜的开始。@这个变量没有出现在代码中,它没有被脚本本身改变,它是对外部库(google tinymce)的调用,它包含关于创建了多少编辑器的信息,问题是,即使在对init函数的所有调用设置断点后,我也找不到它们的创建位置。您有到tinymce的链接吗?由于该路径应该以字符串的形式出现在某个地方,因此可以在代码本身中,也可以在某个配置文件中。或者其他可以识别tinymce的字符串?否则,您将无法在调试器中查看网络选项卡和对象。因为它是在IE中创建的,而不是在IE中创建的我在每个初始化处设置了一个断点,所以即使在退出它们之后,editors.length似乎也不会更改(从变量监视中看到)。但是,在文档完全加载后,当我在IE控制台中键入“tinymvc.editors.length;”时,它清楚地表明有4个。你知道编辑器是在init之后立即添加的,还是在将来的某个时候添加的吗?
init()
调用是异步的,因此如果你在调用
init()
之后立即检查长度,如果它还没有在数组中注册,我不会感到惊讶。我在每个init上设置了一个断点,即使在退出editors.length之后(从variable watch查看时),它似乎也不会更改。但是,在文档完全加载后,当我在IE控制台中键入“tinymvc.editors.length;”时,它清楚地表明有4个。您知道是在init之后立即添加编辑器,还是在将来的某个时间添加编辑器吗?
init()
调用是异步的,因此如果您在调用
init()
之后立即检查长度,如果它尚未在数组中注册,我不会感到惊讶。