在 React Firebase 网络应用程序中使用 Google Adsense 时拥有 CORS

Having CORS when using Google Adsense in React Firebase web app

我想将 google adsense 添加到我的 React 网站。我正在使用库 react-adsense

但是,当我想在我的 html 文件中添加 google adsense 脚本时出现此错误:

Access to Script at 'http://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:3000' is therefore not allowed access.

这是我添加脚本的方式:

<script crossorigin="anonymous" async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>

更新#1 我正在使用 firebase 托管我的网站

要在本地测试 Adsense,您可以尝试以下选项之一:

1- 使用 data-adtest="on"

<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>

<ins class="adsbygoogle"
 data-adtest="on"></ins>
<script>
  (adsbygoogle = window.adsbygoogle || []).push({});
</script>

2- 使用google_adtest="on"; (同步)

<script type="text/javascript">google_adtest="on";</script>
<script src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>

3- 使用扩展名(chrome 示例)like this one。或者换个浏览器试试。

4- 如果 none 有效,您可以尝试在 nginx 中使用 proxy_pass 进行反向代理 - 为了 "simulate" 您正在从允许的来源访问并编辑您的/etc/hosts(虽然不确定它是否有效)。

server {
  listen       80;
  server_name  mydomain.com;
  location / {
    proxy_pass http://127.0.0.1:3000;
  }
}