Ошибки Javascript: "Нет ретрансляции", только в IE 7, 8

Мой javascript не будет загружаться из-за ошибок, которые он получает, только в IE. Я использовал отладчик, чтобы получить следующие ошибки. Эта страница правильно отображает javascript в Safari, FF и chrome, но не в IE, и только на определенных страницах, подобных этому.

http://tsqja.deznp.servertrust.com/Lakeside_721_2_Shelf_Heavy_Duty_Utility_Cart_p/lak-721.htm

1) Реле не установлено (используется как window.postMessage targetOrigin), не может отправлять междоменное сообщение

2) Недействительный аргумент. jquery.min.js

Любые идеи, что подразумевает первая ошибка? Я отключил мою сборку jQuery последним, и она по-прежнему делает то же самое.

UPDATE Я обновил свой jquery.min.js до конца, и я понял, что это место, где страница перестает загружаться... после того, как неверный аргумент появится в jquery-latest. min.js, строка 16 символа 15511, которая является следующей буквой "b":

finally{b=[e,f],c=0}}return this}

Ответ 1

DEMO http://so.devilmaycode.it/javascript-errors-no-relay-set-only-in-ie-7-8/

  • 1) - Нет набора ретрансляции (используется как window.postMessage targetOrigin), не может отправлять междоменное сообщение

вызвана кнопкой <g:plusone /> на вашем сайте: (Google занят этим уведомлением) единственный способ, которым я обнаружил, что это проблема, заключается в том, чтобы сделать что-то вроде этого:

$(function() {
    setTimeout(function() {
        gapi.plusone.render("plusone-div");
    },
    1500);

});

  • 2) - Недействительный аргумент. jquery.min.js

просмотр исходного кода - хаос!;-) OMG

  • у вас много ошибок like (отсутствующий протокол http://):

  • различное имя папки, например /v/newsite/ и /v/newsite/, это действительно имеет значение, если вы находитесь под nix, но поскольку вы используете ASP...

  • код, подобный этому AttachEvent(window, 'load', store_init); при использовании jquery типа jQuery(document).ready(function() {

  • множественное включение одного и того же файла (этот файл включен 3 раза) /a/j/product_details.js

  • массовое использование $(function(){ и $(document).ready(function(){ и $(window).load(function(){ несколько раз, когда нужно только одно:

  • js global по всей странице, вверху, посередине и внизу, они должны оставаться на вершине IMHO...

  • другая версия jquery, загружаемая в одно и то же время, например: jquery-1.4.4.min.js и jquery-1.6.2.js и 1.4.2/jquery.min.js вместе

  • минорный, но всегда дерьмовый, у вас есть <meta />, <link /> и <script /> в смешанном порядке, как куриный салат, где они должны оставаться в порядке, мета, ссылки и script предпочтительно в конце страницы.

  • отсутствует полуколонна ; вокруг,

  • нечувствительный/искаженный код, как показано ниже, и многое другое...


if (!/\/shoppingcart\.asp/i.test(window.location.pathname)) {
    jQuery(document).ready(function() {
        jQuery('a').each(AddCartLink)
    });
}

var global_Config_EnableDisplayOptionProducts = 'False';

var global_ImageSeed = 'test.jpg';
global_ImageSeed = global_ImageSeed.substring(...

ваш сайт без ошибок: http://so.devilmaycode.it/javascript-errors-no-relay-set-only-in-ie-7-8/

что я сделал:

  • переупорядоченные основные теги meta, links, script
  • удаленные дерьмовые виджеты, такие как addthis, google, facebook
  • "попытался" поместить все глобальные вершины в начало;
  • прокомментировал часть кода, вызывающую проблемы с хромом в TopScriptsTEST5.js Этот файл является вашей основной проблемой (вы должны увидеть огромный фрагмент кода, который был прокомментирован)
  • удаление дубликатов файлов,
  • удалена последняя версия jquery, поэтому я сильно сомневаюсь, что весь остальной код работает с последней версией jquery, поэтому используйте вместо этого 1-4-4
  • некоторые другие исправления здесь и там... ничего особенного

надеюсь, что эта проверка поможет немного, но я думаю, что вам нужен экзорцист; -)