【发布时间】:2015-06-21 00:06:32
【问题描述】:
以下代码适用于 Safari 和 Chrome,也就是说,它会在浏览器窗口中显示自身的副本:
<script src=https://code.jquery.com/jquery-2.1.3.min.js></script>
<script>
function html_escape(s) { return $('<div/>').text(s).html(); }
var url = document.location.href;
$.get(url, function(data,status) {
document.write('<pre>');
document.write(html_escape(data));
document.write('</pre>');
});
</script>
但在 Firefox 中它失败并出现错误“格式不正确”,我认为这是因为 FF 试图将文件的内容解析为 XML。如何阻止 FF 尝试解析文件?
更新:问题仅在我从 FILE: URL 运行时才会出现,因此没有 MIME 类型。但这实际上是我的用例。
【问题讨论】:
-
我很好奇;为什么要对您已经在的页面执行
$.get()请求?为什么不直接使用$('html')[0].outerHTML?你检查过mime type is correct吗? -
拥有页面请求本身只是我能想到的生成问题的独立示例的最简单方法。而且我现在才意识到问题仅在我从 FILE: URL 运行时才会出现,因此没有 MIME 类型。但这实际上是我的用例。