我们在Adsense广告上遇到问题,特别是在移动设备上破坏了网页内容的滚动行为 . 当您在广告上点按(并按住)手指时,它实际上并不向上或向下滚动页面,而是简单地向上移动屏幕并切断其上方的所有其他内容 . 如果您点按(并按住)并拖动任何不是广告的内容,页面滚动就可以了 .
我已经链接到以下问题的视频 .
Video of scroll behavior issue
这是JSX中的标记(我们使用的是React):
<div className="resultsAdContainer">
<div className="resultsAd" style={{display: 'inline-block', margin: '25px auto 25px auto'}}>
<ins className="adsbygoogle" style={{display: "block"}} data-ad-client={this.props.dataAdClient} data-ad-slot={this.props.dataAdSlot} data-ad-format="auto"></ins>
</div>
</div>
这是CSS选择器:
.resultsAdContainer {
display: flex;
justify-content: center;
}
.resultsAd {
display: inline-block;
width: 100%;
}
我已经尝试 touch-action: none
并尝试为 touchmove
和 touchstart
添加一个事件监听器,并在容器DIV上触发事件时调用 .preventDefault()
.
我发现唯一有用的是在resultsAd类上添加 pointer-events: none
. 麻烦的是,这也禁止点击广告,这显然是不行的 . 我之前尝试使用Javascript将 pointer-events: auto
添加回iframe标记,但这只会将所有内容重置为最初描述的相同行为 .
任何想法如何阻止这种“切断”行为?