在浏览器中检查之前无法获取/访问元素(旧/旧 ASPX)?

Can't get/access elements until inspecting in browser (Old/legacy ASPX)?

提问人:IOI 提问时间:10/7/2023 最后编辑:IOI 更新时间:10/7/2023 访问量:22

问:

许多网站已经迁移,现在包含在 ASP.NET Framework v4.6.X 中,但仍有一些遗留部件是在 ASPX v3 中构建的。X,所以想想这些旧项目都是在一个子帧中渲染的(主屏幕帧是 ASP.NET v4.6 和一些 ASPX v3。X 个解在屏幕的子正方形中重新定义)。 问题基本上是,在这个旧版 ASPX 项目/解决方案中,在我检查子框架呈现文档的任何部分之前,无法从 Web 浏览器的控制台访问元素。 因此,当页面加载最初无法访问元素时,如果我检查主框架(ASP.NET v4.6.X)的任何部分,元素仍然不可用,只有当我检查子框架部分的任何元素(从 ASPX 3.X 呈现)时,这些元素才能访问。

以下是在 Firefox、Edge 和 Chrome 中测试的行为示例

// initial page load
document.forms
--> HTMLCollection { length: 0 }

// after inspected any part of main frame
document.forms
--> HTMLCollection { length: 0 }

// after inspected any part of the aspx sub-frame
--> HTMLCollection { 0: form#Form1, length: 1, … }

我还尝试在 Web.config 文件中添加以下标签(它们都不起作用):

<xhtmlConformance mode="Legacy" />
<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID">
...
</pages>

谢谢!

JavaScript HTML asp.net 旧版

评论

0赞 Albert D. Kallal 10/9/2023
完全不确定你所说的“子框架”是什么意思。你用的是iframe吗?这是我唯一能建议的问题,在这里永远很重要。使用 .net 4.8、.net 3.5 甚至 .net core?那么这里重要的是零,但我在这里重复零。Web 服务器如何呈现 HTML 并不重要,客户端浏览器开发人员工具也不关心,甚至不知道 HTML 是如何创建的,只知道它是如何创建的!正如我所说,唯一可能很重要的问题是您是否在此处使用 iframe。那么,使用 .net 4.0、2.0、3.5 或 xx 版?没关系

答: 暂无答案