最近接到需求株旷,需要純前端再登, 操作寫入改變文件,一時(shí)間頭大不已晾剖,還好此需求只需要屏幕展示锉矢,無需顧及兼容問題,找來找去找到了new ActiveXObject("Scripting.FileSystemObject") 強(qiáng)大控件
以下為自己記錄的 一些要點(diǎn)齿尽,下次用到回看
大概就是這個(gè)結(jié)構(gòu)啦
1沽损,刪除議題
//delAll功能
function delAll() {
var num = window.confirm("確認(rèn)刪除議題嗎?");
// console.log(num,typeof num)
if (num === false) {
return false;
}
var olistTable = document.getElementById("listTable");
var items = document.getElementsByName("item");
for (var j = 0; j < items.length; j++) {
if (items[j].checked) {
//如果item被選中
var oParentnode = items[j].parentNode.parentNode;
olistTable.removeChild(oParentnode);
j--;
}
}
zhuremove();
}
function zhuremove() {
var fso = new ActiveXObject("Scripting.FileSystemObject");
var tf = fso.CreateTextFile(
"D:\\tttt\\zhy\\tableModify-master\\js\\delegacy.js",
true,
true
);
// 寫一行循头,并且?guī)в行滦凶址? tf.WriteLine("var delelist = [];");
$("#listTable tr").each(function(i, v) {
tf.WriteLine(
"delelist.push({gacy:'" +
$(v)
.find("td:nth-child(3)")
.text() +
"',names:'" +
$(v)
.find("td:nth-child(4)")
.text() +
"'});"
);
});
tf.Close();
}
2绵估,預(yù)覽議題
就是更改相同的js文件 然后雙方引入 操作平臺(tái)寫入后,預(yù)覽頁面更新
上面是存放數(shù)據(jù)的卡骂,下面是預(yù)覽頁
3国裳,保存議題
//writeFile功能
function writeFileAll() {
alert("文件開始寫入");
var fso, tf;
fso = new ActiveXObject("Scripting.FileSystemObject");
// var utf8Enc = new ActiveXObject("Utf8Lib.Utf8Enc");
tf = fso.CreateTextFile(
"D:\\tttt\\zhy\\tableModify-master\\js\\delegacy.js",
true,
true
);
// tf.BinaryWrite(utf8Enc.UnicodeToUtf8(fso));
// 寫一行,并且?guī)в行滦凶址? tf.WriteLine("var delelist = [];");
for (var i = 0; i < delelist.length; i++) {
tf.WriteLine(
"delelist.push({gacy:'" +
delelist[i].gacy +
"',names:'" +
delelist[i].names +
"'});"
);
}
tf.Close();
alert("文件寫入完成");
window.location.reload();
}
這里有一點(diǎn)要重點(diǎn)說明一下全跨,createtextfile有四個(gè)參數(shù)缝左,最后一個(gè)true是來控制編碼的,采坑了 找了很久才改好螟蒸,一般js很少用到這些盒使,實(shí)在vb論壇 asp啥的 偶然看到的
4,發(fā)布議題
function publicAll() {
alert("準(zhǔn)備更新屏幕議題");
var fso, f2;
fso = new ActiveXObject("Scripting.FileSystemObject");
f2 = fso.GetFile("D:\\tttt\\zhy\\tableModify-master\\js\\delegacy.js");
f2.Copy("D:\\tttt\\zhengscroll\\delegacy.js");
alert("屏幕議題更新完成");
}
這個(gè)很簡單七嫌,直接copy過去就行 注意路徑
5,點(diǎn)擊查看屏幕議題 就是個(gè)跳轉(zhuǎn) 沒啥說的
這些呢苞慢,都是小方法
除了更新需要FSO以外诵原,其他倆個(gè)都是dom操作 沒啥說的