Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.05.2010, 21:39
Новичок на форуме
Отправить личное сообщение для iPharaon Посмотреть профиль Найти все сообщения от iPharaon
 
Регистрация: 03.05.2010
Сообщений: 3

userJS в Chrome
Здравствуйте.
Объясните нубу... играю в одну браузерную онлайн игру, пытаюсь написать userjs для нее, но не выходит =(
И встал то по сути на ровном месте...
в теле страницы имеется скрипт:
<script> 
function hpupdate()
{
if (hptimer>=0) clearTimeout(hptimer);
hptimer=setTimeout('hpupdate()',1000);
hp_current_h=hp_current_h+hp_speed_h;
if (hp_current_h>hp_max_h) hp_current_h=hp_max_h;
if (hp_speed_h>1) rnd=1; else rnd=10;
var res=Math.round(hp_current_h*rnd)/rnd;
if (window.document.getElementById("hpdiv")!=null) {
window.document.getElementById("hpdiv").innerHTML=res;
  }
}
var hp_start_h=2;
var hp_max_h=264;
var hp_speed_h=0.29;
var hp_current_h=hp_start_h;
hptimer=setTimeout('hpupdate()',1000);
</script>

Проблема в том, что в userjs пытаюсь получить значение из данного скрипта так:
var root = typeof unsafeWindow != 'undefined' ? unsafeWindow : window;
var cur_hp = root.hp_current_h;
alert(cur_hp);

Так вот, в Opera и Firefox возвращается текущее значение ХП, а Chrome возвращает "Undefined". Что я не так делаю?
P.S. Скрипт естественно не весь, работа встала именно в этом месте.

Последний раз редактировалось iPharaon, 03.05.2010 в 21:41.
Ответить с цитированием
  #2 (permalink)  
Старый 03.05.2010, 22:20
Аватар для Nekromancer
Профессор
Отправить личное сообщение для Nekromancer Посмотреть профиль Найти все сообщения от Nekromancer
 
Регистрация: 06.05.2009
Сообщений: 1,163

Если ты играешь а не разрабатываешь, зачем писать скрипт для неё?)
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
Ответить с цитированием
  #3 (permalink)  
Старый 04.05.2010, 01:29
Новичок на форуме
Отправить личное сообщение для iPharaon Посмотреть профиль Найти все сообщения от iPharaon
 
Регистрация: 03.05.2010
Сообщений: 3

Чтобы себе жизнь облегчить =)
Ответить с цитированием
  #4 (permalink)  
Старый 06.05.2010, 00:04
Интересующийся
Отправить личное сообщение для Lexi Посмотреть профиль Найти все сообщения от Lexi
 
Регистрация: 14.03.2009
Сообщений: 29

Насколько я помню, в хроме window скрипта изолировано от window страницы. Нужно инжектить в страницу скрипт ( var s = document.createElement('script'); ... document.documentElement.appendChild(s) ) и уже оттуда получать значения. Вот так вот криво.

А unsafeWindow там нет: http://stackoverflow.com/questions/2...ript-on-chrome
Ответить с цитированием
  #5 (permalink)  
Старый 06.05.2010, 22:53
Новичок на форуме
Отправить личное сообщение для iPharaon Посмотреть профиль Найти все сообщения от iPharaon
 
Регистрация: 03.05.2010
Сообщений: 3

Спасибо! Работает =)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jQuery + Google Chrome ( утечка памяти ??? ) idler jQuery 4 24.04.2010 14:09
Как из userjs FF вызвать функцию из внешнего файла ? pods Общие вопросы Javascript 1 07.01.2010 21:36
Взять ширину img в google chrome miller Opera, Safari и др. 12 25.09.2009 00:39
Google Chrome Андрей Параничев Opera, Safari и др. 42 02.08.2009 14:23
Chrome Experiments Dmitry A. Soshnikov Оффтопик 4 19.03.2009 14:25