encodeURIComponent продолжает возвращать ошибку URI

Хорошо, вот в чем дело. На нашем сайте есть букмарклет, и он отлично работает во всех основных браузерах, кроме Safari. Я исследовал и выяснил, что это было по двум причинам:

  1. Safari 5.5 имеет ограничение в 2347 символов для любого URL.
  2. Он кодирует URI.

Я решил проблему 1, переименовав переменные и функции в очень короткие имена, а также минимизировав js.

Для задачи 2 я решил сохранить всю функцию в виде строки, decodeURIComponent, а затем использовать eval, чтобы вычислить обратно функцию и затем выполнить ее (я знаю, что не должен использовать eval, но я не могу придумать другого решения), Проблема в том, что decodeURIComponent возвращает "URIError: URI error". Но если я выполняю тот же код в консоли разработчика для Safari, он выполняется без проблем.

Я в своем уме. Любая помощь будет принята с благодарностью.

Заранее спасибо.

0 ответов

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