查看网页生成源的最佳方式?

2023-11-27

我正在寻找一个工具,它可以为我提供正确的生成源,包括由 AJAX 请求输入到 W3 验证器中所做的 DOM 更改。我尝试过以下方法:

  1. 网页开发者工具栏- 根据文档类型生成无效源(例如,它删除标签的自关闭部分)。丢失页面的文档类型部分。
  2. Firebug- 修复源中的潜在缺陷(例如未封闭的标签)。还会丢失标签的 doctype 部分并注入本身是无效 HTML 的控制台。
  3. IE 开发工具栏 - 根据文档类型生成无效源(例如,它使所有标签都大写,违反 XHTML 规范)。
  4. 突出显示 + 查看选择源 - 通常很难获取整个页面,也不包括文档类型。

是否有任何程序或附加组件可以为我提供源代码的确切当前版本,而无需以某种方式修复或更改它?到目前为止,Firebug 似乎是最好的,但我担心它可能会修复我的一些错误。

Solution

事实证明,正如贾斯汀所解释的那样,我想要的东西没有确切的解决方案。最好的解决方案似乎是验证 Firebug 控制台内部的源代码,即使它会包含由 Firebug 引起的一些错误。我还要感谢 Forgotten Semicolon 解释了为什么“查看生成的源代码”与实际源代码不匹配。如果我可以标记 2 个最佳答案,我会的。


贾斯汀已经死定了。这里的关键点是 HTML 只是一种用于描述文档的语言。一旦浏览器读取到它,它消失了。开放标签、关闭标签和格式都由解析器处理然后走开。任何显示 HTML 的工具都是生成它基于文档的内容,因此它永远有效。

有一次我不得不向另一位网络开发人员解释这一点,他花了一段时间才接受。

您可以在任何 JavaScript 控制台中亲自尝试:

el = document.createElement('div');
el.innerHTML = "<p>Some text<P>More text";
el.innerHTML; // <p>Some text</p><p>More text</p>

未闭合的标签和大写标签名称消失了,因为该 HTML 在第二行之后被解析并丢弃。

从 JavaScript 修改文档的正确方法是document方法 (createElement, appendChild, setAttribute等),您会发现这些函数中都没有引用标签或 HTML 语法。如果您正在使用document.write, innerHTML或其他用于修改页面的 HTML 调用,验证它的唯一方法是捕获您放入其中的内容并单独验证该 HTML。

也就是说,获取文档的 HTML 表示形式的最简单方法是:

document.documentElement.innerHTML
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

查看网页生成源的最佳方式? 的相关文章

  • 如何在响应式设计中禁用缩放功能?

    在使用 iPad iPhone 和 或其他智能手机时 如何禁用响应式设计页面中的放大和缩小功能 有什么办法可以控制吗 创建 META 视口标签 并设置用户可扩展属性为 否 如下所示 更新的答案
  • 如何让 watir-webdriver 通过 Firebug 启动 Firefox 4?

    有任何想法吗 我尝试按照下面的链接所述设置 webdriver firefox useExisting true 希望重用启用了 firebug 的现有窗口 但没有这样的运气 http code google com p selenium
  • 如何在 Quill(富文本编辑器)中检测和修剪前导/尾随空格?

    如何检测并删除前导 尾随空格Quill https quilljs com 哪个是富文本编辑器 例如 样本HTML下面代表Quill文本的输出 nHi 我们想要检测并删除由以下命令创建的每个文本块的前导和尾随空格Quill 不适用于整个文档
  • 客户端与服务器端图像压缩[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在研究用户可以上传图片的东西 图像大小不受限制 现在我有两个选择使用PHP 服务器端 压缩图像或使用
  • jquery - 如何根据我的滚动位置滚动顶部动画到下一个可见的 div/类?

    如果标题有点模糊 请原谅我 因为我不知道如何写下来 基本上 我们有一个包含 6 个 场景 的页面 他们都有班级 scene和不同的 ID 例如 scene1 scene2 etc 首先 我们必须动态更改每个场景的颜色 gt 场景 1 是浅色
  • HTML/CSS 水平导航子菜单悬停显示错误

    我正在创建一个带有水平导航和垂直子菜单的 HTML 页面 一切工作正常 除了子菜单上的悬停显示在实际菜单项的左侧 看我的jsfiddle https jsfiddle net qmcte349 https jsfiddle net qmct
  • 关于调试打印样式表的建议?

    我最近一直在为一个网站制作打印样式表 我意识到我不知道如何有效地调整它 在屏幕布局上工作时有一个重新加载周期是一回事 更改代码 命令选项卡 reload 但是当您尝试打印时 整个过程会变得更加困难 更改代码 命令选项卡 reload pri
  • 父元素的 mousedown 事件中的 offsetX 和 offsetY 错误

    我在 mousedown 上获取 offsetX 时遇到问题 下面是我的代码 div Click the text The mouseDown function is triggered when the mouse button is p
  • 如何在标签中制作文字自动换行

    我想在其中添加文字 a 标签适合固定的 div 但它会破坏 div 并且显示得很丑 CSS3 有一个属性 word wrap break word 看看MDN 自动换行文档 https developer mozilla org en CS
  • Chrome 不渲染
    标签,FF 渲染

    我有一个非常烦人的问题 我的网站有一个表单 可以在 Firefox 中运行 但不能在 IE 或 Chrome 中运行 它是用 WordPress 的 Gravity Forms 制作的 但这可能与该问题无关 因为另一个表单插件也出现了同样的
  • 我可以在一个变量中拥有多个值吗?

    正如标题 我可以在一个变量中拥有多个值吗 首先 我有这个表格
  • 文本区域值高度[重复]

    这个问题在这里已经有答案了 我有一个 textarea 其 css 高度设置为 85px 用户可能会在该文本区域内键入内容行 我想知道文本 值的高度 而不是文本区域本身 有没有办法检查内部文本的高度 包括换行符 我会将文本区域的内容复制到另
  • Phonegap(应用程序错误...发生网络错误)

    我已经使用phonegap 创建了一个版本 在index html 文件中 我编写了一个简单的iframe 用于加载网站 当我从phonegap获取本地url时它就起作用了 但如果我将整个构建作为 zip 文件上传到 PhoneGap 中
  • 在本地托管 W3 XML 架构文件

    我在一家公司工作 我们有自己的 XML 语言 有自己的一组模式来验证W3 架构 https www w3 org 2009 01 xml xsd 出于业务原因 我需要在内部托管这些文件 而不是依赖于网络托管版本 我对 XML 模式缺乏经验
  • javascript获取网页中选定文本的段落

    突出显示文本后 我想获取所选文本所在的段落 var select window content document getSelection 请问有什么指点吗 这实际上很难做到 因为你必须考虑六种情况 所选内容不在一个段落内 简单 整个选择都
  • Jquery 关注下一个带有类的元素

    我正在尝试创建一个函数 当按下 Enter 键时 会选择带有类的下一个输入 我已经设法 focus 同一行中的下一个元素 但是 如果我需要选择下一行的下一个输入 它将无法继续 下一行中的第一个 quantity 文本框需要获得焦点 控制台没
  • 如何创建环境变量来保护我的网站的 Google 地图 API 密钥(或任何其他秘密值)?

    我正在学习使用 Bootstrap 编写自己的网站 并使用 Google 地图 API 密钥和 Google Developers 的脚本轻松地将地图放置在我的页面上 理想情况下 我会有类似的东西 即我已经尝试过这个 Html PHP
  • 如何使网站适应用户的屏幕分辨率?

    我正在使用 1024x768 屏幕分辨率来设计我的网站 当您从屏幕分辨率较小 较大的计算机上的浏览器中查看网站时 网站开始变形 无论用户的屏幕分辨率是什么 如何使网站适应用户的屏幕分辨率 我相信通过 JavaScript 或 CSS 是可能
  • 禁用 iframe 中的滚动

    有没有办法在 iframe 中禁用所有滚动 我有一个 iframe 其中内容超出了 iframe 尺寸 设置scrolling no 只会删除滚动条 但不会禁用滚动 我无法控制 iframe html 的头部 所以我无法设计它的样式 有任何
  • CSS交付优化:如何推迟CSS加载?

    我在尝试着优化 CSS 交付遵循针对开发人员的谷歌文档https developers google com speed docs insights OptimizeCSSDelivery example https developers

随机推荐

  • 在 Android Studio 中生成签名 APK 时,签名版本 - V1(Jar 签名)和 V2(完整 APK 签名)之间的区别?

    请至少选择一个要在 Android Studio 2 3 中使用的签名版本 现在 在 Android Studio 中生成签名的 APK 时 它显示两个选项 复选框 即 1 V1 Jar Signature and 2 V2 Full AP
  • IIS7 下超出 Web 配置大小限制 0x80070032

    我有一个web config文件在我当前在 IIS7 上运行的解决方案中相当大 它在我的开发服务器上运行完美 但是我遇到了错误0x80070032 配置错误无法读取配置文件 因为它超出了最大文件大小 我当前的解决方案使用一个非常大的web
  • XGBoost 最佳迭代

    我正在使用 XGBoost 算法运行回归 clf XGBRegressor eval set X train y train X val y val early stopping rounds 10 n estimators 10 verb
  • 将列添加到包含其他列值列表的 pandas DataFrame

    我有一个 DataFrame 需要向其中添加一列 该列必须是两个值的列表 当前表 lat long other value 0 50 50 x 1 60 50 y 2 70 50 z 3 80 50 a 需要的表 lat long othe
  • 如何解决嵌套映射函数中的 SPARK-5063

    RDD 转换和操作只能由驱动程序调用 不能在其他转换内部调用 例如 rdd1 map x gt rdd2 values count x 无效 因为值转换和计数操作无法在 rdd1 map 转换内部执行 有关更多信息 请参阅 SPARK 50
  • 在64位linux上从32位模式切换到64位(长模式)

    我的程序在 x86 64 CPU 64位操作系统 ubuntu 8 04 上以32位模式运行 是否可以在用户模式下暂时切换到64位模式 长模式 如果是这样 怎么办 背景故事 我正在编写一个与32位模式程序链接的库 因此它在启动时必须是32位
  • React/TypeScript - “Dispatch>”代表什么?

    我正在用 TypeScript 编写 React 组件的前端测试 由于代码来自更有经验的程序员 因此某些数据类型对我来说似乎有点新 现在我有了一个使用 Dispatch 作为数据类型定义的道具 我注意到使用 useState Hook 的
  • 使用 css3 反转边框半径[重复]

    这个问题在这里已经有答案了 自从 3 小时以来 我一直在尝试寻找如何反转边框半径 我在 css3 中看到了专门为此目的的一个小代码 但我找不到它 你一定知道我正在使用 wordpress 不幸的是 有想法吗 如果您的选项卡具有纯色背景色 您
  • vim 折叠搞乱了语法高亮

    我使用 vim 作为 LaTeX 并且使用 Latex suite 它为我提供了很好的语法突出显示和折叠 但在大文件中 语法突出显示变得 混乱 如果我打开所有折叠 语法突出显示就会正常 但我希望它始终 正常工作 我似乎记得一个选项会增加用作
  • 如何查询 Active Directory 对象的有效权限?

    我试图以编程方式确定当前用户是否对给定的 Active Directory 对象具有某些权限 特别是在本例中 我试图确定用户是否具有其他 Exchange 用户或通讯组列表对象的 发送为 权限 我已经弄清楚如何访问ntSecurityDes
  • 如何从充当服务器的 iPhone 流式传输视频?

    我正在开发一款适用于 iOS 的应用程序 其中一台 iPhone 必须将其摄像头录像实时传输到另一台 iPhone 为简单起见 两台 iPhone 都位于同一个 Wi Fi 网络中 流媒体应该可以工作without物理互连 例如用于将流路由
  • 对通用 Java 类中的通用变量使用数学运算符

    我正在尝试编写一些代码 使我能够对 T extends Number 对象实例执行基本数学运算 它需要能够处理任何数字类型的子类Number 我知道下面的一些类型Number have add 内置方法 有些甚至有 multiply 方法
  • 转发声明未命名结构的 typedef [重复]

    这个问题在这里已经有答案了 可能的重复 未命名结构的前向声明 如果我有 typedef struct tagPAGERANGE int iFirstPage int iLastPage PAGERANGE 我可以这样转发声明 struct
  • 在 Windows Phone 8.1 中共享渲染到位图图像

    我想在 Windows Phone 8 1 中将画布作为图像共享 为此 我首先将画布转换为图像 然后共享它 我尝试了我的 Windows 8 1 代码 没有发生错误 但共享源应用程序中没有图像 仅出现描述和标题 这是代码 private a
  • 这是一个指向数组开头的指针吗?

    我刚刚帮助某人编写了一些代码 他有这个 char dataArray 10 然后想要获取指向数组开头的指针 而不是使用 dataArray 0 or just dataArray He used dataArray 他最终得到了一个指向指针
  • SP2010 客户端对象模型 3 MB 限制 - 未应用更新 maxReceivedMessageSize

    我正在使用客户端对象模型与 Sharepoint 2010 进行交互 当我尝试使用客户端 OM 上传大于 3 MB 的文档时 出现错误请求错误 微软建议this解决问题 我尝试过并更新了 maxReceivedMessageSize 属性
  • Django Rest Framework - 当尝试使用不正确的凭据登录用户时,为什么会返回 200 状态代码?

    这是我的 URLs py url r api auth include rest framework urls namespace rest framework 我的主页上有一个表单 用户可以在其中输入用户名和密码 单击提交按钮时 Angu
  • 如何在 C++ 中声明全局变量

    我知道不应该使用全局变量 但我需要它们 我读过 在函数外部声明的任何变量都是全局变量 我已经这样做了 但在另一个 cpp文件中 找不到该变量 所以它并不是真正的全球性 是不是得建立一个头文件GlobalVariabels h并将该文件包含到
  • Google Sheets API:调用者没有权限

    我正在尝试从 cron 中读取文档 https sheets googleapis com v4 spreadsheets
  • 查看网页生成源的最佳方式?

    我正在寻找一个工具 它可以为我提供正确的生成源 包括由 AJAX 请求输入到 W3 验证器中所做的 DOM 更改 我尝试过以下方法 网页开发者工具栏 根据文档类型生成无效源 例如 它删除标签的自关闭部分 丢失页面的文档类型部分 Firebu