使用JavaScript </object>访问<object>数据

时间:2015-02-09 22:34:36

标签: javascript html object plaintext

我有<object>这样的标签:

<object id="text" data="file.txt"></object>

我可以得到这样的元素:

var text = document.getElementById("text");

现在,我如何获取文本文件的内容?

这样做的目的是:

  1. 避免制作XMLHttpRequest;
  2. 避免在代码中以常量的形式存在文本数据;
  3. 保留一个简单的纯文本文件,其原始形式,没有JSON或特殊格式,可以通过代码访问并成为字符串变量。
  4. 以同样的方式,您可以在文档中添加<img><audio>标记,然后访问图像/声音,仅用于文本文件。

    PS:我几乎肯定<object>标签不是理想的标签。这就是我试图完成我需要的东西。

2 个答案:

答案 0 :(得分:1)

我通常更喜欢AJAX这样的东西。你能做这样的事吗?

var textContent = '';
var textRequest = new XMLHttpRequest();
textRequest.open('GET','file.txt');

textRequest.onreadystatechange = function() {
    if (textRquest.readystate == 4 && textRequest.status == 200) {
        textContent = textRequest.responseText   
    }
}

textRequest.send();

你有 使用对象元素的原因吗?

答案 1 :(得分:1)

您可以在隐藏的iframe中加载文本文件并访问其中的内容:

<html>
    <head>
        <script type="text/javascript">
            function gettext() {
                alert(document.getElementById('ifr').contentDocument.body.innerText);
            }
        </script>
    </head>
    <body>
    <iframe id="ifr" style="display:none" src="test.txt" onload="gettext()"></iframe>
    </body>
</html>