0

标题很好地概括了这个问题......

我正在尝试将 Mopub 广告集成到我的网络应用程序中。我已将 javascript 代码粘贴到我希望广告显示的位置,并且初始测试广告显示得很好。

问题是当我有脚本并加载广告时,我的网络应用程序中的所有文本都显示为大约应有大小的 2/3 或一半。

如果我删除 Mopub 脚本,文本会再次以正确的大小显示。

似乎脚本中的某些内容导致 CSS 被覆盖,但我查看了所有被调用的脚本,并没有看到其中有任何可疑之处。

有谁知道为什么会这样?

更新:

所以我弄清楚发生了什么。该脚本会注入一个 HTML 演示广告,该广告在样式标签中包含一些 CSS,其中包括将字体大小从 16 像素重置为 12 像素的正文样式。

因为我在所有测量中都使用 ems,并且由于脚本是在页面底部注入的,所以它覆盖了我的 CSS。

有什么方法可以沙箱 Mopub 脚本,所以它的 CSS 不能覆盖我的吗?

某种iframe恶作剧?

4

1 回答 1

0

现在,我刚刚屈服于!important。

如果我将它添加到包含正文字体大小样式的样式表中,Mopub 脚本不会像现在一样覆盖它。

body {
   font-size: 16px !important;
}

不过,这感觉像是一种 hack,如果有更好的方法可以做到这一点,请在此处发布。

我有一种感觉,这也只是 Mopub 测试脚本的一个问题,但我不愿意打赌,也不喜欢任意注入代码覆盖应用程序 CSS 的想法。

更新:

我制作了另一个包含广告代码的文件,并将该内容沙盒化到 iframe 中。显然,Mopub 允许发布商通过样式标签在其 HTML 广告素材中添加他们想要的任何 CSS。古怪。

如果其他人遇到同样的问题,我建议使用基于 iframe 的方法,这样您的网站样式就不会被不知情或流氓发布者劫持。

于 2014-11-08T08:18:44.590 回答