Twitter widgets.js выдает ошибку JavaScript "Ожидаемый идентификатор" в IE8

Кто-нибудь сталкивался с ошибкой JavaScript при попытке запустить Twitter For Web widgets.js в Internet Explorer 8 (IE8)? Если да, знаете ли вы, как это исправить или как с этим справиться?

КОД Просто добавление этого блока кода, который загружает файл widgets.js, приводит к ошибке в IE8:

<script>
window.twttr = (function (d, s, id) {
  var t, js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src= "https://platform.twitter.com/widgets.js";
  fjs.parentNode.insertBefore(js, fjs);
  return window.twttr || (t = { _e: [], ready: function (f) { t._e.push(f) } });
}(document, "script", "twitter-wjs"));
</script>

Я получил этот фрагмент по адресу: https://dev.twitter.com/web/javascript/loading

ОШИБКА в IE8

Сведения об ошибке веб-страницы

Пользовательский агент: Mozilla/4.0 (совместимый; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E) Метка времени: четверг, 29 января 2015 00:54:28 UTC

Сообщение: ошибка сценария. Строка: 0 Символ: 0 Код: 0 URI: https://platform.twitter.com/widgets.js

Это не помогло, но в инструменте разработчика в разделе "Сценарий" я получаю следующее сообщение:

(X) Ожидаемый идентификатор widgets.js, строка 1, символ 29036

Я также исследовал и обнаружил, что Twitter прекратил полную поддержку IE7 в прошлом году (2014) и прекращает поддержку IE8 в начале января 2015 года. Я не уверен, что именно поэтому их widgets.js вызывает ошибку или нет, но мне все еще нужно чтобы выяснить, как лучше всего загрузить этот скрипт, не вызывая ошибки в IE8. Спасибо!

2 ответа

Нашел решение,

В widgets.js есть метод с именем "удалить" (строка 364).

"delete": function(t) {
     var e = i(t),
     n = this.get(e.slice(0, -1));
     n && delete n[e.slice(-1)]
 },

и этот метод вызывает на линии 1364

l.delete(["callbacks", t.callbackName])

Удалить находится в списке зарезервированных слов. Так что это вызывает ошибку "Ожидаемый идентификатор".

Во-первых, возьмите widgets.js на свой хост.

js.src= "http://www.yourdomain.com/widgets.js";

изменить здесь со своим доменом.

После или до этого шага В widgets.js нужно изменить "удалить" имя метода и строку вызывающего абонента.

Кто-нибудь пробовал это? Как добавить обезжиренные социальные кнопки на ваши страницы http://www.sitepoint.com/social-media-button-links/

"Большинство социальных сетей предлагают кнопки общего доступа на основе URL, которые придают странице небольшой вес и не требуют стороннего JavaScript. Они не так широко разрекламированы, но их нетрудно использовать".

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