encodeURIComponent продолжает возвращать ошибку URI
Хорошо, вот в чем дело. На нашем сайте есть букмарклет, и он отлично работает во всех основных браузерах, кроме Safari. Я исследовал и выяснил, что это было по двум причинам:
- Safari 5.5 имеет ограничение в 2347 символов для любого URL.
- Он кодирует URI.
Я решил проблему 1, переименовав переменные и функции в очень короткие имена, а также минимизировав js.
Для задачи 2 я решил сохранить всю функцию в виде строки, decodeURIComponent, а затем использовать eval, чтобы вычислить обратно функцию и затем выполнить ее (я знаю, что не должен использовать eval, но я не могу придумать другого решения), Проблема в том, что decodeURIComponent возвращает "URIError: URI error". Но если я выполняю тот же код в консоли разработчика для Safari, он выполняется без проблем.
Я в своем уме. Любая помощь будет принята с благодарностью.
Заранее спасибо.