Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
访问<;对象>;使用JavaScript的数据_Javascript_Html_Object_Plaintext - Fatal编程技术网

访问<;对象>;使用JavaScript的数据

访问<;对象>;使用JavaScript的数据,javascript,html,object,plaintext,Javascript,Html,Object,Plaintext,我有一个这样的标签: <object id="text" data="file.txt"></object> var text = document.getElementById("text"); 现在,如何获取文本文件的内容 其目的是: 避免必须进行XMLHttpRequest 避免在代码中使用常量形式的文本数据 保持一个简单的纯文本文件的原始格式,不使用JSON或特殊格式,以便代码访问并成为字符串变量 同样,您可以在文档中使用或标记,然后访问图像/声音,仅用于文本

我有一个这样的
标签:

<object id="text" data="file.txt"></object>
var text = document.getElementById("text");
现在,如何获取文本文件的内容

其目的是:

  • 避免必须进行XMLHttpRequest
  • 避免在代码中使用常量形式的文本数据
  • 保持一个简单的纯文本文件的原始格式,不使用JSON或特殊格式,以便代码访问并成为字符串变量
  • 同样,您可以在文档中使用
    标记,然后访问图像/声音,仅用于文本文件


    PS:我几乎可以肯定的是,
    标签不是这个的理想标签。这正是我努力完成我所需要的。

    对于这样的东西,我通常更喜欢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();
    

    您必须使用对象元素有什么原因吗?

    您可以在隐藏的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>
    
    
    函数gettext(){
    警报(document.getElementById('ifr').contentDocument.body.innerText);
    }
    
    你到底想做什么:将数据从文件加载到网页中?更准确地说,将与my.html和.js文件同级的.txt文件加载到js变量中。请注意,即使以这种方式将文件添加到对象中,浏览器仍会向服务器发出获取该文件的请求,因此,虽然您避免自己提出明确的请求,但浏览器仍会这样做。是的,这没有问题。它实际上不必是对象元素。我所需要的就是在我的文档中嵌入一些纯文本(最好是从一个单独的文件中),这样我就可以用JavaScript读取它。我希望它是干净和简单的,这就是为什么我避免请求作为我的第一选择。对不起,我以前应该提到的。谢谢。那正是我想要的!而且它也与
    标记一起工作!非常感谢。