1

我是 JavaScript 和一般网站的新手 - 如果这个问题听起来有点基本,请原谅。

但是,我们的想法是在每个页面上显示一条弹出消息,说明一些信息。由于该网站是静态的 - 如果以后我们想更改消息,我们将不得不编辑每个页面。

为了简化这一点,我一直在尝试在服务器上包含一个简单的文本文档。

该页面将读取文本文档并显示消息。

因此,我们只需编辑文本文档,页面上显示的消息就会随之改变。

我的代码是这样的:

   <div class="sticky-box" id="x">
        <div class="sticky-inner">
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/mootools/1.2.4/mootools-yui-compressed.js"></script>
        <script type="text/javascript"></script>
        <script>
            window.addEvent("domready",function(){
                var csvRequest = new Request({
                url:"text.txt",
                onSuccess:function(response){                           
                        document.write(response);                       
                    }
                }).send(); 
            });
            </script>
    </div>

同时,它成功读取了文档——它显示的是文本而不是网页。简而言之,我在页面上得到“一些示例文本”,但没有别的。

任何人有任何想法为什么?

有没有更简单的方法来做到这一点?

注意:重做网站不是一种选择!

4

2 回答 2

1

这是因为您正在使用document.write(response). document.write将简单地创建一个空白文档并在其上写入内容。例如,您应该使用一个div元素并将数据写入其中。

更多关于document.write

于 2013-05-22T10:14:00.950 回答
1

而不是document.write(response)您应该创建一个容器,例如在您的页面上创建一个 div 或 span 元素并将数据写入该容器中。当您documen.write()在页面加载完成后使用时,浏览器会打开一个新文档并替换当前文档的内容。

下面的代码应该会有所帮助:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/mootools/1.2.4/mootools-yui-compressed.js"></script>
<script type="text/javascript"></script>
<script>
    window.addEvent("domready",function(){
    var csvRequest = new Request({
    url:"text.txt",
    onSuccess:function(response){                           
    document.getElementById("sticky_inner").innerHTML= response;                       
    }
    }).send(); 
    });
</script>
<div class="sticky-box" id="x">
    <div class="sticky-inner" id="sticky_inner"></div>
</div>
于 2013-05-22T10:12:41.263 回答