jQuery, чтобы вызвать клик на iFrame?

jquery

35375 просмотра

2 ответа

Если пользователь нажимает на изображение, я хочу, чтобы он одновременно вызывал щелчок и на указанном iFrame. Это возможно? Изображение и iFrame расположены на одной странице. Если да, не могли бы вы показать мне код, который будет работать?

Вот что у меня так далеко:

<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
</head>
<body>
<img id="image" src="https://www.google.com/images/srpr/logo4w.png">

<iframe id="iframe" src="http://www.test.com" height= "100" width="160"></iframe>

<script>
jQuery("input.image").click(function(){
   $("#iframe").click()
});
</script> 

</body>
</html>
Автор: user2453693 Источник Размещён: 12.11.2019 09:04

Ответы (2)


13 плюса

Решение

Ваш селектор изображений JQuery неправильно.

менять

jQuery("input.image")

в

$("#image")

Тогда все будет работать. Вы можете увидеть это в этой скрипке

Редактировать сообщение

Если вопрос состоит в том, чтобы вызвать щелчок по одному из элементов, содержащихся в iFrame, то замените

$("#iframe").click()

с чем-то вроде:

$("#iframe").contents().find("a:first").click();

Это будет работать только в том случае, если содержимое главной страницы и страницы iFrame находятся в одном домене. В противном случае браузеры будут препятствовать действию, так как это межсайтовый скриптинг. Вы можете видеть на своем примере, что предотвращение XSS будет происходить, как показано в этой скрипке

Автор: dcarson Размещён: 04.06.2013 11:33

3 плюса

Я думаю, вам нужно что-то вроде этого: -

$("#image").click(function(){
     var $iframe = $("#iframe").contents();
     $("body", $iframe).trigger("click");
});
Автор: pvnarula Размещён: 04.06.2013 11:34
Вопросы из категории :
32x32