保存其内容的HTML页面,替换HTML文件本身

时间:2016-06-17 10:10:32

标签: javascript jquery html

我要创建一个自动保存其内容的html页面。

此页面只是4天活动的报告,应该由某个用户更新。

enter image description here

这个页面将仅使用3/4天(进入实时摘要状态页面,这就说我全部)..所以我不想浪费时间与后端,但我想做一些类似于伎俩的事情客户端,Javascript和HTML。

我想做什么:

用户访问该页面,此页面发布在我们的内部服务器上,更新任务状态并保存页面!我想以两种方式做到这一点:

  • 每当我按下保存按钮时,只需用新的内容替换旧的html内容(替换html文件本身)
  • 将内容保存在每次使用页面时都会加载的计划文件中,第二个选项显然需要花费更多的工作量。

有什么建议吗?我的意思是,有什么能帮我在短时间内做到这一点吗?我有大约2天时间完成这个:(

更新:伙计们,也许我不是在解释自己这么好,如果我想这样的话,我想错了:

Javascript函数,当您单击“保存”按钮时,将旧的html服务器文件替换为包含更新行的新文件...

轻松轻松......!我是一名后端开发人员..对于漂亮风格的前端页面没有很多经验:)

更新:根据你的回答,我假设没有办法做到这一点,没有后端的逻辑,即使是轻的,但是它不可能通过客户端实现这一点脚本..我已经想到了这一点,但我希望有一些技巧可以做到这一点,而不在服务器端放置任何东西.. :(

5 个答案:

答案 0 :(得分:1)

您可以每2分钟执行一次定时ajax请求,询问新内容并将其替换为bootstrap/cache/routes.php标记。

我建议使用jQuery,因为它可以帮助您轻松完成此操作: http://api.jquery.com/jquery.ajax/

答案 1 :(得分:1)

您可以使用Web Storage将数据存储在用户的本地端。 它非常简单,并且得到了大多数现代浏览器的支持。

有两种机制"使用Web存储。

  
      
  1. sessionStorage为页面会话期间可用的每个给定来源维护一个单独的存储区域(只要浏览器处于打开状态,包括页面重新加载和恢复)
  2.   
  3. localStorage执行相同的操作,但即使关闭并重新打开浏览器也会一直存在。
  4.   

更新: - 如果您想在服务器上存储数据但又不想使用完整的数据库服务器,那么您可以使用" SQLite"。基本上它只是运行一个文件。

答案 2 :(得分:1)

<html>
    <head>
        <title>Button Writer</title>
    </head>

    <body onload="read()">
         <!--<button onclick="writeInFile()">Save</button> -->
         <input type="button" id="somebutton" onclick="addText()">
         <input type="text" id="myText" placeholder="Enter Name Here">
         <div id="text2"></div>
    </body>


    //read a file and write content in text2 div, please set your path
<script>

function read(){
var xhr;
if (window.XMLHttpRequest) {
    xhr = new XMLHttpRequest();
} else if (window.ActiveXObject) {
    xhr = new ActiveXObject("Microsoft.XMLHTTP");
}

xhr.onreadystatechange = function(){document.getElementById("text2").innerHTML=xhr.responseText;};
xhr.open("GET","file.txt"); //SET YOUR PATH
xhr.send();
}

function addText()
        {
            document.getElementById('text2').innerHTML += document.getElementById('myText').value;
        }



</script>
</html>

要在文件中写入,您应该使用AJAX + PHP。如果你想我告诉你如何

答案 3 :(得分:1)

最后,因为我们可以使用PHP,所以我们决定这样做: 我们把它放在一个名为“prova.php”的文件中,我们启动它。此文件显示'file.html'的内容并保存在'salva.php'中,发送要保存的数据。             

 <?php include('file.html');?> 

 some added string
 </div> 

 <button onclick="save()">SAVE</button> 

 <script> 


 function save(){ 

 var newData=document.getElementById("myText").innerHTML; 
 $.post( "salva.php", { data: newData} ); 
 } 
 </script>

要保存的文件名为salva.php,接收字符串并保存在名为“file.html”的现有文件中。

<?php


$stringa=$_POST['data'];

$ourFileName = "file.html";
$ourFileHandle = fopen($ourFileName, 'w') or die("can't open file");
fwrite($ourFileHandle,$stringa);
fclose($ourFileHandle);


?>

file.html是一个开头没有任何内容的文件

答案 4 :(得分:0)

要直接解决您的更新问题: 不,没有在服务器后端上建立某些内容来处理该文件的方法,就无法写入服务器文件系统。通过HTTP安全性的工作方式,客户端无法像这样访问服务器。但是,您可以设置多个后端(或“中间层”)系统来处理此问题。一种旧方法是称为WebDAV。您可以搜索首选平台的WebDAV实现-有几种(包括一些基于JavaScript的服务器端)。