这是我的代码:
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script type="text/javascript">
$( document ).ready(function() {
var fso = new ActiveXObject("Scripting.FileSystemObject");
var filename = "C:\\xampp\\htdocs\\harti\\data.txt";
var f = fso.OpenTextFile(filename, 2, true, -1); // -1 means unicode
f.WriteLine("Hello world!");
f.Close();
});
</script>
data.txt文件存在。问题是为什么我的代码不起作用? THX
答案 0 :(得分:0)
问题是,你想要保存什么,为什么需要写入文本文件?
允许浏览器写入用户的计算机是一种安全漏洞。浏览器的脚本不应访问和修改属于该用户的本地文件目录。如果是这样,病毒和其他恶意代码将会传播。
因此,如果您想保存一些数据,您有两种选择:
选项1: 使用服务器端脚本将其保存到服务器,例如PHP。您可以根据需要创建任意数量的文件,重命名它们,将它们保存到数据库并编辑它们等。 如果您担心重定向用户(用户需要提交表单)。您可以使用AJAX在后台发送请求以保存用户输入并使用php保存文件。
使用php写入文件的示例代码:
$f = fopen('/path/to/the/file/you/want/to/write/to', 'a');
fwrite($f, '<<your string>>');
fclose($f);
选项2:
将其保存到浏览器的存储空间中。快速,离线工作。 browser storage有几种类型,例如localStorage,它们都是内置的,可以直接使用。
存储对象是标准的最新成员。因此,它们可能并不存在于所有浏览器中..........使用cookie严重限制了可以保存的最大数据大小。
代码示例:
function storeMyContact(id) {
var fullname = document.getElementById('fullname').innerHTML;
var phone = document.getElementById('phone').innerHTML;
var email = document.getElementById('email').innerHTML;
var comments = "this user has saved his info"
localStorage.setItem('mcFull',fullname);
localStorage.setItem('mcPhone',phone);
localStorage.setItem('mcEmail',email);
localStorage.setItem('comments',comments);
}
另一方面,localStorage可能还不够,因此,外部库可以实现利用存储中内置的浏览器并使数据库跨浏览器工作。
1- SQL,如DB sequelsphere (看起来非常适合举重!)
使用MYSQL直接从浏览器运行的查询的代码示例,如INSERT和SELECT:
SELECT empl_id, name, age
FROM empl
WHERE age < 30
2-JSON,如DB taffydb (看起来适合日常活动!)
// Create DB and fill it with records
var friends = TAFFY([
{"id":1,"gender":"M","first":"John","last":"Smith","city":"Seattle, WA","status":"Active"},
{"id":2,"gender":"F","first":"Kelly","last":"Ruth","city":"Dallas, TX","status":"Active"},
{"id":3,"gender":"M","first":"Jeff","last":"Stevenson","city":"Washington, D.C.","status":"Active"},
{"id":4,"gender":"F","first":"Jennifer","last":"Gill","city":"Seattle, WA","status":"Active"}
]);
// Find all the friends in Seattle
friends({city:"Seattle, WA"});
3- jstorage是一个跨浏览器的键值存储数据库,用于在浏览器中本地存储数据 - jStorage支持所有主流浏览器,包括桌面(是 - 甚至是Internet Explorer 6)和移动设备。 / p>
如果您想要更多选项 - &gt;(client-side-browser-database)