我想在HTML页面中显示存储在服务器上的文本文件(.rtf
,.txt
,.log
等)的内容。
我尝试使用 embed
标签,但似乎不起作用。
<embed src="/path_to_text_file/text.rtf" width="500" height="300">
我应该使用一个“简单”的方法(或标签)来做这件事,还是我应该像使用 jQuery 一样扫描内容并打印出来?
我想在HTML页面中显示存储在服务器上的文本文件(.rtf
,.txt
,.log
等)的内容。
我尝试使用 embed
标签,但似乎不起作用。
<embed src="/path_to_text_file/text.rtf" width="500" height="300">
我应该使用一个“简单”的方法(或标签)来做这件事,还是我应该像使用 jQuery 一样扫描内容并打印出来?
应该使用类似这样的东西:
<object data="/path_to_text_file/text.txt" type="text/plain"
width="500" style="height: 300px">
<a href="/path_to_text_file/text.txt">No Support?</a>
</object>
window.onload
事件内,执行data.contentDocument.body.textContent.trim()
,其中data
是对您的object
元素的引用。此外,您可能希望在object
元素上设置零宽度和高度(但不要使用style="display:none"
- 这会破坏它)。 - George$.ajax({
async:false,
url: 'folder/file.txt',
dataType: 'text',
success: function(data)
{
$('element').append(data);
}
});
多试几次以获得您所需的正确结果。你也可以使用PHP,但除非你真的需要解析数据,否则在这种情况下使用PHP有点过度。
标签只用于插件内容(flash等)。
尝试使用ajax获取内容,然后使用document.write
编写内容;
或者在后端语言(PHP、ASP等)中使用include
标签。
<iframe src="/path_to_text_file/text.rtf" width="500" height="300" frameBorder="0">
注意:对于与Keith V的答案相似以及他提到了get请求,我表示歉意 - 在发布我的答案后,我才注意到他关于get请求的评论。
我发现以下结构很有帮助,可以让我将文本样式设置为span,而不必使用对象:
function append_url_content_to_div(url){
$.get(url, function(returned_data){
console.dir(returned_data);
var content = '<span>'+returned_data+'</span>';
$("#appendee_div").append(content);
});
}
append_url_content_to_div("https://dl.dropbox.com/s/euk874r7zd1cx0d/example_text.txt?dl=0"); //note that it has to be "dl." not "www." in dropbox
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="appendee_div"></div>
对于我的Dropbox内容,它对我有效,但我不明白为什么它不能用于公开可见的文本文件。正如您在代码中看到的那样,您需要jQuery。
只需使用php。将html格式更改为php并使用
echo file_get_contents("name_of_the_file.txt");
就这么简单。 必须使用php,因为您必须在服务器端输出文本,否则信息将无法显示给客户端。
我认为这是实现您想要的最简单的方法。