正如其他两个答案所述,不允许自动刷新您的 AdSense 广告。我知道您只是打算根据用户操作刷新广告,但仍然不允许,即使它应该是!
请记住,您要更新广告的原因是为了显示新广告。显示广告被称为“印象”。当您使用代码刷新广告时,您会自动生成广告展示次数。
AdSense 计划政策规定(重点是我的):
无效点击和展示
Google 广告的点击必须来自真正的用户兴趣。严禁以任何方式人为地在您的 Google 广告上产生点击或展示。这些被禁止的方法包括但不限于重复的手动点击或展示、使用机器人、自动点击和展示生成工具、产生点击或展示的第三方服务,例如付费点击、付费浏览、自动浏览、和点击交换程序,或任何欺骗性软件。
刷新您的广告违反了禁止产生印象的规则。话虽如此,我认为任何有理智的人都会同意在 AJAX 应用程序中刷新广告以响应用户行为(例如响应点击)并不违反规则精神。
例如,想象一下重写整个应用程序以停止使用 AJAX。对于您的用户来说,这显然是一种糟糕的体验(速度较慢,每次点击页面都会闪烁,页面无法在后台动态更新),但从技术上讲,这并不违反 AdSense 计划政策。
显然,谷歌的意思是禁止每五秒自动替换广告(创建广告的“幻灯片”)。Google 还打算禁止让您的网站看起来比您实际拥有的访问量更多,从而使您的网站对广告商更具吸引力。我敢肯定,他们无意阻止您设计高性能 AJAX 网站……但不幸的是,有时规则会产生意想不到的后果。
当然,正如您最初指出的那样,如果您将广告嵌入 iframe 并修改其位置,您仍然可以刷新广告。(以下是在 AJAX 应用程序中使用 iframe 刷新 AdSense 的方法。)
您在最初的问题中拒绝了 iframe,可能是因为您知道使用 iframe 会违反 Google 的政策……但如果您坚持违反规则,那么您还不如一路违反!;-)
最终,我认为您会发现以这种方式产生印象并不值得冒险:您将“刷新”广告却发现 Google 只是向您展示了与以前完全相同的广告。