【发布时间】:2011-05-20 16:12:31
【问题描述】:
我有一个我自己托管的网站。我没有静态 IP 地址,因此我的域的所有流量都通过掩码转发到我的 DDNS 帐户。生成的页面如下所示...
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>mydomianname.com</title>
</head>
<frameset rows="100%,*" border="0">
<frame src="http://myddns.dyndns.org/mydomainname" frameborder="0" />
<frame frameborder="0" noresize />
</frameset>
</html>
当用户在“子”框架内导航时,如何更新“父”框架的 URL?
更新:成功了吗?
我曾尝试使用 javascript 执行此操作,但在获取正确的 href 到我的 javascript 函数时遇到问题,而不会产生不利的副作用(打开两个窗口,让我的主窗口转到错误的位置,或者让它所以后退按钮无法正常工作)。我所需要的只是我的a 标签的一个属性来保存一个我可以在我的javascript 中使用的值,但根本不会做任何其他事情。添加属性value 事件虽然它不是a 标记的本机属性,但效果很好。
a 标签...
<a onclick="url_update(this);" value="test/test.html" href="javascript:void(0);">test link</a>
还有 javascript 函数...
function url_update(element){
base_url = 'http://mydomain.com/';
window.parent.location.href = base_url + element.getAttribute('value');
}
生成的更新后的 URL 是...
http://mydomain.com/test/test.html
...并且没有前面提到的副作用。
我想修复的唯一“副作用”是在浏览器窗口底部的信息栏中显示链接。现在它显示javascript:void(0);,因为这就是写在我的href 属性中,但我希望它在链接悬停时显示更新的 URL...有什么想法吗?
如果我可以废弃所有这些 javascript 并改用 IIS 7 URL Rewrite 2.0 来做这件事会更好……但我还没有掌握 URL 重写的黑魔法。
【问题讨论】:
-
可能是一个简单的
window.open("the-new-url-goes-here", "_top")。如果您使用的是链接,那么<a href="some-url-goes-here" target="_top">Open me</a>.
标签: javascript asp.net iis url-rewriting frames