主体要用jquery实现.不能用创建浮动层的方式来解决.
当用confirm询问用户选择操作后,弹出一个新的窗口.
弹窗口大家都知道,open就可以了,但是局限很大,一般现在的浏览器不让弹的.
于是想到使用A标签来实现,就是先创建一个A标签,将URL地址放进去,但接下来如何触发那个事件,却一直没换到答案.
创建form使用submit也试过了,但也会被拦截.
那位兄台见过或用过此类方法,给个参考....谢谢
(如何触发A标签的地址喃????不解中...)
12 个解决方案
#1
曾经也遇到过这个问题,直接open会被某些浏览器屏蔽,之后想到 模拟用户点击并open,也不行,后来就没研究了。
围观下。
围观下。
#2
你可以模拟一个confirm,确定按钮实际上做成一个<a href="" target="_blank"></a>
然后让用户点,他一点确定,自动就新打开了一个窗口
然后让用户点,他一点确定,自动就新打开了一个窗口
#3
a标签如果不是用户点击的话,貌似也会阻止。
楼主可以试试~·a.click()这样
但是这样只有IE支持~·FF别的浏览器没有click事件~·
#4
<!doctype html>
<html>
<head>
<meta charset="gb2312" />
<title>Test</title>
<style>
</style>
<script>
function $(o){return document.getElementById(o)}
window.onload = function(){
$('test').onclick = function(){
window.open('http://baidu.com')
}
$('test').click()
}
</script>
</head>
<body>
<input type="button" id="test" style="display:none;" />
</body>
</html><!doctype html>
<html>
<head>
<meta charset="gb2312" />
<title>Test</title>
<style>
</style>
<script>
function $(o){return document.getElementById(o)}
window.onload = function(){
$('test').onclick = function(){
window.open('http://baidu.com')
}
$('test').click()
}
</script>
</head>
<body>
<input type="button" id="test" style="display:none;" />
</body>
</html>
这样在ie下没问题,ff一样会屏蔽
#5
感谢楼上的同志们.
不是不想模拟一个confirm解决问题,而是遇到这个问题,想解决掉,要不然一直挂在心头不安逸.
况且confirm的状态是不能完全模拟的,比如说整个窗体(浏览器)的不可触发状态.
jquery 执行a.click(),其内函数可以尽数执行,但不会触发href地址跳转
求解中....
不是不想模拟一个confirm解决问题,而是遇到这个问题,想解决掉,要不然一直挂在心头不安逸.
况且confirm的状态是不能完全模拟的,比如说整个窗体(浏览器)的不可触发状态.
jquery 执行a.click(),其内函数可以尽数执行,但不会触发href地址跳转
求解中....
#6
<!doctype html>
<html>
<head>
<meta charset="gb2312" />
<title>Test</title>
<style>
</style>
<script>
function $(o){return document.getElementById(o)}
window.onload = function(){
$('test').onclick = function(){
window.open('http://baidu.com')
}
$('test').click()
}
</script>
</head>
<body>
<input type="button" id="test" style="display:none;" />
</body>
</html>
怎么贴了两次。
#7
a 标签的 click 在ff 下触发了,也不会跳转页面!
用div 模拟confirm! 按钮直接加 连接
用div 模拟confirm! 按钮直接加 连接
#8
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<script language='javascript'>
function opens(url){
var oA = document.createElement('a');
oA.href = url;
oA.target = '_blank';
document.body.appendChild(oA);
oA.click();
}
</script>
<body>
<input type="button" value="open" onclick="opens('http://www.baidu.com');" />
</body>
</html>
#9
解决什么,不是把墙撞烂,可以找*过去。
整个浏览器不可触发一样可以模拟,用一个层遮罩起来并且取消滚动条,一般的操作都可以屏蔽掉。
而且“整个浏览器不可触发”这个需求是否是必须呢?
#10
过是已经过去了,能用其它方式实现.但是几次遇到这个问题,都无法很好的解决,所以才发此贴.
#11
firefox 下可以模拟a的click()事件,可以搜搜。
#12
建议用click()事件
#1
曾经也遇到过这个问题,直接open会被某些浏览器屏蔽,之后想到 模拟用户点击并open,也不行,后来就没研究了。
围观下。
围观下。
#2
你可以模拟一个confirm,确定按钮实际上做成一个<a href="" target="_blank"></a>
然后让用户点,他一点确定,自动就新打开了一个窗口
然后让用户点,他一点确定,自动就新打开了一个窗口
#3
a标签如果不是用户点击的话,貌似也会阻止。
楼主可以试试~·a.click()这样
但是这样只有IE支持~·FF别的浏览器没有click事件~·
#4
<!doctype html>
<html>
<head>
<meta charset="gb2312" />
<title>Test</title>
<style>
</style>
<script>
function $(o){return document.getElementById(o)}
window.onload = function(){
$('test').onclick = function(){
window.open('http://baidu.com')
}
$('test').click()
}
</script>
</head>
<body>
<input type="button" id="test" style="display:none;" />
</body>
</html><!doctype html>
<html>
<head>
<meta charset="gb2312" />
<title>Test</title>
<style>
</style>
<script>
function $(o){return document.getElementById(o)}
window.onload = function(){
$('test').onclick = function(){
window.open('http://baidu.com')
}
$('test').click()
}
</script>
</head>
<body>
<input type="button" id="test" style="display:none;" />
</body>
</html>
这样在ie下没问题,ff一样会屏蔽
#5
感谢楼上的同志们.
不是不想模拟一个confirm解决问题,而是遇到这个问题,想解决掉,要不然一直挂在心头不安逸.
况且confirm的状态是不能完全模拟的,比如说整个窗体(浏览器)的不可触发状态.
jquery 执行a.click(),其内函数可以尽数执行,但不会触发href地址跳转
求解中....
不是不想模拟一个confirm解决问题,而是遇到这个问题,想解决掉,要不然一直挂在心头不安逸.
况且confirm的状态是不能完全模拟的,比如说整个窗体(浏览器)的不可触发状态.
jquery 执行a.click(),其内函数可以尽数执行,但不会触发href地址跳转
求解中....
#6
<!doctype html>
<html>
<head>
<meta charset="gb2312" />
<title>Test</title>
<style>
</style>
<script>
function $(o){return document.getElementById(o)}
window.onload = function(){
$('test').onclick = function(){
window.open('http://baidu.com')
}
$('test').click()
}
</script>
</head>
<body>
<input type="button" id="test" style="display:none;" />
</body>
</html>
怎么贴了两次。
#7
a 标签的 click 在ff 下触发了,也不会跳转页面!
用div 模拟confirm! 按钮直接加 连接
用div 模拟confirm! 按钮直接加 连接
#8
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<script language='javascript'>
function opens(url){
var oA = document.createElement('a');
oA.href = url;
oA.target = '_blank';
document.body.appendChild(oA);
oA.click();
}
</script>
<body>
<input type="button" value="open" onclick="opens('http://www.baidu.com');" />
</body>
</html>
#9
解决什么,不是把墙撞烂,可以找*过去。
整个浏览器不可触发一样可以模拟,用一个层遮罩起来并且取消滚动条,一般的操作都可以屏蔽掉。
而且“整个浏览器不可触发”这个需求是否是必须呢?
#10
过是已经过去了,能用其它方式实现.但是几次遇到这个问题,都无法很好的解决,所以才发此贴.
#11
firefox 下可以模拟a的click()事件,可以搜搜。
#12
建议用click()事件