微信小程序 不支持引用非业务域名 请重新配置

admin
admin
admin
376
文章
102
评论
2022年8月1日10:09:36
评论
185
微信小程序 不支持引用非业务域名 请重新配置

最近刚把自己的博客封装成了小程序,但在测试的过程中出现了点小问题,如上图:

页面iframe不支持引用非业务域名 https://googleads.g.doubleclick.net,请重新配置

分析发现,Google Adsense的代码,是需要引入JS文件的,引入Adsense的JS代码后,就会自动执行并iframe一个页面,这个页面访问的域名因为没有在小程序后台添加到业务域名(实际在小程序后台也没有办法添加)。

解决办法:

1、去掉网站的google adsense代码;

2、用代码来判断微信小程序环境,发现是微信小程序环境就不引入adsense的js代码。这样才能规避微信小程序下页面提示「域名非法」而无法打开的问题;

可以将下面代码放到网站上,每个页面都需要放。

下面的google客户号ca-pub-6518544445186333需要修改为自己的。

<ins class="adsbygoogle" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="auto"
 data-ad-client="ca-pub-6518544445186333" data-ad-slot="3773436664" data-full-width-responsive="false"></ins>
<script src="//res.wx.qq.com/open/js/jweixin-1.3.2.js"></script>
<script>
function dynamicLoadJs(url, callback) {
var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
 script.type = 'text/javascript';
 script.src = url;
 script.crossorigin = 'anonymous';
if (typeof (callback) == 'function') {
 script.onload = script.onreadystatechange = function () {
if (!this.readyState || this.readyState === "loaded" || this.readyState === "complete") {
 callback();
 script.onload = script.onreadystatechange = null;
}
};
}
 head.appendChild(script);
}
function showAdGoogle() {
var ua = navigator.userAgent.toLowerCase();
var isInMp = false;
//引入的js文件地址
 let url = 'https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-6518544445186333';
 dynamicLoadJs(url, function () {
(adsbygoogle = window.adsbygoogle || []).push({});
});
}
if (ua.match(/MicroMessenger/i) == "micromessenger") {
 wx.miniProgram.getEnv((res) => {
if (res.miniprogram) {
 isInMp = true;
} else {
 showAdGoogle();
}
})
} else {
 showAdGoogle();
}
</script>
admin
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: