假设您已经制作了产品的演示(网页),您想要制作一个页面来显示演示,并且在页面底部有一个按钮,您可以通过点击按钮来显示源代码上面的演示。如何很好地完成这项工作?如何编写将提供自身代码的演示页面?
回答
以下内容至少应在Firefox(通过XMLSerializer),Internet Explorer,Chrome和Safari(通过outerHTML)下工作。在不支持的浏览器中,它将回退到innerHTML
,缺点是不包含根元素本身(<html>
)。
function getMyCode()
{
if ("XMLSerializer" in window)
return new XMLSerializer().serializeToString(document.documentElement);
else if ("outerHTML" in document.documentElement)
return document.documentElement.outerHTML;
else
return document.documentElement.innerHTML;
}
话又说回来,如果你想要“真正”的源代码,而不是DOM的序列化版本,你不会得到周围重新下载 - 浏览器不一定存储。您可以使用XMLHttpRequest:
function getMyCode()
{
var req = new XMLHttpRequest();
req.open("GET", window.location.href);
req.onreadystatechange = function()
{
if (this.readyState != 4)
return;
alert(this.responseText);
};
req.send(null);
}
我想要的源代码(你看到使用右键点击视图页面源),但IIRC innerHTML是DOM(你看到与Chrome开发人员工具) – wong2
@ wong2:更新了我的答案。 –
使请求相同的页面,并确保服务器的Content-Type设置为“text/plain的”来代替“text/html的”响应。如果它是服务器端脚本,那么您可以使用查询参数来确定何时将Content-Type设置为“text/html”或“text/plain”。如果它是一个静态网页,您可以使用不同的内容类型制作不同的URI。
- 1. ActionBarSherlock示例演示代码不编译
- 2. 如何在jquery下面编写代码?
- 3. 如何编写代码示例,在代码中缺少代码?
- 4. 角页面演示
- 5. 流迭代有人可以提供的这个示例代码演练
- 6. 如何在zope页面模板中编写python代码
- 7. 如何编写代码的xsd下面Java代码
- 8. 如何使用PHP提供颜色编码的Java代码?
- 9. SAML身份提供商示例.NET代码
- 10. 编写蛇游戏演示
- 11. 如何将页面编码为UTF8
- 12. 如何提供安全的代码在PHP的桌面
- 13. 如何编写html5代码
- 14. 如何编写JavaScript代码
- 15. 如何编写伪代码
- 16. 如何编写此代码?
- 17. 从aspx页面写入相同的代码到cs页面后面的代码
- 18. 如何为我的网页提供HTML嵌入代码?
- 19. 如何自动为Xcode视频演示插入代码
- 20. 如何为WPF页面提供标题
- 21. 如何在R中提供html页面?
- 22. 如何从Docker提供Harp/nginx页面?
- 23. Jsfiddle演示到html页面
- 24. 设置Mongoose提供演示不工作
- 25. 如何给Doxygen提供一个类的示例代码?
- 26. 我如何编写一个测试来覆盖通过裂缝的代码行,提供的示例
- 27. 编写线程安全的UNIX代码的提示?
- 28. JGoodies表单演示代码
- 29. wxpython演示代码错误
- 30. 如何显示其他用户的演示页面?
只需html/css/javascript或服务器端代码? – Zirak
@Zirak没有服务器端代码 – wong2