我有一些类似于这样的链接
<a href="#" onclick=aFunction(this)>link</a>
“aFunction”是一个在当前窗口中打开链接的函数。
当单击此链接时,它可以正常工作并打开链接,但如果选择“在新标签页中打开”或“在新窗口中打开”,则无法正常工作。
“aFunction”的代码大致如下:
aFunction(object)
{
object.href = "www.mypage.com"
}
我有一些类似于这样的链接
<a href="#" onclick=aFunction(this)>link</a>
“aFunction”是一个在当前窗口中打开链接的函数。
当单击此链接时,它可以正常工作并打开链接,但如果选择“在新标签页中打开”或“在新窗口中打开”,则无法正常工作。
“aFunction”的代码大致如下:
aFunction(object)
{
object.href = "www.mypage.com"
}
使用“在新X中打开”上下文菜单不会触发单击事件。如果您的代码只是为了设置新窗口的地址,那么最好执行以下操作
<a href="http://www.mypage.com" target="_new">link</a>
可以考虑使用“而不是”。这样做可能无法通过验证,但它会更好地降级。
<a href="http://www.mypage.com">link</a>
<script type="text/javascript">
$(function() { // using jQuery for simplicity, but other methods work, too.
$('a').click( function() {
// do some other stuff
});
});
</script>
<a id="mylink" href="#">link</a>
<script>
function changeUrl()
{
if( /* some condition here */ )
document.getElementById('mylink').href = "www.someurl.com";
else
document.getElementById('mylink').href = "www.someotherurl.com";
}
</script>
这样做可以确保浏览器的“在新选项卡中打开链接”功能不会中断。
如果用户在页面上触摸了某些内容导致条件发生变化,您需要在每次用户触摸时调用changeUrl
函数。
function load() {
var load = window.open('http://www.domain.com','','scrollbars=no,menubar=no,height=600,width=800,resizable=yes,toolbar=no,location=no,status=no');}