Я пытаюсь вызвать тег привязки, чтобы избежать блокировки браузера, когда я перенаправляюсь в новое окно. Проблема заключается в событии щелчка тега якоря " $('#hello').trigger('click');
" не запускается автоматически.
Я что-то упускаю?
Пожалуйста, исправьте меня, что не так в нижнем html-коде.
Благодарю.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Mobile Browser Detective</title>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script>
$(document)
.ready(
function() {
var isMobile = {
any: function() {
return navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile/i);
}
};
if(isMobile.any()){
window.location.replace("http://www.google.com");
} else {
$('#hello').prop("href","javascript:window.open('http://www.yahoo.com','mywindowtitle','toolbar=no, menubar=no,scrollbars=no,resizable=no,location=no,directories=no,status=no,width=500,height=600')");
$('#hello').trigger('click');
}
});
</script>
</script>
</head>
<body>
<a id="hello">test</a>
<!-- Mobile Browser Detecting -->
</body>
</html>
Вы не можете вызывать click-event тега привязки из javascript/jquery. Это мера безопасности, встроенная в браузер.
Метод click предназначен для использования с элементами INPUT кнопки типа, checkbox, radio, reset или submit. Gecko не реализует метод click для других элементов, которые, как ожидается, будут реагировать на щелчки мышью, такие как ссылки (элементы A), и не обязательно будут запускать событие щелчка других элементов.
Вы можете напрямую использовать для этого метод window.open()
(который вы установили как якорь "href"):
window.open('http://www.yahoo.com','mywindowtitle','toolbar=no, menubar=no,scrollbars=no,resizable=no,location=no,directories=no,status=no,width=500,height=600')
Yoi не нужно устанавливать атрибут href, вы можете просто вызвать window.open
в блоке else
if (isMobile.any()) {
} else {
window.open('http://www.yahoo.com','mywindowtitle','toolbar=no, menubar=no,scrollbars=no,resizable=no,location=no,directories=no,status=no,width=500,height=600')
}
Попробуй это:
$('#hello').click();
или:
window.location = $('#myanchor').attr('href');
Вы можете связать событие Click этого тега с помощью Id, а затем запустить событие, когда event trigger Перенаправить его с помощью Window.location...