2

我的页面上有不同的位置提供横幅广告。这些广告在运行时从第三方网站加载,大小各异。

我希望在这些广告中的每一个上添加一个透明图像,以便当有人点击广告时,我可以触发点击事件并进行一些处理。我的问题是:

  1. 如何使用 JavaScript 创建这些可扩展的透明图像叠加
  2. 如果有人点击透明图片,是否也会导致点击底层广告?

显然,我不想将图像放在顶部,然后停止点击底层实际广告

4

2 回答 2

0

您可以在整个文档上附加一个点击监听器,每当点击发生时,您可以检查该点击是否来自广告。并做你的处理。

于 2013-03-30T09:59:54.013 回答
0

在回答您的问题时:

首先,如果广告使用来自与页面不同域的 iframe,那么您可以做的事情就会受到更多限制。在这种情况下,您所能做的就是用您自己页面中的透明对象覆盖广告,当您这样做时,广告将不再获得点击。

如果广告不使用来自与页面不同域的 iframe,那么您可以通过以下选项来回答两个问题:

1)您可以使用 javascript 创建一个透明的 div,并将其放置在与广告相同的父级中。如果这是您真正想要做的,则可以使用 css 定位将其定位在广告的顶部。该定位的细节取决于广告本身的定位方式。或者,如果广告本身只是一个 div,您可以在广告中插入一个透明 div 并调整其大小,使其完全覆盖广告的所有区域。透明对象会收到初始点击,但随后点击会“冒泡”到作为广告的父级。

2) 点击放置在广告上方的透明物体会导致点击首先到达透明物体,而不是广告。点击会转到被点击的最顶部的对象,尽管点击会冒泡到父对象。因此,如果广告本身是父对象,那么点击也会转到广告。

如果您只想了解点击,那么您最好只为现有广告的点击添加自己的 eventListener,而不是在其上方插入另一层。您必须等到广告出现,找到正确的对象并插入您自己的 eventListener(假设广告不是使用来自不同域的 iframe 插入的)。

于 2013-03-30T09:12:14.800 回答