ubi*_*con 5 javascript asp.net iis url-rewriting frames
我有一个自己托管的网站.我没有静态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>
Run Code Online (Sandbox Code Playgroud)
当用户在"子"框架内导航时,如何更新"父"框架的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>
Run Code Online (Sandbox Code Playgroud)
和javascript函数......
function url_update(element){
base_url = 'http://mydomain.com/';
window.parent.location.href = base_url + element.getAttribute('value');
}
Run Code Online (Sandbox Code Playgroud)
生成的更新URL是......
http://mydomain.com/test/test.html
Run Code Online (Sandbox Code Playgroud)
......并没有前面提到的副作用.
我想修复的唯一"副作用"是在浏览器窗口底部的信息栏中显示链接. 现在它说,javascript:void(0);
因为这是我的href
属性中写的,但我希望它在链接悬停时显示更新的URL ...任何想法?
如果我可以废弃所有这些javascript并使用IIS 7 URL Rewrite 2.0代替这样做会更好......但我还没有掌握URL重写的黑色艺术.
The*_*ter 10
JavaScript的:
window.top.location = 'anther url'
Run Code Online (Sandbox Code Playgroud)
- 更新您的更新问题
用element.getAttribute('value')
而不是element.value
--UPDATE#2使用href属性,但是,return false;
在onclick函数中添加一个:
<a onclick="url_update(this);return false;" value="test/test.html" href="test/test.html">test link</a>
Run Code Online (Sandbox Code Playgroud)
一旦你这样做,你可能会跳过value属性并只使用href属性,更新你的url_update函数element.href
而不是使用element.value
很难从您的问题中准确判断哪些框架在做什么,但是如果 Scrum Meister 的解决方案适合您,那么您可以通过将其添加到每个 A 标签来轻松实现您想要的。
target="_top"
Run Code Online (Sandbox Code Playgroud)
您的示例已修改。
<a href="test/test.html" target="_top">test link</a>
Run Code Online (Sandbox Code Playgroud)
你也可以用 jquery 做到这一点......在所有 A 标签都应该有 target="_top" 的页面上,你可以在页面上实现以下 jquery 代码,它会动态地将目标添加到所有链接。
<script language="javascript" type="text/javascript">
$(function()
{
$("A").attr("target","_top");
});
</script>
Run Code Online (Sandbox Code Playgroud)
那是假设您有带有 href 属性的 normail A 标签,您可以一起摆脱 onclick,目标解决方案不需要其他 javascript。