gpt4 book ai didi

javascript - 如何获取页面元素?

转载 作者:行者123 更新时间:2023-11-30 07:25:54 25 4
gpt4 key购买 nike

这很奇怪,我觉得有点愚蠢。

在 CRM 中,我按下 F12 并检查黄色警告部分是一个 ID 为 Notifications 的 DIV(以及名为 Notification0 的子 DIV 、Notification1 等)。

但是,当我访问 document.getElementById("Notifications") 时,我蹲下了。什么鬼?!

此外,当我访问 document.write("") 时,没有任何变化。在 Cr 和 FF 中,确实如此,但 IE 没有反应。我疯了吗?

编辑:

enter image description here

以上是错别字。当我尝试执行时:

document.getElementById("crmNotifications")

我明白了,也没有……有什么建议吗?

最佳答案

你没疯,CRM 和浏览器也没什么问题:)

如果您从浏览器的控制台运行 javascript,则您处于整个页面的 window 上下文中。然而,CRM 表单内容位于 contentIFrame iframe 中。 IFrame 实际上是单独的页面,您甚至可以将此 iframe 在 F12 开发人员工具中指向的链接编辑为您想要的任何其他链接。尝试将其中的 src 属性更改为 http://www.bing.com ,您将在 CRM 窗口中看到 Bing 主页(仅保留功能区):

<iframe title="This is IFrame" id="contentIFrame" src="http://www.bing.com" 
style="width: 100%; height: 100%; border-top-style: none;
border-right-style: none; border-bottom-style: none;
border-left-style: none; display: inline;" >

这就是为什么您无法获取 crmNotifications DOM 元素的原因 - 因为当从控制台运行 javascript 时,您处于父窗口的上下文中。当您指定 window.frames[0] 时,它将为您提供页面上的第一个 IFrame(实际上只有一个),在其中您将能够获得 crmNotifications,因为它就在那里。

当您运行通过 CRM 自定义添加的自定义脚本时 - 它们链接到内部表单页面(IFrame 指向),这就是为什么您可以从这些脚本中直接获取 crmNotifications,因为您已经在“内容”页面上下文中。

关于javascript - 如何获取页面元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15662236/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com