Просмотр полной версии : Как определить mouseX рабочего стола или mouseX Браузерного окна
Собственно вот и вопрос.
Флэшка лежит в html страничке, которая открыта в Explorer,например.
Нужно определить положение мышки на рабочем столе или в окне эксплорера.
Я понимаю без ДЖАВАСКРИПТа тут никак.
Помощи прошу, кто чем знает. :)
bicubic_bublic
12.11.2009, 01:23
в яваскрипте (очень грубо)
window.onmousemove = function (e) {
e = event;
// по w3c:
// e.screenX, e.screenY - позиция на экране
// e.clientX, e.clientY - позиция на странице (включая то что проскроленно)
}
От.. спасибо , уважаемый.
А такой вопрос: а как это прикрутить к AS3.
Я бы хотел при клике во флэшке определять положение мышки на экране.
Вот функция в AS3:
public function onClick (event:Event)
{
if (ExternalInterface.available) { ExternalInterface.call("window.open", "www.somesite.ru", "windowName", "height=515,width=680,toolbar=no,scrollbars=no, left="+mouseX.toString()+",top="+mouseY.toString());}
}
но в ней берутся координаты мышки из флэшки.
Добавлено через 1 час 34 минуты
В продолжении темы.
Вот написал в html страничке:
<script type="text/javascript">
var mCoords;
function defPosition(event) {
mCoords.x=event.screenX ,
mCoords.y= event.screenY
}
function returnCoords()
{
return mCoords;
}
</script>
Правильно же?
И как дальше во флешке получить значениея при создании окна?
bicubic_bublic
12.11.2009, 11:39
предлагаю такой вариант:
<script type="text/javascript">
window.onmousemove = function(e) {
e = e || window.event; // для старых версий IE
window.mousePosition = { x: e.screenX, y: e.screenY };
}
</script>
во флеше
var mousePosition:Object = ExternalInterface.call('function () { return window.mousePosition; }');
Что то не происходит ничего... :(
Пишу в html:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=koi8-r" />
</head>
<div style="border:0px solid red;>
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="100%" height="100%"
id="ComponentMaterialTest.swf" align="left">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie"
value="/files/f/ComponentMaterialTest.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><embed
src="/files/f/ComponentMaterialTest.swf" quality="high" bgcolor="#ffffff" width="100%" height="100%" name="ComponentMaterialTest.swf" align="left"
allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
</div>
<body>
<script type="text/javascript">
window.onmousemove = function mouseCoord(e) {
e = e || window.event; // для старых версий IE
window.mousePosition = { x: e.screenX, y: e.screenY };
}
</script>
</body>
</html>
А во флэшке :
public function onClick (event:Event)
{
if (ExternalInterface.available) {
var mousePosition:Object = ExternalInterface.call('mouseCoord () { return window.mousePosition; }');
ExternalInterface.call("window.open", url, "WindowName", "height=515,width=680,toolbar=no,scrollbars=no, left="+mouseX.toString()+",top="+mouseY.toString());
txt.text=mousePosition.x; // текст передаётся в текстовое поле
}
}
Срабатывает только "window.open".
'mouseCoord () { return window.mousePosition; }' - не работает.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.