武汉市汉口医院儿科:如何让textarea获取我需要的框架frame中的内容了

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/28 08:56:38
如何能够获取在同一个网页中的其他框架的源代码
文件是这样的
<body>
<iframe name="mine" width="100%" height="80%" src="http://free.cnyys.com/my/verycs/default.asp"></iframe>
<hr>
<form>
......
< textarea >我所需要的"mine"框架内的源程序</textarea>
<input type=submit>
</form>
'================================
办法一:
<body>
<iframe name="mine" width="100%" height="80%" src="1.html"></iframe>
<hr>
<form>
<textarea name="ta">我所需要的"mine"框架内的源程序</textarea>
<input type=button value="ok" onclick="fun();">
<script>
function fun()
{
var mine=document.frames("mine").document.body.outerHTML;
alert(mine);
document.getElementsByName("ta")[0].value=mine;
}
</script>
</form>
'=============================
但是获取到的内容和原来的很不相同,其中的不少代码和空格回车都被改变了,我期望的结果是和源文件一摸一样的值!
1.htm
'====================
<html>
<body>
<table>
<tr>
<td height=30 align=right>编号:</td>
<td><input name=keycode value="ZA2727" size=17 maxlength="8" readonly>     小区:<input name=area_text value="凤阳路小学" size=17 maxlength="30" readonly>
</td>
</tr>
</table>
.....
</body>
</html>
'====================
运算的值把源文件重写了!

上面的程序不行,其实是这样的,我的网站上面设置得有session验证,直接是无法访问得,只有通过框架页面才可以访问,但是通过我上面程序转换得结果和原文件的内容不一致,其中很多的数据和格式顺序都发生了改变,以至于原先的程序无法正确执行。
你可以制作一个框架,或者直接把目的页面保持下来再分析不就ok了

我用ASP做的 你用用拭拭

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>textarea获取框架frame中的HTML内容</title>
</head>

<body>
<%
'输入url目标网页地址,返回值getHTTPPage是目标网页的html代码
function getHTTPPage(url)
dim Http
set Http=server.createobject("MSXML2.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

'转换乱玛,直接用xmlhttp调用有中文字符的网页得到的将是乱玛,可以通过adodb.stream组件进行转换
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

Dim Url,Html
Url="http://free.cnyys.com/my/verycs/default.asp"
Html = getHTTPPage(Url)
%>

<iframe name="mine" width="100%" height="80%" src="http://free.cnyys.com/my/verycs/default.asp"></iframe>
<hr>
<form>
<textarea cols="100" rows="100"><%= Html %></textarea>
<input type=submit></form>
</body>
</html>