jQuery.html()删除脚本和样式

时间:2010-05-20 11:50:33

标签: javascript jquery html coding-style

有没有办法使用jQuery.html()而不是松散脚本和样式?或任何其他非jQuery方式?

我正在尝试输出用户所在页面的完整HTML。这甚至可能吗?

2 个答案:

答案 0 :(得分:2)

  

jQuery.html()删除脚本和样式

这不是我的经验(见下文)。在实践中,你必须要知道,通过查询DOM获取HTML字符串而得到的内容总是将是解释的 HTML,而不是原始的,并且会有怪癖(例如, IE的所有HTML标签名称都是IN UPPER CASE)。这是因为jQuery的html函数依赖于浏览器的innerHTML属性,该属性在浏览器与浏览器之间略有不同。但下面的演示包括Chrome 4,IE7和Firefox 3.6上的样式和脚本标记;我没有尝试过其他人,但我希望他们没事。

如果您想获取外部链接网页的内容以及内联内容,您自然必须解析结果并遵循srcscript s),{{ 1}}(在href s上有link =“stylesheet”)等...

演示:

rel

答案 1 :(得分:0)

我在这里看到2个场景

  1. 你使用jQuery.html(yourHTML)来覆盖页面的整个html,所以即使脚本标签也被覆盖了......
  2. 您使用jQuery.html()来检索整个文档html。如果是这种情况你需要确保使用.html()函数的元素是整个html ...作为T.J.克劳德建议$('html').html()
相关问题