| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > Как адресовать тэг BASE |
| Автор: Гость_konstantin 18.10.2005, 00:47 |
| Как в javascript адресовать тег BASE для динамического изменения базового адреса? Тег не имеет ни имени ни id |
| Автор: sergejzr 18.10.2005, 01:08 | ||
А почему собственно не имеет id? Уж не вчужом ли коде подменять собрались? Как бы то ни было, защитная функция этого сделать всё равно не даст в чужом коде. |
| Автор: Guest 18.10.2005, 02:05 |
| Да, в чужом. Объясняю цель: Если вы знакомы с Java, так там есть компонент WebBrowser. По сути представляет собой встроенный IE. Можно его направлять на урл, а можно передавать уже полученный с сервера HTML. Первый способ не годится, т.к. мне надо отслеживать кукисы, работать с прокси и т.д. Поэтому я использую собственный обработчик HTTP, а IE-ренредеру передаю готовый HTML. Как вы уже догадались, относительные урлы не работают, т.к. а адресной строке браузера находится about:blank. P.S. Компонент имеет метод executeScript(...) через который можно выполнять произвольный javascript. Спасибо, я попробую ваш способ! |
| Автор: sergejzr 18.10.2005, 02:23 |
| Можно в приват ссылочку на компонент? Если он опенсорс конечно. Я пробовал аналогичные действия. И пришёл к выводу, что нужно самому менять все ссылки перед рендерингом и отдавать компоненту предпроработанный ХТМЛ. Хотя я сомневаюсь, что перенаправление base в этом случае поможет. Скорее поможет вставка <base href="тамтоитамто"> прямо в ХТМЛ. Можем продолжать обсуждение проблемы в разделе Java Удачи Вам. |
| Автор: Гость_konstantin 18.10.2005, 02:30 |
| Ссылочку можно https://jdic.dev.java.net Да, танцы вокруг base, outerHTML не помогли. Если тега изначально не было в странице, его туда не вставить. Как вариант, пройтись по коллекции картинок, ссылок, объектов и апплетов на предмет подмены ссылок. Ну или как вы уже упомянули, вставить тег base внутрь кода перед передачей его рендереру. |
| Автор: Sardar 19.10.2005, 01:07 |
| если есть возможность пробежаться по document.links, document.forms, document.images и т.д. то проболемы не будет изменить URL у них. |
| Автор: kkorsakoff 21.10.2005, 20:32 | ||
Я про это и говорил
Так похоже и придется делать. Кстати, линки бывают только двух типов или нет? Всмысле разберем алгоритм подмены: если начинается с http://, то оставляем as is иначе к базовому урлу прибавляем относительный. Что-то мне подсказывает, что все не так просто. Как браузер отнесется к примеру к таким вещам, как http://www.somesite.com/html/../images/a.gif? Ведь не очень хочется парсить эти все двоеточия... |
| Автор: Sardar 21.10.2005, 23:47 | ||||
Все линки абсолютные, релативные приводяться к абсолютным.
Что за двоеточия? Линки свободно разбиваються на состовляющие простыми регами. |