如何通过ASP代码修改JS里边的内容具体代码该如何写 50
1.js文件内容为vara_fl=newArray("名字","内容","名字","内容");我想在后台利用ASP文件来进行修改想让它实现为这样的ASP文件...
1.js文件 内容为var a_fl = new Array("名字","内容","名字", "内容");我想在后台利用ASP文件来进行修改想让它实现为
这样的ASP文件 展开
这样的ASP文件 展开
2个回答
展开全部
建议您使用ASP的FSO能进行文件读写,把JS文件当成文本文档来读写即可,把您需要是JS代码写入到JS文件,并保存到您需要的地方即可。下面是一个简单的FSO写入文件的代码。
<%
Set MyFileObject=Server.CreateObject("Scripting.FileSystemObject")
Set MyTextFile=MyFileObject.OpenTextFile(Server.Mappath("/目录/文件名.txt")) '打开在指定目录的一个文档,此处扩展名可以是.js。这个文件必须是之前已经建好的,否则会出错,您也可以用FSO在目录下新建一个文件,然后在向这个文件写入内容。
JsCode="需要写入的文本内容,此处可以是你的JS代码" //定义一个变量,用来存放需要写入的内容
MyTextFile.WriteLine(JsCode) '将文本内容变量写入到文本中
MyTextFile.Close '关闭对象
response.write "写入成功!"
%>
大概的原理就是这样的,如果不清楚可以去百度一下ASP如何创建,读取,写入文本文档就知道了。另外你写入的是JS代码里面含有很多和ASP代码冲突的符号,例如你的:var a_fl = new Array("名字","内容","名字", "内容");,注意使用转义字符来解决,也就是遇到字符串里面有双引号的,要在两端加上双引号。
规范的方法是,可以先写一个专门用来创建文本文档的函数,然后用这个函数就可以轻松的实现您的功能了,如下
<%
函数:createTextFile,用于创建文本文件;参数content,需要写入文件的内容;参数fileDir,文件需要保存的路径;参数code,该文本文件的编码格式,如果为空则默认为gbk格式,如果您的网站其他文件都是utf-8的格式,则应该设置为utf-8的格式,否则可能有不兼容的情况。
Function createTextFile(Byval content,Byval fileDir,Byval code)
dim fileobj,fileCode : fileDir=replace(fileDir, "\", "/")
if code="" then fileCode="gbk" else fileCode=code
on error resume next:err.clear
set fileobj=objFso.CreateTextFile(server.mappath(fileDir),True)
fileobj.Write(content)
set fileobj=nothing
if Err or code <> "" then
err.clear
With objStream
.Charset=fileCode:.Type=2:.Mode=3:.Open:.Position=0
.WriteText content:.SaveToFile Server.MapPath(fileDir), 2
.Close
End With
end if
End Function
'函数调用示例。
Str="var a_fl = new Array(""名字"",""内容"",""名字"",""内容"");"
createTextFile Str, "/目录/文件名.js", ""
%>
下面这种使用方法是把函数复制到你的ASP文件中,然后参照下面的调用示例来写就行了,用起来很方便。
但目录的权限要配置好才行,不然会出错的,必须要让存放JS文件的目录具有写入的权限才行。
<%
Set MyFileObject=Server.CreateObject("Scripting.FileSystemObject")
Set MyTextFile=MyFileObject.OpenTextFile(Server.Mappath("/目录/文件名.txt")) '打开在指定目录的一个文档,此处扩展名可以是.js。这个文件必须是之前已经建好的,否则会出错,您也可以用FSO在目录下新建一个文件,然后在向这个文件写入内容。
JsCode="需要写入的文本内容,此处可以是你的JS代码" //定义一个变量,用来存放需要写入的内容
MyTextFile.WriteLine(JsCode) '将文本内容变量写入到文本中
MyTextFile.Close '关闭对象
response.write "写入成功!"
%>
大概的原理就是这样的,如果不清楚可以去百度一下ASP如何创建,读取,写入文本文档就知道了。另外你写入的是JS代码里面含有很多和ASP代码冲突的符号,例如你的:var a_fl = new Array("名字","内容","名字", "内容");,注意使用转义字符来解决,也就是遇到字符串里面有双引号的,要在两端加上双引号。
规范的方法是,可以先写一个专门用来创建文本文档的函数,然后用这个函数就可以轻松的实现您的功能了,如下
<%
函数:createTextFile,用于创建文本文件;参数content,需要写入文件的内容;参数fileDir,文件需要保存的路径;参数code,该文本文件的编码格式,如果为空则默认为gbk格式,如果您的网站其他文件都是utf-8的格式,则应该设置为utf-8的格式,否则可能有不兼容的情况。
Function createTextFile(Byval content,Byval fileDir,Byval code)
dim fileobj,fileCode : fileDir=replace(fileDir, "\", "/")
if code="" then fileCode="gbk" else fileCode=code
on error resume next:err.clear
set fileobj=objFso.CreateTextFile(server.mappath(fileDir),True)
fileobj.Write(content)
set fileobj=nothing
if Err or code <> "" then
err.clear
With objStream
.Charset=fileCode:.Type=2:.Mode=3:.Open:.Position=0
.WriteText content:.SaveToFile Server.MapPath(fileDir), 2
.Close
End With
end if
End Function
'函数调用示例。
Str="var a_fl = new Array(""名字"",""内容"",""名字"",""内容"");"
createTextFile Str, "/目录/文件名.js", ""
%>
下面这种使用方法是把函数复制到你的ASP文件中,然后参照下面的调用示例来写就行了,用起来很方便。
但目录的权限要配置好才行,不然会出错的,必须要让存放JS文件的目录具有写入的权限才行。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询