源代码和DOM有什么区别?

3
  • 我想在我的应用程序中处理Google翻译的定义,比如单词“song”的定义。

enter image description here

  • 当我检查返回的http消息时,它不包含“short poem”这个表达。

enter image description here

  • 但是在Safari的DOM树视图中,我可以看到“short poem”信息。

enter image description here

  • 这是因为加载页面后一些JavaScript代码做了一些魔法吗?在iOS应用程序中如何获取DOM树?UIWebView能做到这样的魔法吗?

如果您想以编程方式访问翻译功能,应该使用API,而不是他们的HTML前端(这既技术上麻烦,也违反了他们的服务条款)。 - georg
@georg 这是付费服务,我猜他正在尝试绕过这个问题。 - setec
Google Translate API虽然价格便宜,但需要付费,而且真正的缺点是API不提供英语定义/同义词,而我需要这个。 - János
1个回答

7
页面源代码和DOM之间的概念类似但又不同。源代码是未经任何客户端脚本修改的原始HTML,是对服务器的HTTP请求的直接响应。而DOM则是被JavaScript修改过的相同HTML结构。
源代码读取页面的HTML就像在文本编辑器中打开它一样。源代码反映了您的HTML结构,在加载任何JavaScript之前。虽然内容无法编辑,但查看浏览器从服务器接收到的HTML很有用。

https://developer.apple.com/library/mac/documentation/AppleApplications/Conceptual/Safari_Developer_Guide/ResourcesandtheDOM/ResourcesandtheDOM.html

尝试了解API,我认为有用于翻译等方面的API。

3
JavaScript并不一定会改变DOM,它只是解析原始HTML生成的对象树,并且可以被脚本修改。 - Martijn Pieters

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接