如何知道当前页面代码添加到窗口中的对象?

当我访问某个页面时,如SPA,我知道一些对象通过其代码添加到window。如何知道当前页面代码添加到窗口中的对象?

有没有办法知道本地浏览器对象/方法,哪些是由应用程序添加的?

回答:

调用窗口变量基本上给你一个从里面的所有内容概述。我想,如果你想知道它目前有多少功能,包括你可以这样做:

Object.keys(window).length; //or just Object.keys for the names 

。如果新的功能被加入到窗口对象知道需要知道他们在那里凡在按键的数量包括或只是通过了解静态数字。仅举一些例子。这里在stackoverflow窗口对象只包含246个键。然而,像谷歌这样的东西我计算了1597个键。所以它真的取决于你使用的应用程序。

所以你可以做的是编写一个函数,检查键的数量是否增加,以及何时发生键取出键并将其移动到函数内的数组中。

这就是我从你的问题中得到的。

回答:

我认为你正在寻找Mutation Observers。有了它们,您可以侦听新添加或删除的DOM元素。我相信你也会收到属性和文字变化的通知。

以下是关于它们的简短文章的链接。 Mutation Observers

希望这会有所帮助!

回答:

假设您有两个单独的选项卡。一个不添加任何东西到窗口(这是很难找到),一个已添加一些属性。

已经打开。

在干净的

做: a = Object.keys(window);JSON.stringify(a);

复制的结果并移动到增加了一些属性窗口中的选项卡。然后做a = JSON.parse(<Ctrl + v>)b = Object.keys(window)

最后: c = b.filter(p=>a.indexOf(p)=== -1)

现在c包含已经加入到由该标签窗口对象的所有属性的名称;

HOT TIP: Firefox的开发版做,默认情况下: a screenshot of how it works 注意window的默认属性不同属性分开(称为[default properties])

以上是 如何知道当前页面代码添加到窗口中的对象? 的全部内容, 来源链接: utcz.com/qa/265859.html

回到顶部