Тест-драйв Google Trusted Stores не отображается в IE11

Я работаю с клиентом, чтобы помочь им внедрить Google Trusted Stores на своем сайте. Код был проверен в Chrome и Firefox, но не в IE.

Причина в том, что фактический элемент "validator" не появляется. Так что нет ошибок, чтобы увидеть или что-то еще, это просто не появляется.

В документации 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 ответа

Решение

Проблема была на самом деле со сценарием Google. Код работал без каких-либо дополнительных изменений, как только они исправили его на своем конце.

Спасибо!

Не уверен, что вы исправили эту проблему, но у меня была та же проблема, и я попросил 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">

Это было очень просто и помогло мне. Надеюсь, что это поможет вашей проблеме или кому-то в аренду.

Другие вопросы по тегам