【有偿】请人帮写一段代码。。。。。。。。。。。

goood163 2007-04-08 05:42:42
有偿请人帮写一段代码,页面结构如下:


——————————————————
<html>
<body>

<iframe>
//这里会显示一行文字,大约五六个汉字
</iframe>

<script>
//请帮写一下这段代码
</script>

</body>
</html>

——————————————————


要求js能判断iframe显示的文字里是否包含某个词,如果包含“甲”则跳转到“甲页面.htm”,如果包含“乙”则跳转到“乙页面.htm”,如果包含“丙”则跳转到“丙页面.htm”,依次类推。。。。

愿意付一点RMB,不是对您智慧的对价,而是对您劳动的尊重,谁肯帮这个忙,谢谢!
...全文
814 38 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
38 条回复
切换为时间正序
请发表友善的回复…
发表回复
ck863 2007-04-17
  • 打赏
  • 举报
回复
可以取到

同域

str=document.frames("iframesname").document.body.innerText;

不同域用xmlhttp,但是客户端存在编码问题

tuifeirensheng 2007-04-17
  • 打赏
  • 举报
回复
mark
长明 2007-04-17
  • 打赏
  • 举报
回复
今天又来看此贴,首先要检讨一下。

其一、引用ShadowSniper兄代码的时候少加一个"}",导致代码出错

其二、关于解码函数我没看清就贴上去了
上面这个其实是VBS下的解码函数在JS里并不实用

言归正传!
今天看了下emu的解码方法,觉得确实有些麻烦,不是emu写的麻烦,是用JS解码本身就很麻烦!
分析了goood163兄昨天晚上所描述的功能之后决定另寻出路.
goood163兄所讲的大概意思是这样的:1、取得客户IP所属地->2、根据属地自动转到相应的网页
于是我找到一个提供IP查询的接口返回的直接是客户浏览器的IP属地
接口是:http://www.abcbit.com/ip.php?style=2
我将其放在一个<span>中,然后通过outerTEXT读取、判断,继而转向之....

CODE:
--------------------------------------------------------------------------
<html>
<body>
<!-- 获取IP属地的代码,须在读取IP属地之前---->
<span id=ip>

<script src=http://www.abcbit.com/ip.php?style=2></script>
</span>

<script>

//跳转代码将ShadowSniper兄的稍做修改
function jumpUrl(str){
var string = new Array('网通','二','三','四','五','六');
var address = str;
var jump = document.getElementById('jump');
for(i=0;i<string.length;i++){
if(address.indexOf(string[i]) != -1)
window.location.href = string[i]+".htm";
}
}

//读取IP属地
var addr = document.all.ip.outerText;

//执行跳转
jumpUrl(addr);
</script>

</body>
</html>

------------------------------------------------------------------------
再次为我的疏忽道歉!
长明 2007-04-16
  • 打赏
  • 举报
回复
13633351701(本人穷困,请发短信.)
goood163 2007-04-15
  • 打赏
  • 举报
回复
长明灯:请留个电话给我可以吗?
goood163 2007-04-15
  • 打赏
  • 举报
回复
谢谢《长明灯》写这么长的代码!
谢谢《长明灯》写这么长的代码!
谢谢《长明灯》写这么长的代码!
长明 2007-04-14
  • 打赏
  • 举报
回复
对上面办法的补充

直接接收遇到汉字会产生乱码,所以还得处理以下
--------------------------------------------

<html>
<body>
<iframe src="http://www.2exchange.cn/test.htm">
</iframe>
<script language="javascript">

var xmlHttp;

//一个流传广泛的解码函数
Function BytesToBstr(body)
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 = "gb2312"
BytesToBstr = objstream.ReadText
objstream.Close
set objstream = nothing
End Function



//跳转代码将ShadowSniper兄的稍做修改
function jumpUrl(str){
var string = new Array('一','二','三','四','五','六');
var address = str;
var jump = document.getElementById('jump');
for(i=0;i<string.length;i++){
if(address.indexOf(string[i]) != -1)
window.location.href = string[i]+".htm";
}


//指定要iframe的网页
var url="http://www.2exchange.cn/test.htm";

xmlHttp=GetXmlHttpObject(stateChanged);
xmlHttp.open("GET", url , true);
xmlHttp.send(null);

//XMLHTTP状态监视函数
function stateChanged()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{

//将iframe的内容以二进制传回给"str"
var str = xmlHttp.responseBody;

//将二进制字符解码
str = BytesToBstr(str);


//调用处理函数
jumpUrl(str);
}
}

function GetXmlHttpObject(handler)
{
var objXmlHttp=null

if (navigator.userAgent.indexOf("Opera")>=0)
{
alert("This example doesn't work in Opera")
return;
}
if (navigator.userAgent.indexOf("MSIE")>=0)
{
var strName="Msxml2.XMLHTTP"
if (navigator.appVersion.indexOf("MSIE 5.5")>=0)
{
strName="Microsoft.XMLHTTP"

}
try
{
objXmlHttp=new ActiveXObject(strName)
objXmlHttp.onreadystatechange=handler
return objXmlHttp
}
catch(e)
{
alert("Error. Scripting for ActiveX might be disabled")
return
}
}
if (navigator.userAgent.indexOf("Mozilla")>=0)
{
objXmlHttp=new XMLHttpRequest()
objXmlHttp.onload=handler
objXmlHttp.onerror=handler
return objXmlHttp
}
}

</script>
</body>
</html>
mrshelly 2007-04-14
  • 打赏
  • 举报
回复
莫见着PM。呵呵。
长明 2007-04-14
  • 打赏
  • 举报
回复
用ajax是个好办法

假设:
你iframe的网页是:http://www.2exchange.cn/test.htm(只是做实例化说明,并无任何含义)

CODE:
-------------------------------------------------------------

<html>
<body>
<iframe src="http://www.2exchange.cn/test.htm">
</iframe>
<script language="javascript">

var xmlHttp;

//跳转代码将ShadowSniper兄的稍做修改
function jumpUrl(str){
var string = new Array('一','二','三','四','五','六');
var address = str;
var jump = document.getElementById('jump');
for(i=0;i<string.length;i++){
if(address.indexOf(string[i]) != -1)
window.location.href = string[i]+".htm";
}


//指定要iframe的网页
var url="http://www.2exchange.cn/test.htm";

xmlHttp=GetXmlHttpObject(stateChanged);
xmlHttp.open("GET", url , true);
xmlHttp.send(null);

//XMLHTTP状态监视函数
function stateChanged()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{

//将iframe的内容传回给"str"
var str = xmlHttp.responseText;

//调用处理函数
jumpUrl(str);
}
}

function GetXmlHttpObject(handler)
{
var objXmlHttp=null

if (navigator.userAgent.indexOf("Opera")>=0)
{
alert("This example doesn't work in Opera")
return;
}
if (navigator.userAgent.indexOf("MSIE")>=0)
{
var strName="Msxml2.XMLHTTP"
if (navigator.appVersion.indexOf("MSIE 5.5")>=0)
{
strName="Microsoft.XMLHTTP"

}
try
{
objXmlHttp=new ActiveXObject(strName)
objXmlHttp.onreadystatechange=handler
return objXmlHttp
}
catch(e)
{
alert("Error. Scripting for ActiveX might be disabled")
return
}
}
if (navigator.userAgent.indexOf("Mozilla")>=0)
{
objXmlHttp=new XMLHttpRequest()
objXmlHttp.onload=handler
objXmlHttp.onerror=handler
return objXmlHttp
}
}

</script>
</body>
</html>
goood163 2007-04-13
  • 打赏
  • 举报
回复
谁给个完整的正解,非常感谢~~~~~~~~~~~~~
RexZheng 2007-04-13
  • 打赏
  • 举报
回复
这个似乎不难吧
goood163 2007-04-13
  • 打赏
  • 举报
回复
别沉啊,问题还没解决。。。。。。。。。。。。
joegu 2007-04-11
  • 打赏
  • 举报
回复
帮顶,楼上好人多阿,up
goood163 2007-04-11
  • 打赏
  • 举报
回复
mrshelly(Shelly)请见短信
梅雪香 2007-04-10
  • 打赏
  • 举报
回复
如果可以访问中国银行的网站,那谁还敢输入密码呢?

不是小,是晓
goood163 2007-04-10
  • 打赏
  • 举报
回复
谢谢小阳,不是同域就没有办法了吗?
梅雪香 2007-04-10
  • 打赏
  • 举报
回复
如果iframe与parent是同域的话,用framename.document.body.childNodes[0].nodeText还是nodeValue什么的,把文本取出来,然后用正则test一下就行了.

如果不是同域的,js没办法访问, 别说RMB, JB(金币)也不管用.
mrshelly 2007-04-10
  • 打赏
  • 举报
回复
站内PM......呵呵.
starwu 2007-04-10
  • 打赏
  • 举报
回复
iframe 和 frame 一样不能跨域
不过用ASP可以访问跨域的页面...
goood163 2007-04-10
  • 打赏
  • 举报
回复
烦请知道者不吝指导~~~~~~~~~
加载更多回复(18)

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧