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. Они не так широко разрекламированы, но их нетрудно использовать".