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, время: 12:21. |