0 0

一个棘手的html网页制作问题5

我们发现:当我们打开网页:http://www.g.cn/时,网页将最终跳转到http://www.google.cn/(即浏览器中显示的网址);同样,打开:http://www.baidu.com/a.asp时,网页将最终跳转到http://www.baidu.com/search/error.html。而多数网页不会跳转,例如:打开http://mp3.baidu.com/时,网页地址仍然是http://mp3.baidu.com/。

现在,我想自己制作一个html网页(文件名:test.htm)。该网页要实现这样的功能:提取任何一个网页的最终网址,即:当我们在文本框中输入一个网址(如:http://www.g.cn/),点“确定”,则显示它最终跳转到的网址(http://www.google.cn/)(若该网页不会跳转,如:http://mp3.baidu.com/,则显示它目前的网址)。

该test.htm源文件如下:

请输入网址: <input type="text" name="t1" > <input value="确定" name="B1" type="botton" onclick=zh()> <br>
该网页最终地址: <input type="text" name="t2" >
<script language="javascript">
function zh()
{...
}
</script>

可惜我不知道function zh()这个javascript程序应该怎么写。特请求帮助!
我曾想过以下2种方案,但都无法实现!

方案1:
<script language="javascript">
function zh()
{var win = window.open(t1.value,"newwindow", "");
t2.value=win.location.href;
}
</script>
此方案的问题出在win.location.href。因为无论是javascript还是vbscript,都不允许跨域操作。但我的test.htm是在本机运行,不可能是输入的网址(如http://www.google.cn)在同一域名下。我在网上搜索了一些解决跨域的方法,并进行了尝试,但好象都无法提取win.location.href。

方案2:
<script language="javascript">
function zh()
{var url=t1.value;
var Http=new ActiveXObject("MSXML2.XMLHTTP");
Http.open("get",url,false);
Http.send() ;
t2.value=...;
}
</script>
此方案可以用Http.responseText提取任何一个网址(如http://www.google.cn)的源代码,但我却不知道用哪个函数提取该网页的网址。

请各位网有帮忙。您可以修正以上的2种方案,也可以提出您的方案。谢谢!
2008年6月02日 09:29
目前还没有答案

相关推荐

Global site tag (gtag.js) - Google Analytics