Вообщем, печатаю такую вещь:
Определяются координаты мышки, происходят некоторые вычисления и судя по ним отправляется во флэш определённая переменая
Вот код в котором FireFox выкидывает ошибку
getFlashMovieObject("movie").SetVariable is not a function
getCoords()%D0%BA%D0%BE%D0%B... (line 18)
getFlashMovieObject('movie').SetVariable('/:ANY_MENU1', '1');
Код:
|
<html>
<head>
<title>Координаты курсора над слоем, расставляем точки</title>
<style type="text/css">
<!--
-->
</style>
<script type="text/javascript">
<!--
function getCoords() { // вызывается при перемещении курсора над слоем с картой
document.onmousemove = moveDot; //запускается определение координат курсора
//при поподании курсора на саму страницу сайта
myForm.chtoto.value = moykoorsloyay;
getFlashMovieObject('movie').SetVariable('/:ANY_MENU1', '1');
}
function getFlashMovieObject(movieName)
{ if (window.document[movieName])
{
return window.document[movieName];
}
if (navigator.appName.indexOf("Microsoft Internet")==-1)
{
if (document.embeds && document.embeds[movieName])
return document.embeds[movieName];
}
else // if (navigator.appName.indexOf("Microsoft Internet")!=-1)
{
return document.getElementById(movieName);
} }
function moveDot(cursor) {// функция перемещения точки над слоем с картой
if(!cursor) var cursor = window.event;
myForm.coordX.value = '';
myForm.coordY.value = '';
var x = 0;
var y = 0;
if (cursor.pageX || cursor.pageY) {
x = cursor.pageX;
y = cursor.pageY;
}
else if (cursor.clientX || cursor.clientY) {
x = cursor.clientX + document.body.scrollLeft;
y = cursor.clientY + document.body.scrollTop;
}
myForm.coordX.value = x;
myForm.coordY.value = y;
}
function getObj(name) {
// функция захвата объекта, используется при инициализации
if (document.getElementById) return document.getElementById(name);
else if (document.all) return document.all[name];
else if (document.layers) return document.layers[name];
else return false;
}
function init() { // инициализация
// форма
myForm = getObj('mapForm');
// слой с картой
imageMap = getObj('schemePlace');
document.onmouseover = getCoords;
mapWdt = imageMap.offsetWidth; //определение расмеров слоя
mapHgt = imageMap.offsetHeight;
moykoorsloyax = imageMap.offsetLeft; //определение координат слоя
moykoorsloyay = imageMap.offsetTop;
}
// ожидание загрузки страницы
// и вызов функции инициализации
try {
window.addEventListener('load', init, false);
} catch(e) {
window.onload = init;
}
//-->
</script>
</head>
<body>
<div style="font-size:1.2em;">
<h2>Координаты курсора над слоем, расставляем точки</h2>
<form method="get" id="mapForm" action="">
<label for="coordX">X: </label><input type="text" name="coordX" id="coordX" /><br />
<label for="coordY">Y: </label><input type="text" name="coordY" id="coordY" /><br />
<p>что-то
<input name="textfield" type="text" id="chtoto"/>
</p>
</form>
<p> </p>
</div>
<div id="schemePlace" style="position:absolute; left:250px; top:50px; width:400px; height:226px; border: 1px none #000000; z-index: 1; background-color: #CCCCCC; layer-background-color: #CCCCCC;">
<object id="movie" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="158" height="400">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="odnamenu3.swf" />
<param name="quality" value="high" />
<param name="wmode" value="transparent"/>
<embed src="odnamenu3.swf" quality="high" wmode="transparent" allowScriptAccess="sameDomain" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="158" height="400"></embed>
</object>
</div>
</body>
</html> |
Самое обидное в этой ситуации что я уже делал подобную вещь.
Код:
|
<div id="move" style="position:absolute; left:50px; top:865px; width:100px; height: 100; z-index:10;">
<object id="movie" 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" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="babochka.swf" />
<param name="FlashVars" value="maxkoor= 1015 ">
<param name="quality" value="high" />
<param name="wmode" value="transparent"/>
<embed src="babochka.swf" name="movie" quality="high" wmode="transparent" FlashVars="maxkoor=1015" width="100" height="100" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
</div>
<div id="partnerka" style="top: 859px;"><a href="http://www.wmtlt.ru/shop/go.aspx?p=158">Интернет магазин Тольятти </a></div>
<script language="JavaScript">
<!--
var gjapox=50;
var gjapoy=865 ;
var tekkoorx=0;
var tekkoory=0;
var nachkoorx=50;
var nachkoory=865 ;
var konkoorx=0;
var konkoory=0;
var prirashiepox;
var prirashiepoy;
var indifikator=null;
var tekst;
var podtekkoorx;
var podtekkoory;
function japapilon(japox, japoy) {
tekkoorx=nachkoorx;
tekkoory=nachkoory;
//gjapox=japox*1;
//gjapoy=japoy*1;
//konkoorx=nachkoorx+gjapox;
//konkoory=nachkoory+gjapoy;
konkoorx=japox*1-50;
konkoory=japoy*1-50;
gjapox=konkoorx-nachkoorx;
gjapoy=konkoory-nachkoory;
tekst=" gjpo:"+gjapox+" "+gjapoy;
if (gjapox<0) { prirashiepox=gjapox*(-1); } else { prirashiepox=gjapox; }
if (gjapoy<0) { prirashiepoy=gjapoy*(-1); } else { prirashiepoy=gjapoy; }
//document.getElementById('bibon').value = gjapox+" "+gjapoy;
polet() }
function polet() {
if (prirashiepox <= prirashiepoy && prirashiepox!=0) { if (tekkoory!=konkoory) {
if (gjapoy<0) { tekkoory-=1; }
if (gjapoy>0) { tekkoory+=1; }
tekkoorx=(tekkoory-nachkoory)*(gjapox/gjapoy);
tekkoorx=nachkoorx+Math.round(tekkoorx);
dvijsloia()
indifikator=setTimeout(arguments.callee, 1);
}
else {
esli('movie')
nachkoorx=konkoorx;
nachkoory=konkoory;
}}
if (prirashiepox > prirashiepoy && prirashiepoy!=0) { if (tekkoorx!=konkoorx) {
if (gjapox<0) { tekkoorx-=1; }
if (gjapox>0) { tekkoorx+=1; }
tekkoory=(tekkoorx-nachkoorx)*(gjapoy/gjapox);
tekkoory=nachkoory+Math.round(tekkoory);
dvijsloia()
indifikator=setTimeout(arguments.callee, 1);
}
else {
esli('movie')
nachkoorx=konkoorx;
nachkoory=konkoory;
}}
if (prirashiepox==0) { if (tekkoory!=konkoory) { if (tekkoory > konkoory) { tekkoory-=1; }
if (tekkoory < konkoory) { tekkoory+=1; }
dvijsloia()
indifikator=setTimeout(arguments.callee, 1);} else { esli('movie') }}
if (prirashiepoy==0) { if (tekkoorx!=konkoorx) { if (tekkoorx > konkoorx) { tekkoorx-=1; }
if (tekkoorx < konkoorx) { tekkoorx+=1; }
dvijsloia()
indifikator=setTimeout(arguments.callee, 1);} else { esli('movie') }}
document.getElementById('bibon').value = nachkoorx+" "+nachkoory+"/"+konkoorx+" "+konkoory+tekst;
}
function dvijsloia() {
if (navigator.appName == "Netscape")
{ document.move.left = tekkoorx +'px'
document.move.top = tekkoory +'px' }
else { document.all.move.style.left= tekkoorx +'px'
document.all.move.style.top = tekkoory +'px' } }
function getFlashMovieObject(movieName)
{
if (window.document[movieName])
{
return window.document[movieName];
}
if (navigator.appName.indexOf("Microsoft Internet")==-1)
{
if (document.embeds && document.embeds[movieName])
return document.embeds[movieName];
}
else // if (navigator.appName.indexOf("Microsoft Internet")!=-1)
{
return document.getElementById(movieName);
}
}
function esli(movie) {
getFlashMovieObject('movie').SetVariable('/:ANY_VAR', 'Заработало :)');
clearTimeout(indifikator);
indifikator=null;
}
-->
</script> |