Javascript-форум (https://javascript.ru/forum/)
-   Opera, Safari и др. (https://javascript.ru/forum/css-html-browser/)
-   -   Пользовательские скрипты Opera (https://javascript.ru/forum/css-html-browser/7370-polzovatelskie-skripty-opera.html)

San4ezy 28.01.2010 22:38

Пользовательские скрипты Opera
 
Добрый вечер!
Очень полезная вещь пользовательские скрипты! Очень помогают в работе. Но вот хотелось бы написать свой пользовательский скрипт.

Поскажите плиз как правильно их писать. Поделитесь опытом!
В частности интересует как можно создать плавающий тулбар или любой другой объект на сранице.

И правильно ли делать так:
window.addEventListener('load', F,false);
function F(){
  var lnks=document.links;
  for(n=0;n<lnks.length;n++){
    lnks[n].style.color="red";
  }
}

Скрипт подкрашивает все ссылки на страице в красный (примитивно для примера).
Спасибо!

PeaceCoder 28.01.2010 22:51

Цитата:

Сообщение от San4ezy
И правильно ли делать так:

почти правильно. ток это не будет работать в IE... подробнее надо знать тонкости каждого браузера.

San4ezy 28.01.2010 22:56

Ну для ИЕ - не важно, главное чтоб в Опере все ОК было.
А что на счет тулбара. Как можно пользовательским скриптом вывести на страницу, например, див, в отдельный слой?

B@rmaley.e><e 28.01.2010 23:50

http://operafan.net/component/option...torial:userjs/

San4ezy 29.01.2010 00:07

Спасибо!
Вот код, взятый по ссылке на операфан:
(отображает в диве режим рендеринга)
document.addEventListener(
  'load',
  function (e) {
    if( !document.body ) { return; }
    var mydiv = document.createElement('div');
    mydiv.style.position = 'fixed';
    mydiv.style.top = '0px';
    mydiv.style.right = '0px';
    mydiv.style.border = '1px solid #000';
    mydiv.style.backgroundColor = '#fff';
    mydiv.style.color = '#000';
    mydiv.appendChild(document.createTextNode(document.compatMode))
    document.body.appendChild(mydiv);
  },
  false
);

San4ezy 29.01.2010 00:15

И еще вопросик, немного не по теме, (только не бейте :)
Как можно заменить в коде страницы некоторое выражение (в моем случае ссылки). Требуется облачить их в какие-нибудь теги, например в <b></b>.
Думаю что нужно грести в сторону регулярных выражений, но не получается что-то(
var str="test for links <a href='url'>link</a>";
  var reg=/<a href=.*a>/gi;
  var result=str.replace(reg,"<b></b>");
  alert(result);

Kolyaj 29.01.2010 12:21

Цитата:

Сообщение от San4ezy
Требуется облачить их в какие-нибудь теги, например в <b></b>.

var links = document.getElementsByTagName('A');
for (var i = 0; i < links.length; i++) {
    var b = document.createElement('b');
    links[i].parentNode.insertBefore(b, links[i]);
    b.appendChild(links[i]);
}

Как-то так.


Часовой пояс GMT +3, время: 19:41.