Замена CSS в кэше браузера
У меня на сайте есть 10 вариантов дизайна,для каждого свой css,есть тулбар свой,мне нужно сделать букмарклет javascript(Ну тоесть типа
javascript:void(alert("!!"));) для замены браузерского css (как в опере,замена стиля на свой в настройках сайта) ...Заранее спасибо... |
Не непонятно нифига)
Выстрел в небо: javascript:document.getElementsByTagName('head')[0].appendChild(document.createElement('style')).innerHTML=prompt('CSS?','*{padding:0;margin:0}');void(0) |
У меня есть строка
<link rel="stylesheet" type="text/css" href="/css/1.css" /> Мне нужно чтобы при вводе в адресную строку скрипта,менялась эта css и сохранялась,хотя-бы для чистки кэша... P.S. Прошу также объяснить ваш код,я пойму,имею большой опыт работы с ActionScript...Заметил что они очень похожи... |
Цитата:
javascript:document.getElementById('someLink').href = 'css/newC.css';void true; |
swing1991, где-то я уже это делал, полистайте мои сообщения по слову cookie
|
javascript:document.getElementById('someLink').href = 'css/newC.css';void true; Я так понимаю "someLink" это ссылка с которой надо заменить...попытался сделать...не реагирует... |
1. Кэш чистить надо стандартными средствами.
2. Все ёще непонятно: -Что значит сохранялась? Сохраняться она будет до первой же перезагрузки страницы. -При чем тут кэш? |
Кэш я умею чистить,извините там опечатка не "для чистки кэша",а "до чистки кэша" ...тогда мне нужны варианты замены css с последующем сохранением...
Кэш тут имеет прямое значение.Кэш css файлов после перезагрузки страницы не меняется...проверенно... ---------------------------------------- В опере например можно указать свою таблицу стилей для сайта...может можно изменить эту таблицу посредством JavaScript |
Да ***, что значит сохраняло?
На текущей странице, на диск, в кэше, на сервере, в вечной памяти? На чистом js возможен только первый вариант.(ну и куки ещё, со всякой html5 хренью, но не об этом речь) Возможно вам нужен userscript/usercss? |
Епт...
Сохраняло в кэше... нет userscript/usercss не подойдет...мне нужно чтобы юзер выполнив скрипт из адресной строки браузера(скрипт должен загружать другой сss),сменил дизайн сайта!Надо обойтись как-то без заморочек...без всяких скачиваний,мего операций... |
swing1991,
javascript:function z(){var h=document.getElementsByTagName('head').item(0);var s=document.createElement('link');s.setAttribute('type','text/css');s.setAttribute('rel','stylesheet');s.setAttribute('href','http://assets.harkeydesign.net/css/diagnose.css');h.appendChild(s);}z(); |
javascript:document.getElementsByTagName('link')[0].href="new.css";void(0) [0] - 1,2,3 - в зависомости от колличества link и позиции нужной. |
Цитата:
|
Только вот верно говорили,не сохраняет...почему только не понимаю
|
Может вы за своими непонятными просьбами имели ввиду:
дать пользователям возможность менять дизайн вашего сайта, с запоминаием. Пример: http://javascript.info/play/EtIUfc Выберите цвет и понажимайте Click to View - все сохраняется. Использовалось: http://javascript.ru/unsorted/top-10...e-deletecookie |
Цитата:
|
Не знал...
А какие еще методы запоминания есть...?Не имею возможности вставить код с получением куков... Код:
document.write('<link rel="stylesheet" type="text/css" href="' + ( getCookie('css')||'default.css' ) + '" />') |
можно использовать localStorage. можно использовать sessionStorage. можно исползовать window.name, даже хранилище Flash (тут уже хз)
в общем, вот ->>> http://javascript.ru/unsorted/storage |
А можно использовать те же cookie в букмарклете.
javascript:alert(document.cookie) |
зато в печеньках нельзя хранить данные по 2мб :)
|
Цитата:
|
Цитата:
это сурово. а еще очень тяжело для бд, каждым запросом выяснять, что именно вашему айпишнику соответствует именно style.css, а не style2.css. а что такого страшного в печеньках? ну поставится она на корень домена, ну будет мешаться при каждом запросе. зато никаких морок с sessionStorage и другим новеньким говнецом) |
Цитата:
Цитата:
|
не имеете возможности работать с куками?
то есть? с бд это бред, лучше его даже не рассматривать... это то же самое,что и хранить картинки в бд ( бывает :) ) |
Я ни с 1 ,не с другим не имею возможности работать...
|
Вы хотите сделать букмарклет, подключающий выбранный css к чужому сайту и запоминающий выбор.
Обломитесь. Не для того js придуман. Что-то похожее можно изобразить, через window.open() создав дочернее окно, и обращаясь обратно чeрез window.parent, по setTimeout'y отслеживать не изменилась ли страница, и коли да - заново править css. Будет работать до тех пор пока не уйдут со страницы. |
Вай...для меня это сложновато,ща буду читать документацию...
|
А я сделал =)
Я не силен в js и практически не работал с ними, но как ни странно я смог написать js, который не просто подключает к чужому сайту css файл, но и может сохранять в куках браузера выбранный стиль.
Это же просто, народ. =) Если еще нужно, обращайтесь: pase[восемь][ноль][собака]ya.ru сорри за такое мыло ) Не хочу спама роботами. |
Магический код в студию. Если он конечно отличен от моего предложения.
|
Ну уж нет...
На отладку всего кода в целом у меня ушел весь день, так что извините, просто так отдавать его не хочется и сделан он очень криво(потому что я не знаю многих прибамбасов js) - не хочу позориться.
И я не просто сделал применение своих css стилей к чужому сайту, но и "создал" страничку, на которой эти самые стили можно выбрать(после выбора идет сохранение в куки), а потом уже стиль применяется в зависимости от того, какие там куки сохранены. Они живут 10 лет, поэтому не беспокоюсь о том, что каждый раз придется заходить на эту страницу. Алгоритм разработал сам, отладил и настроил всё сам, собрав некоторые функции с форумов. Поэтому дерзайте, у вас то ума гораздо больше, чем у меня. Я всего лишь школьник. Кстати, свои js, а значит и стили, можно применить практически во всех популярных браузерах. И еще - не советую отвечать именно мне на мои комментарии, ибо я тут зарегистрировался только для того, чтобы похвастать и сказать народу, что это всё таки возможно. :p |
Цитата:
|
Часовой пояс GMT +3, время: 02:33. |