js如何自动click某个位置中的固定坐标?

2011-11-30 00:21:02 +08:00
 cfan365
<div id="dom1" style="width:100px;height:50px;"><embed width="100" height="50" wmode="transparent" type="application/x-shockwave-flash" src="play.swf"></div>

play.swf的大小是100*50,显示在dom1这个div中,在play.swf的坐标80*25的地方,有一个播放按钮,我要实现那个播放按钮的位置被自动点击一下,如何实现呢?

dom1在页面中的位置是可以获取到的吧?
6206 次点击
所在节点    问与答
4 条回复
keakon
2011-11-30 00:38:16 +08:00
没法实现,JavaScript的执行环境和Flash不同,它只知道DOM元素,不知道Flash容器里的按钮是什么玩意。必须由后者在ExternalInterface中注册一个函数,将API暴露出来后,才能让前者调用。
arzusyume
2011-11-30 09:08:16 +08:00
点击flash上的地方用as实现,
如果是想点击dom中的某一区域坐标可以给body绑定click事件,从返回的event中获取点击点的坐标再判断是否处于区域内
cfan365
2011-11-30 11:26:15 +08:00
@arzusyume 应该是这个思路 这个有实现的案例吗?
arzusyume
2011-12-01 11:20:06 +08:00
@cfan365
以下代码是按照LZ的判断点击坐标...虽然建一个隐藏div判断是否点击了这个div要更正常些

<!DOCTYPE>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test</title>
</head>
<script type="text/javascript">
var bind = function(obj, action, func) {
if (window.addEventListener) {
obj.addEventListener( action, function(event) {
func(obj, event);
}, false);
} else if (window.attachEvent) { //IE
obj.attachEvent('on' +action, function(event) {
func(obj, event);
});
}
}

var callBack = function(obj, event) {
console.info(event);
if (event.clientX < 40 || event.clientX > 120) {
return;
}
if (event.clientY < 120 || event.clientY > 220) {
return;
}
alert('click in box!');
}
</script>
<body style="width:100%;height:100%;">
<div style="border: 1px solid;height: 100px;left: 40px;position: absolute;top: 120px;width: 100px;"></div>

<script type="text/javascript">
bind(document.body, 'click', callBack);
</script>

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/22466

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX