在javascript中不起作用?

dreamlmx 2002-02-07 02:02:17
我试过用一个网页,URL是http://192.168.1.20/aaa.html,
内容如下:


<HEAD>
<base href="http://192.168.1.113/">
<TITLE>欢迎</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
<script language="JavaScript">
<!--
var popup = null;
var over = "Launch Pop-up Navigator";
popup = window.open('', 'popupnav', 'width=300,height=200,resizable=0,scrollbars=auto');
if (popup != null) {
if (popup.opener == null) {
popup.opener = self;
}
popup.location.href = 'guanqing.htm';
}
// -->
</script>
<body>
hihi
</body>
</html>

我在<head>中加入了<base href="http://192.168.1.113/">
我想达到的效果是出来http://192.168.1.113/guangqing.htm
但是,结果弹出来的页面的路径是http://192.168.1.20/guangqing.htm

如果在网页中写<a href="guangqing.htm" target="_blank">就没有问题。

请问如何才能是<base> tag在javascript中起作用?

...全文
133 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dreamlmx 2002-02-07
  • 打赏
  • 举报
回复
<base>的植读出来不难,但是很难转换javascript中所包含的Link了。
lihaitaoami 2002-02-07
  • 打赏
  • 举报
回复
在脚本里是不行的,只能把<base>的值取出来再说了。
dreamlmx 2002-02-07
  • 打赏
  • 举报
回复
很谢谢您的回复,但是我的问题是如何使<base>tag在javascript块中起作用。
就象在html中用的一样。
"a.html"就表示oBase[0].href+"a.html"

因为我要做一个HTML的转换,把所有的link转换成一个cgi的参数,HTML中的Link没问题,但是我不想又要做javascript的转换,而且javascript中很难判断一个变量是否一个Link。所以我才用<base>tag这个办法,<base>tag在HTML中用的很好,但是在javascript中就不行。

有没有一个设置使<base>tag在javascript块中起作用呢?或者是类似的解决办法呢?
lihaitaoami 2002-02-07
  • 打赏
  • 举报
回复
所以,如果在打开新窗口的时候强制加一个其它网站的地址,如"http://125.123.2.2",在打开后强制把它的location.href替换成你想要的就可以了。
<html>
<HEAD>
<base href="http://192.168.1.113/">
</head>
<TITLE>欢迎</TITLE>
<script language="JavaScript">
<!--
var popup = window.open("http://125.234.23.2", 'popupnav', 'width=300,height=200,resizable=0,scrollbars=auto');
var oBase = document.all.tags('BASE');
var tmpstr=String(oBase[0].href)+"guanqing.htm";
popup.location.href=tmpstr //强制改变location,这样就可以了。
-->
</script>
<body>
hihi
</body>
</html>
lihaitaoami 2002-02-07
  • 打赏
  • 举报
回复
在脚本里把base的值取出来,就可以使用了。我想是因为在你打开一个空窗体之后,系统默认打开的是本机的网页,此时替换location就不能加http://头。
lihaitaoami 2002-02-07
  • 打赏
  • 举报
回复
我试了一下,在打开空窗体后再替换location.href的时候,不能加http://,只能认为是本机的地址内的网页。
如果在打开的时候就指明其中的location.href则没问题。
在网页链接中应用也没有问题。可以在java脚本里就把base.href读出来,打开该地址的窗口就没有问题。
<html>
<HEAD>
<base href="http://192.168.1.113/">
</head>
<TITLE>欢迎</TITLE>
<script language="JavaScript">
<!--
var oBase = document.all.tags('BASE');
var tmpstr=String(oBase[0].href)+"guanqing.htm";
var popup = window.open(tmpstr, 'popupnav', 'width=300,height=200,resizable=0,scrollbars=auto');
-->
</script>
<body>
hihi
</body>
</html>

87,994

社区成员

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

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