jQuery触发iFrame上的点击?

use*_*693 10 jquery

如果用户点击我想要的图像同时触发指定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>
Run Code Online (Sandbox Code Playgroud)

dca*_*son 13

你的jquery图像选择器是错误的.

更改

jQuery("input.image")
Run Code Online (Sandbox Code Playgroud)

$("#image")
Run Code Online (Sandbox Code Playgroud)

一切都会奏效.你可以在这个小提琴中看到它

发布编辑

如果问题是触发点击iFrame中包含的其中一个元素,则替换

$("#iframe").click()
Run Code Online (Sandbox Code Playgroud)

有类似的东西:

$("#iframe").contents().find("a:first").click();
Run Code Online (Sandbox Code Playgroud)

这仅在主页面和iFrame页面的内容位于同一域时才有效.否则,浏览器将阻止该操作,因为它是跨站点脚本.您可以在您的示例中看到,XSS预防将在此小提琴中展示

  • 如果是这种情况,那么所有现代浏览器都将禁止该操作。您对此无能为力。如果你打开你正在使用的浏览器的 javascript 控制台,你会看到类似这样的内容:“阻止了一个带有“http://fiddle.jshell.net”的框架访问一个带有“http://”的框架www.test.com”。协议、域和端口必须匹配。” 另外,如果我对您有帮助,请将我的问题标记为已回答并点赞。谢谢 :) (3认同)