Google Trusted Stores Test Drive未在IE11中显示

时间:2015-01-29 14:32:00

标签: javascript google-chrome internet-explorer e-commerce google-trusted-stores

我正在与客户合作,帮助他们在自己的网站上实施Google信任商店。该代码已经在Chrome和Firefox中验证过,但它在IE中无法使用。

原因是因为实际的"验证器"元素不会出现。因此,没有任何错误可供查看,也无法继续进行,它根本无法显示。

Google的文档只是声明如果代码没有显示,则徽章代码会重复或丢失。但情况并非如此,因为它甚至不会显示在该网站上没有代码但该脚本的版本。

此处显示主页上与脚本相关的代码:

<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,但我还没有收到回复。任何帮助表示赞赏。

更新

Google表示问题是Window.prototype未定义,但我对这个答案并不是很有信心,因为验证器栏(以及相关脚本)在其他浏览器中运行正常,而不是这个。

2 个答案:

答案 0 :(得分: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">

这很简单,为我做了诀窍。 希望它可以帮助您解决问题,也可以帮助解决问题。

答案 1 :(得分:0)

问题实际上是Google的脚本。一旦他们在结束时纠正了这些代码,它就没有任何其他更改。

谢谢!