我正在与客户一起工作,以帮助他们在他们的网站上实现谷歌可信商店。这段代码已经在Chrome和Firefox中得到验证,但在IE中却没有。
原因是实际的“验证器”元素没有出现。所以没有错误可以看到,也没有什么可以继续的,它根本就不会出现。
谷歌的文档只是指出,如果代码没有显示,徽章代码要么是重复的,要么是丢失的。然而,情况并非如此,因为它甚至没有出现在站点的一个版本上,这个版本上没有代码,只有那个脚本。
下面是显示在与脚本相关的主页上的代码:
<script type="text/javascript">
var gts = gts || [];
gts.push(["id", "STORE_ID_HERE"]); // Note: value removed for privacy
gts.push(["badge_position", "BOTTOM_LEFT"]);
gts.push(["locale", "en_US"]);
// This is a "platform hack" to support the cart they're on
// insures that the ProductID value is only transmitted on the right pages
if( $('body').hasClass('category-page-type') || $('body').hasClass('search-page') || $('body').hasClass('recommended-products-page') || $('body').hasClass('product-page-type') )
{
gts.push(["google_base_offer_id", currentProductId]); // loads variable from input on product pages
}
gts.push(["google_base_subaccount_id", "ID_HERE"]); // Also removed for privacy
gts.push(["google_base_country", "US"]);
gts.push(["google_base_language", "en"]);
(function() {
var gts = document.createElement("script");
gts.type = "text/javascript";
gts.async = true;
gts.src = "https://www.googlecommerce.com/trustedstores/api/js";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(gts, s);
})();
</script>这段代码适用于火狐/Chrome,但不适用于IE11 (只有经过测试的版本,每个谷歌都需要支持9+ )。
我还在一个动态生成的文件中(也在IE11控制台中)发现了这个错误,但我真的不知道为什么:
Failed to open http://www.googlecommerce.com/trustedstores/s/tm2?id=17172&jsv=sDipv1xMSq4&hl=en_US&xpc={"cn"%3A"q9GW00NhHi"%2C"tp"%3Anull%2C"osh"%3Anull%2C"ppu"%3A"http%3A%2F%2Fwww.greenelectricalsupply.com%2Frobots.txt"%2C"lpu"%3A"http%3A%2F%2Fwww.googlecommerce.com%2Frobots.txt"}控制台错误显示为跨源限制,但由于某些原因,这对我来说似乎不正确。
此链接将导致验证器出现:http://bit.ly/15LbcaL
你会注意到它会出现在Chrome/Firefox中,但不会出现在IE中(尚未测试9/10,但11肯定不起作用)。我实际上已经联系过谷歌了,但我还没有收到回复。任何帮助都是非常感谢的。
更新
谷歌表示,问题在于Window.prototype未定义,但我对这个答案并不完全有信心,因为验证器栏(以及所讨论的脚本)在其他浏览器中运行良好,而不是这个浏览器。
发布于 2015-04-19 17:18:59
实际上,问题在于谷歌的脚本。代码工作正常,一旦他们在结束时纠正了它,就不会进行任何额外的更改。
谢谢!
发布于 2015-03-27 02:50:58
不知道你是否解决了这个问题,但我也遇到了同样的问题,并向谷歌寻求帮助,并建议这样做:
我在头部分有一个元代码:
<meta http-equiv="X-UA-Compatible" content="IE=8" />
<meta http-equiv="X-UA-Compatible" content="IE=7" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />这些IE7和IE8的metas阻止了警徽的装载。
然后他们说只添加以下内容:
<meta http-equiv="X-UA-Compatible" content="IE=Edge">这是非常简单的,并为我做了诀窍。希望它对你的问题有帮助,或者至少也能帮助到别人。
https://stackoverflow.com/questions/28217204
复制相似问题