как включить расширения Safari при использовании веб-представления - PullRequest
1 голос
/ 01 марта 2012

Я использую веб-представление в своем приложении вместо того, чтобы открывать экземпляр браузера Safari, поэтому я заметил, что расширения Safari не работают. Есть ли возможность включить эту функцию при использовании настраиваемого веб-представления в приложении Какао?

Причина, по которой мне нужно использовать расширения Safari, заключается в том, чтобы внедрить javascript на любую веб-страницу, загруженную в один момент, поэтому, если есть другой подход, позволяющий сделать это без использования расширений, приветствуем любые предложения или примеры.

1 Ответ

1 голос
/ 02 марта 2012

Нет способа использовать расширения Safari в веб-представлении.

Если ваш скрипт не слишком большой, как насчет форматирования его в виде букмарклета "javascript:" и установки в нем местоположения веб-представления?

[ Редактировать: нижеприведенный материал добавлен в ответ на запрос спрашивающего «немного больше об этой технике». ]

Скажите, что вы хотитеизмените цвет фона страницы на желтый и весь текст на красный.Javascript для этого будет выглядеть примерно так:

document.body.style.backgroundColor = "yellow";
document.body.style.color = "red !important";

Чтобы превратить скрипт в букмарклет, вы просто:

  1. оберните его в анонимную функцию,
  2. удалить все разрывы строк,
  3. (опционально) удалить все ненужные пробелы,
  4. url-кодировать его,
  5. и поставить префикс целиком "javascript:".

Итак, пример будет выглядеть так:

javascript:(function(){document.body.style.backgroundColor%3D%22yellow%22%3B%0Adocument.body.style.color%3D%22red%20!important%22%3B%0A}());

Затем вы можете установить window.location веб-просмотра на эту строку, чтобы «запустить» букмарклет.

Вот страница с автоматическим конвертером скриптов в букмарклет, который, кажется, работает.

...