在 Adsense 的另一个 html 文件中包含 html

Include html in another html file for Adsence

我正在尝试从位于服务器主文件夹中的名为 sda.html 的文件中包含我的 Adsense 代码。

我正在使用此代码来包含它:

    <div w3-include-html="../../sda.html" class="section_title text-center"></div>

来源:https://www.w3schools.com/howto/howto_html_include.asp

但是我觉得有点不对劲。

顺便说一句,我的网站只有 HTML 和 js,所以如果有任何其他更好的选择,我会很高兴听到。

这个我也查了下:

<!--#include virtual="/menu.shtml" -->

但我没有使用它,因为我不知道我的下一个服务器将如何运行。所以我跳过它。

这里是这个:

<object data="../../sda.html"></object>

我更喜欢这个,但我无法控制它的外观,我无法居中或其他任何东西

代码越小越好

sda.html 是只包含 adsense 代码还是整个页面?

w3school 的includeHTML 功能不是很好。我怀疑您遇到的问题是该函数使用 innerHTML 设置内容并且 innerHTML 不执行带有内容的 <script> 标签:检查 MDN [=21 上的 "Security considerations" =].

要解决此问题,您可以执行以下操作:从 sda.html 中删除 <script> 标签,然后,一旦您为每个标签导入 HTML 运行 window.adsbygoogle.push({})新的广告单元。示例:

  1. 在您的页面中添加 adsbygoogle.js 标签:
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
  1. 将广告插入 ID 为 div-with-ad 的 div。
const divWithAd = document.querySelector('#div-with-ad');
divWithAd.innerHTML = `
   <ins class="adsbygoogle"
     style="display:block; text-align:center;"
     data-ad-format="fluid"
     data-ad-layout="in-article"
     data-ad-client="ca-pub-0123456789101112"
     data-ad-slot="9876543210"></ins>
  `;
adsbygoog.push({});