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. Скрипт естественно не весь, работа встала именно в этом месте. |
Если ты играешь а не разрабатываешь, зачем писать скрипт для неё?)
|
Чтобы себе жизнь облегчить =)
|
Насколько я помню, в хроме window скрипта изолировано от window страницы. Нужно инжектить в страницу скрипт ( var s = document.createElement('script'); ... document.documentElement.appendChild(s) ) и уже оттуда получать значения. Вот так вот криво.
А unsafeWindow там нет: http://stackoverflow.com/questions/2...ript-on-chrome |
Спасибо! Работает =)
|
Часовой пояс GMT +3, время: 06:11. |