Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > Смена курсора


Автор: ekzo 6.2.2014, 07:28
Никогда не писал на js, но тут из-за нововведения в последней версии хрома решил написать плагин, который бы заменял курсор на такой  user posted image при загрузке страницы, сейчас курсор не меняется, и это ацки раздражает.

Скудные примеры из инета не работают, берем готовый плагин с гугла, который якобы меняет курсор (называется rock hand, если чо):
user posted image
- не работает. Код там кстати очень простой:

Код

var cursor = 'url('+chrome.extension.getURL('rockhand.png')+')';

$(document).on('mouseover', 'a, [onclick]', function () {
    $(this).css('cursor', cursor + ',auto');
});


Я, конечно, пытался по аналогии, типа 
Код


chrome.tabs.onUpdated.addListener( 
function (tabId, changeInfo, tab)
{
  
  if (changeInfo.status == 'loading' && tab.active)
  {
  var cursor = 'url('+chrome.extension.getURL('rockhand.png')+')';
  $(this).css('cursor', cursor + ',auto');
  }
}
);


но оно конечно тоже не прокатило... jquery кстати подключен, вроде все четко...

Я, наверное, что-то делаю не так, не может быть, чтобы нельзя было менять курсор. 

Автор: Bulat 6.2.2014, 08:49
ekzo, попробуй задать рисунок курсора статично в самом css, а не через js. А в js менять аттрибут class

P.S. У меня на домашнем компе есть самописная функция меняющая курсор посредством js+css, вечером гляну, для примера код скину!

Автор: Bulat 6.2.2014, 18:46
Код

function MouseMove() {
  document.getElementById('map').className = 'road';
}


Код

<div id="map" onmousemove="MouseMove();"/>


Код

.road {
    cursor: url(road.cur), url(/static/img/road.cur), default
}


Изображение курсора в файле с расширением *.cur - соответственно!

Автор: ekzo 7.2.2014, 07:27
Спасибо, сработало как простая страничка, с body id="map"  (с дивом не сработало). Как из этого сделать хромовское расширение? есть manifest.json и загружающийся из него js файл...

Автор: Bulat 7.2.2014, 08:11
Цитата(ekzo @  7.2.2014,  07:27 Найти цитируемый пост)
Спасибо, сработало как простая страничка, с body id="map"  (с дивом не сработало)

Оно и с дивом работает, либо другой класс перекрывает, либо еще с чем поиграться нужно...

Цитата(ekzo @  7.2.2014,  07:27 Найти цитируемый пост)
Как из этого сделать хромовское расширение? есть manifest.json и загружающийся из него js файл... 

Дальше думай уже сам, я тебе просто самописный рабочий вариант показал  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)