如何把记事本编写的JS代码保存为JS文件?

JavaScript020

如何把记事本编写的JS代码保存为JS文件?,第1张

保存为后缀名是.js的就行啊。当然首先要显示文件的扩展名才行。如何设置显示文件的扩展名: 资源管理器--工具--文件夹选项--查看--隐藏已知文件类型的扩展名(将这个选项勾选掉)然后确定即可。

最近看到好几个人问这问题了,其实要实现并不难,而且还是跨浏览器的,但并不完美。

IE 是通过 ActiveXObject,前提是浏览者的安全设置中允许此项且同意使用。

Firefox/Chrome/Safari/Opera 是通过 a 元素的 href 属性,加上 base64 数据来实现(data URI)。

下面的代码在 IE 6-9,Firefox 19,Chrome 26,Safari 5.0.5,Opera 12.15 测试通过。

【注意】base64 函数和完整代码在空间:hi.baidu.com/keneks/item/a8b10b04fd862f016c904813

<script type="text/javascript">

/* var Base64 = {}*/

window.onload = function() {

var save = document.getElementById("save")

// IE

if(/msie/i.test(navigator.userAgent)) {

save.onclick = function() {

var path = prompt("输入保存路径和文件名", "C:\\test.txt")

var content = document.getElementById("content").value

content = content.replace(/\n/g, "\r\n")

var fso = new ActiveXObject("Scripting.FileSystemObject")

var s = fso.CreateTextFile(path, true)

s.WriteLine(content)

s.Close()

}

}

// Firefox/Chrome/Safari/Opera

else {

// 鼠标经过 a 的时候就开始 base64 编码

save.onmouseover = function() {

var content = document.getElementById("content").value

this.setAttribute("href",

"data:application/octet-streambase64,"

+ Base64.encode(content))

}

}

}

</script>