Ян Владимирович (vladimirovich) wrote,
Ян Владимирович
vladimirovich

This journal has been placed in memorial status. New entries cannot be posted to it.

style=mine v 2.0

ssrСергей Сергеевич недавно писал про то как сделать кнопку, позволяющую просматривать чужой журнал в своём стиле, для тех кто не видел, я повторюсь о чём шла речь.

Если стиль журнала или страницы с комментариями у человека откровенно нечитаем, то его можно заменить на свой приписыванием к url строчку style=mine. Тогда стиль в журнале пишущего автоматически сменится на стиль, который используется в журнале читающего. ssrСергей Сергеевич предлагал автоматизировать процесс, создав в браузера закладку (многие браузеры позволяют делать закладку кнопкой), которая вместо адреса назначения будет содержать строку

javascript:location.href=location.href+'?style=mine';

Этот скрипт прост и красив, но имеет небольшой недостаток: он неправильно обрабатывает ссылки на комментарии, когда ссылка оканчивается на что-то вроде ?thread=2466766#t2466766. Пришлось написать более сложную версию:

javascript:sm="style=mine";ap=location.href.indexOf("#");if (ap<0) ap=location.href.length; ab=location.href.substring(0, ap); aa=location.href.substring(ap, location.href.length);re=new RegExp("\\?"+sm+"$|"+sm+"&|&"+sm, "gi");abn=ab.replace(re, "");if (abn==ab) {abq=abn.indexOf("?"); if (abq<0) {abn+="?"+sm;} else {if (abq==abn.length-1) {abn+=sm;} else {abn+="&"+sm;};};}; location.href=abn+aa;

Эта версия обрабатывает более сложные случаи, а кроме того, позволяет выключать режим повторным нажатием на кнопку (или если ссылка уже содержала конструкцию style=mine). Скрипт опробован в Opera, IE и Firefox.

Кстати, новый скрипт также легко модернизировать, сменив конструкцию "style=mine" на что-нибудь другое, если нужно.
Tags: lj
Subscribe
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 37 comments