0

我正在与一位客户合作,帮助他们在他们的网站上实施 Google 可信商店。该代码已在 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>

此代码适用于 Firefox/Chrome,但不适用于 IE11(仅测试版本,每个 Google 都需要支持 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 肯定不起作用)。我实际上已经联系了 Google,但我还没有收到回复。任何帮助表示赞赏。

更新

谷歌表示问题是 Window.prototype 未定义,但我对这个答案不太有信心,因为验证器栏(和有问题的脚本)在其他浏览器中运行良好,而不是在这个浏览器中。

4

2 回答 2

1

不确定您是否已解决此问题,但我遇到了同样的问题并向 Google 寻求帮助并建议这样做:

我在头部有这个元代码:

<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 元数据阻止了徽章加载。

然后他们说只添加这个:

<meta http-equiv="X-UA-Compatible" content="IE=Edge">

这很简单,对我有用。希望它对您的问题或至少对某人有所帮助。

于 2015-03-27T02:50:58.170 回答
0

问题实际上出在 Google 的脚本上。一旦他们最终更正了代码,代码就可以在没有任何额外更改的情况下运行。

谢谢!

于 2015-04-19T17:18:59.353 回答