关于FSO使asp生成html页面,asp页面中js调用的内容在代码中直接输出js代码而不是新闻,如何解决?
shengcheng.asp页面代码:<%dimread,Curl,contentFunctiongetHTTPPage(url)dimhttpsethttp=Serve...
shengcheng.asp页面代码:
<%
dim read,Curl,content
Function getHTTPPage(url)
dim http
set http=Server.createobject("Microsoft.XMLHTTP")
Http.open "GET",url,false
Http.send()
if Http.readystate<>4 then
exit function
end if
getHTTPPage=bytesToBSTR(Http.responseBody,"GB2312")
set http=nothing
if err.number<>0 then err.Clear
End function
Function BytesToBstr(body,Cset)
dim objstream
set objstream = Server.CreateObject("adodb.stream")
objstream.Type = 1
objstream.Mode =3
objstream.Open
objstream.Write body
objstream.Position = 0
objstream.Type = 2
objstream.Charset = Cset
BytesToBstr = objstream.ReadText
objstream.Close
set objstream = nothing
End Function
Curl="http://127.0.0.1/index.asp"
read=getHTTPPage(Curl)
if read<>"" then
content=read
Set Fso = Server.CreateObject("Scripting.FileSystemObject")
Filen=Server.MapPath("index2.html")
Set Site_Config=FSO.CreateTextFile(Filen,true, False)
Site_Config.Write content
Site_Config.Close
Set Fso = Nothing
Response.Write("<script>alert('已经成功生成首页!')</script>")
end if
%>
——————————————————————
index.asp页面代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
<table width="100%" border="0" cellpadding="0" cellspacing="0" class="bianlan2">
<tr>
<td height="2"></td>
<td></td>
</tr>
<tr>
<td width="10" height="202"></td>
<td width="218"><script TYPE="text/javascript" language="javascript" src="/newscodejstuijian.asp?lm2=113&list=10&icon=0&tj=1&font=9&hot=0&new=1&line=19&lmname=0&open=1&n=30&more=0&t=0&week=0&zzly=0&hit=0&pls=0&dot=0&tcolor=999999" charset='gb2312'></script></td></tr>
</table>
</body>
</html>
就是我想把index.asp生成静态的html页面,但是生成后的html页面源码中不是新闻,而是直接输出了js调用代码,如何解决呢? 展开
<%
dim read,Curl,content
Function getHTTPPage(url)
dim http
set http=Server.createobject("Microsoft.XMLHTTP")
Http.open "GET",url,false
Http.send()
if Http.readystate<>4 then
exit function
end if
getHTTPPage=bytesToBSTR(Http.responseBody,"GB2312")
set http=nothing
if err.number<>0 then err.Clear
End function
Function BytesToBstr(body,Cset)
dim objstream
set objstream = Server.CreateObject("adodb.stream")
objstream.Type = 1
objstream.Mode =3
objstream.Open
objstream.Write body
objstream.Position = 0
objstream.Type = 2
objstream.Charset = Cset
BytesToBstr = objstream.ReadText
objstream.Close
set objstream = nothing
End Function
Curl="http://127.0.0.1/index.asp"
read=getHTTPPage(Curl)
if read<>"" then
content=read
Set Fso = Server.CreateObject("Scripting.FileSystemObject")
Filen=Server.MapPath("index2.html")
Set Site_Config=FSO.CreateTextFile(Filen,true, False)
Site_Config.Write content
Site_Config.Close
Set Fso = Nothing
Response.Write("<script>alert('已经成功生成首页!')</script>")
end if
%>
——————————————————————
index.asp页面代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
<table width="100%" border="0" cellpadding="0" cellspacing="0" class="bianlan2">
<tr>
<td height="2"></td>
<td></td>
</tr>
<tr>
<td width="10" height="202"></td>
<td width="218"><script TYPE="text/javascript" language="javascript" src="/newscodejstuijian.asp?lm2=113&list=10&icon=0&tj=1&font=9&hot=0&new=1&line=19&lmname=0&open=1&n=30&more=0&t=0&week=0&zzly=0&hit=0&pls=0&dot=0&tcolor=999999" charset='gb2312'></script></td></tr>
</table>
</body>
</html>
就是我想把index.asp生成静态的html页面,但是生成后的html页面源码中不是新闻,而是直接输出了js调用代码,如何解决呢? 展开
4个回答
展开全部
首先你shengcheng.asp只是生成了一个index2.html,并没有输出这个静态文件的代码,Site_Config.Write content不知道是不是自定的输出语句。
其次js引用其他页实际上就是读取asp直接执行后的代码,再改伏通过js的解释引擎执行当成js代码执行。 你腊乎给js一堆html代码,解释器肯定是出错的。
最后如果你想index.html页面有这轮歼悉个代码,又想不用asp而静态化,必须用shtml的include语句来包含index2.html。
其次js引用其他页实际上就是读取asp直接执行后的代码,再改伏通过js的解释引擎执行当成js代码执行。 你腊乎给js一堆html代码,解释器肯定是出错的。
最后如果你想index.html页面有这轮歼悉个代码,又想不用asp而静态化,必须用shtml的include语句来包含index2.html。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
xmlhttp抓取信息生成静态的模宴时弯瞎候<script TYPE="text/javascript" language="javascript" src="/newscodejstuijian.asp?lm2=113&list=10&icon=0&tj=1&font=9&hot=0&new=1&line=19&lmname=0&open=1&n=30&more=0&t=0&week=0&zzly=0&hit=0&pls=0&dot=0&tcolor=999999" charset='gb2312'><旦闹银/script>这段脚本会原本输出,并不会执行这个asp文件。生成静态的时候直接抓取这个页面就ok了。newscodejstuijian.asp
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果你是采集别人的网站的内容那就没有办法了
或者你把js文件的内容也输出
或者你把js文件的内容也输出
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
script 改成 include .
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询