Я использовал простой тест регулярок какnavigator.userAgent ссылка теряется в закрывающей скомпилирована JS
is_safari_or_uiwebview = /(iPhone|iPod|iPad).*AppleWebKit/i.test(navigator.userAgent);
в моих JS. После компиляции с компилятором Closure (расширенная оптимизация) он больше не работает. Он по-прежнему дает мне регулярное выражение, но навигатор отсутствует.
Обратите внимание, что я не использую библиотеку закрытий и не намерен использовать в этой точке. Как я могу сохранить этот тест?
код расслоение плотной
var browser_type = new RegExp('(iPhone|iPod|iPad).*AppleWebKit', 'i');
function is_safari_or_uiwebview() {
return browser_type.test(navigator.userAgent);
}
window['is_safari_or_uiwebview'] = is_safari_or_uiwebview;
скомпилированный код:
var l=/(iPhone|iPod|iPad).*AppleWebKit/i,l=/(iPhone|iPod|iPad).*AppleWebKit/i;function m(){return l.test(navigator.c)}window.is_safari_or_uiwebview=m;
спасибо! от этого не получилось. теперь это работает. –
Похоже, что некоторые внешние экземпляры отсутствуют, потому что это свойство не следует переименовывать. –
@ Chad: Я думал то же самое. Я думал, что компилятор по умолчанию использует эти «стандартные» экстерны. –