Ïåðåäà÷à äàííûõ èç JS â AS, ðåäèðåêò - Flash Zone Forum

IPB

Çäðàâñòâóéòå, ãîñòü ( Âõîä | Ðåãèñòðàöèÿ )

 
Îòâåòèòü â ýòó òåìóÎòêðûòü íîâóþ òåìó
> Ïåðåäà÷à äàííûõ èç JS â AS, ðåäèðåêò
Lalf
ñîîáùåíèå 21.07.2009 - 05:14
Ñîîáùåíèå #1


Íîâè÷îê
*

Ãðóïïà: Íîâè÷îê
Ñîîáùåíèé: 9
Ðåãèñòðàöèÿ: 21.07.2009
Ïîëüçîâàòåëü ¹: 9397



Äîáðîãî âðåìåíè ñóòîê.
ß õî÷ó ñäåëàòü ôëýø ðîëèê, êîòîðûé áóäåò ïîëó÷àòü ñòðîêîâóþ ïåðåìåííóþ (url-àäðåñ) èç JavaScript, ïðîèçâîäèòü íåêîòîðûå äåéñòâèÿ íàä ýòîé ïåðåìåííîé â ActionScript è ïåðåàäðåñîâûâàòü ïîëüçîâàòåëÿ íà äàííûé àäðåñ.
ß î÷åíü ìíîãî ãóãëèë ïî ïîâîäó ïåðåäà÷è äàííûõ èç JS â AS, íàø¸ë 2 ñïîñîáà:
- SWFObject (íå óäîáåí, ìíîãî ëèøíåãî êîäà)
- Ìîñò ìåæäó JS è AS (ExternalInterface) - ýòîò è âûáðàë.

Íî âîçíèêëà íåáîëüøàÿ ïðîáëåìà, à èìåííî: ó ìåíÿ íå ïðîèñõîäèò ðåäèðåêò (ïåðåàäðåñàöèÿ) èëè íå ïðîèñõîäèò ïåðåäà÷à äàííûõ èç JS â AS.

Íà JS ÿ ïèøó ñëåäóþùåå:
Êîä
function sendFromJS(txt) {
var movie = (navigator.appName.indexOf("Microsoft")!=-1 ? window : document)["BridgeMovie"];

movie.sendFromJS(txt);
}


À â AS:
Êîä
// Flash Storage example

import flash.external.*;

ExternalInterface.addCallback("sendFromJS", null, recieveFromJS);

function recieveFromJS(t) {
//    _root.theText.text = t;
    getUrl(t, "_self");
// !!! èëè
    var my_lv:LoadVars = new LoadVars();
    my_lv.send(t, "_blank", "POST");
}

_root.button.onRelease = function() {
    ExternalInterface.call("recieveFromFlash", _root.theText.text);
    _root.theText.text = "";
}


"Publish -> ðàçðåøèòü äîñòóï òîëüêî ê ñåòè" äåëàþ.
Ó ìåíÿ Adobe Flash CS4.


ß âîîáùå íå çíàþ AS, ïîýòîìó ìîãó îøèáàòüñÿ â òèïàõ äàííûõ.


Ïðîøó Âàøåé ïîìîùè, Ôëýø-ãóðó.

Ñîîáùåíèå îòðåäàêòèðîâàë Lalf - 21.07.2009 - 05:14
Âåðíóòüñÿ â íà÷àëî ñòðàíèöû
 
+Îòâåòèòü ñ öèòèðîâàíèåì äàííîãî ñîîáùåíèÿ
chingachgoog
ñîîáùåíèå 21.07.2009 - 09:38
Ñîîáùåíèå #2


Àêòèâèñò
****

Ãðóïïà: Ïîëüçîâàòåëü
Ñîîáùåíèé: 987
Ðåãèñòðàöèÿ: 27.02.2009
Èç: Moscow
Ïîëüçîâàòåëü ¹: 9144



Åñëè íå ðàáîòàåò â ðåæèìå ýìóëÿöèè, òî íàäî ñíà÷àëà çàéòè ñþäà:
http://www.macromedia.com/support/document..._manager04.html

Èëè íå ðàáîòàåò óæå ïðè âûêëàäûâàíèè íà ñàéò?
Âåðíóòüñÿ â íà÷àëî ñòðàíèöû
 
+Îòâåòèòü ñ öèòèðîâàíèåì äàííîãî ñîîáùåíèÿ
Lalf
ñîîáùåíèå 21.07.2009 - 17:26
Ñîîáùåíèå #3


Íîâè÷îê
*

Ãðóïïà: Íîâè÷îê
Ñîîáùåíèé: 9
Ðåãèñòðàöèÿ: 21.07.2009
Ïîëüçîâàòåëü ¹: 9397



Öèòàòà
Åñëè íå ðàáîòàåò â ðåæèìå ýìóëÿöèè

ß èçâèíÿþñü, íî ÷òî çà ðåæèì ýìóëÿöèè? ß ïðîñòî âñòàâëÿþ ôëýøêó â HTML, à ïîòîì ñìîòðþ â áðàóçåðå ýòó ñòðàíèöó.

Öèòàòà
http://www.macromedia.com/support/document..._manager04.html

À ìîæíî êàê-òî áåç ýòîãî îáîéòèñü? ×òîá ðåäèðåêò ïðîèñõîäèë ó âñåõ ïîëüçîâàòåëåé, äàæå êîòîðûå íå ìåíÿþò â ñâî¸ì ïëååðå íàñòðîåê.
Âåðíóòüñÿ â íà÷àëî ñòðàíèöû
 
+Îòâåòèòü ñ öèòèðîâàíèåì äàííîãî ñîîáùåíèÿ
chingachgoog
ñîîáùåíèå 21.07.2009 - 18:05
Ñîîáùåíèå #4


Àêòèâèñò
****

Ãðóïïà: Ïîëüçîâàòåëü
Ñîîáùåíèé: 987
Ðåãèñòðàöèÿ: 27.02.2009
Èç: Moscow
Ïîëüçîâàòåëü ¹: 9144



Öèòàòà(Lalf @ 21.07.2009 - 18:26) *
ß èçâèíÿþñü, íî ÷òî çà ðåæèì ýìóëÿöèè? ß ïðîñòî âñòàâëÿþ ôëýøêó â HTML, à ïîòîì ñìîòðþ â áðàóçåðå ýòó ñòðàíèöó.
À ìîæíî êàê-òî áåç ýòîãî îáîéòèñü? ×òîá ðåäèðåêò ïðîèñõîäèë ó âñåõ ïîëüçîâàòåëåé, äàæå êîòîðûå íå ìåíÿþò â ñâî¸ì ïëååðå íàñòðîåê.


Âû ìîæåòå ñìîòðåòü ôëåøêó äâóìÿ ïóòÿìè:
1) Âû ðàçìåùàåòå åå íà ñåðâåðå (ò.å. îíà óäàëåííàÿ). Îòêðûâàåòå áðàóçåð, ïîäñîåäèíÿåòåñü ê èíòåðíåòó è ÷åðåç áðàóçåð åå ñìîòðèòå (áðàóçåð êà÷àåò åå ñ ñåðâåðà). Òàê îíà áóäåò ðàáîòàòü ÍÀ ÑÀÌÎÌ ÄÅËÅ. Òàê åå è áóäóò ñìîòðåòü âñå îñòàëüíûå ïîëüçîâàòåëè. Íàñêîëüêî ÿ ïîíèìàþ, âû òàê íå äåëàëè, à ïîøëè ïóòåì 2:
2) Ôëåøêà ó âàñ íà êîìïå. È âû åå ìîæåòå îòêðûòü õîòü áðàóçåðîì, õîòü àâòîíîìíûì ïëååðîì, õîòü åùå ÷åì. Ïðè îòêðûòèè áðàóçåðîì áóäåò ÷òî-òî âðîäå ýìóëÿöèè âõîäà â èíòåðíåò. Ó ôëåøà òóò ñðàáàòûâàþò îãðàíè÷åíèÿ áåçîïàñíîñòè äëÿ îáìåíà ñ JS. Ïîýòîìó âàì íóæíî ñõîäèòü íà âûøåóêàçàííóþ ñòðàíèöó è ðàçðåøèòü ÂÀØÅÌÓ ïëååðó îáìåíèâàòüñÿ ñ áðàóçåðîì JS (îñòàëüíûì ïîëüçîâàòåëÿì ýòî äåëàòü íå íóæíî). Ýòî çàìîðî÷êà ðàçðàáîò÷èêà òàêàÿ, ê ñîæàëåíèþ.
Âåðíóòüñÿ â íà÷àëî ñòðàíèöû
 
+Îòâåòèòü ñ öèòèðîâàíèåì äàííîãî ñîîáùåíèÿ
Lalf
ñîîáùåíèå 22.07.2009 - 03:41
Ñîîáùåíèå #5


Íîâè÷îê
*

Ãðóïïà: Íîâè÷îê
Ñîîáùåíèé: 9
Ðåãèñòðàöèÿ: 21.07.2009
Ïîëüçîâàòåëü ¹: 9397



Çàãðóçèë íà ñàéò - òà æå èñòîðèÿ sad.gif
Ìîæåò ÿ ÷òî-òî â êîäå íàêîñÿ÷èë?
Âåðíóòüñÿ â íà÷àëî ñòðàíèöû
 
+Îòâåòèòü ñ öèòèðîâàíèåì äàííîãî ñîîáùåíèÿ
chingachgoog
ñîîáùåíèå 22.07.2009 - 12:28
Ñîîáùåíèå #6


Àêòèâèñò
****

Ãðóïïà: Ïîëüçîâàòåëü
Ñîîáùåíèé: 987
Ðåãèñòðàöèÿ: 27.02.2009
Èç: Moscow
Ïîëüçîâàòåëü ¹: 9144



Öèòàòà(Lalf @ 22.07.2009 - 04:41) *
Çàãðóçèë íà ñàéò - òà æå èñòîðèÿ sad.gif
Ìîæåò ÿ ÷òî-òî â êîäå íàêîñÿ÷èë?


Âî-ïåðâûõ, ïðîâåðüòå, ÷òî âîçðàùàåò ìåòîä addCallback. Åñëè îí âîçðàùàåò true çíà÷èò êîíòàêò ñ JS âîçìîæåí.
Âî-âòîðûõ, getUrl ó âàñ íàïèñàí ñ îøèáêîé - îí ó âàñ ðàçâå ñèíèì ïîäñâå÷åí?
Â-òðåòüèõ, èç ôëåøà âûçûâàåòñÿ JS-ôóíêöèÿ recieveFromFlash - ãäå îíà?

È ñàìîå ãëàâíîå: èñïîëüçóéòå alert â JS è trace èëè çàïèñü â òåñòîâîå òåêñòîâîå ïîëå âî ôëåøå. Ìíîãèå âîïðîñû îòïàäóò ñàìè ñîáîé.
Ïîñìîòðèòå êàê ñäåëàí ïðèìåð â õåëïå ïî ExternalInterface.
Âåðíóòüñÿ â íà÷àëî ñòðàíèöû
 
+Îòâåòèòü ñ öèòèðîâàíèåì äàííîãî ñîîáùåíèÿ
Lalf
ñîîáùåíèå 23.07.2009 - 05:47
Ñîîáùåíèå #7


Íîâè÷îê
*

Ãðóïïà: Íîâè÷îê
Ñîîáùåíèé: 9
Ðåãèñòðàöèÿ: 21.07.2009
Ïîëüçîâàòåëü ¹: 9397



Öèòàòà
Âî-ïåðâûõ, ïðîâåðüòå, ÷òî âîçðàùàåò ìåòîä addCallback. Åñëè îí âîçðàùàåò true çíà÷èò êîíòàêò ñ JS âîçìîæåí.

ß íå çíàþ êàê ýòî ñäåëàòü sad.gif Ëàäíî áû åù¸ â JS ìîæíî áûëî áû alert() ñáàöàòü, à òóò ÿ âîîáùå íå çíàþ sad.gif

Öèòàòà
Âî-âòîðûõ, getUrl ó âàñ íàïèñàí ñ îøèáêîé - îí ó âàñ ðàçâå ñèíèì ïîäñâå÷åí?

Òî÷íî! Íå çàìåòèë ýòî... Ñïàñèáî)

Ó ìåíÿ òåïåðü ïîëó÷àåòñÿ ðåäèðåêò, íî îí äåëàåòñÿ òîëüêî ïî êëèêó, ÿ æå õî÷ó, ÷òîá îí ïðè çàãðóçêå ñòðàíèöû ñðàáàòûâàë. Âîçìîæíî, íóæíî êàê-òî ïðîâåðèòü ñâÿçü ìåæäó JS è AS, ÷òîá JS ïîäîæäàë, ïîêà ôëýøêà çàãðóçèòñÿ? Ïîìîãèòå, ïîæàëóéñòà, ðåàëèçîâàòü âîò ýòî.

Òî, ÷òî ñåé÷àñ ñäåëàë. AS:
Êîä
import flash.external.*;

ExternalInterface.addCallback("sendFromJS", null, recieveFromJS);

function recieveFromJS(t) {
    var my_lv:LoadVars = new LoadVars();
    my_lv.send(t, "_self", "POST");
}


Ïîëíîñòüþ HTML-ñòðàíèöà:
Êîä
<html><head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

<title>JS - AS</title>

<script type="text/javascript">
function sendFromJS(value) {
    var movie = ((navigator.appName.indexOf("Microsoft")!=-1) ? window : document)["BridgeMovie"];  
    
    movie.sendFromJS(value);    
}
</script>
</head><body>

<input type="button" value="Click" onclick="sendFromJS('http://yandex.ru/')">

      
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="BridgeMovie" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab" height="5" width="5">
    <param name="movie" value="red.swf">
    <param name="allowScriptAccess" value="sameDomain">
    <embed src="red.swf" name="BridgeMovie" play="true" loop="false" quality="high" allowscriptaccess="sameDomain" scale="exactfit" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" align="middle" height="5" width="5">
</object>

<script type="text/javascript">
sendFromJS('http://yandex.ru/');
</script>
</body></html>


Êàê âèäèòå, ïðè íàæàòèè íà êíîïêó âñ¸ ðàáîòàåò, à íà ïðè çàãðóçêå ñòðàíèöû ïî÷åìó-òî íå ïîëó÷àåòñÿ(
Âåðíóòüñÿ â íà÷àëî ñòðàíèöû
 
+Îòâåòèòü ñ öèòèðîâàíèåì äàííîãî ñîîáùåíèÿ
chingachgoog
ñîîáùåíèå 23.07.2009 - 12:21
Ñîîáùåíèå #8


Àêòèâèñò
****

Ãðóïïà: Ïîëüçîâàòåëü
Ñîîáùåíèé: 987
Ðåãèñòðàöèÿ: 27.02.2009
Èç: Moscow
Ïîëüçîâàòåëü ¹: 9144



Öèòàòà(Lalf @ 23.07.2009 - 06:47) *
Ó ìåíÿ òåïåðü ïîëó÷àåòñÿ ðåäèðåêò, íî îí äåëàåòñÿ òîëüêî ïî êëèêó, ÿ æå õî÷ó, ÷òîá îí ïðè çàãðóçêå ñòðàíèöû ñðàáàòûâàë.


ß âîîáùå ñåòåâûìè ôëåøêàìè ïî÷òè íå çàíèìþñü rolleyes.gif
Íî ìíå êàæåòñÿ, ÷òî ýòî ñðàáàòûâàåò ïîëèòèêà áåçîïàñíîñòè èëè íàñòðîéêè áðàóçåðà: îòêðûòèå äðóãîé ñòðàíèöû/âêëàäêè äîëæíî áûòü ßÂÍÎ èíèöèàëèçèðîâàíî ïîëüçîâàòåëåì, à íå êîäîì.
Âåðíóòüñÿ â íà÷àëî ñòðàíèöû
 
+Îòâåòèòü ñ öèòèðîâàíèåì äàííîãî ñîîáùåíèÿ
Lalf
ñîîáùåíèå 24.07.2009 - 06:18
Ñîîáùåíèå #9


Íîâè÷îê
*

Ãðóïïà: Íîâè÷îê
Ñîîáùåíèé: 9
Ðåãèñòðàöèÿ: 21.07.2009
Ïîëüçîâàòåëü ¹: 9397



chingachgoog, ñïàñèáî çà ïîìîùü, ÿ âñ¸ òàêè èñïîëüçîâàë SWFObject è âñ¸ çàðàáîòàëî êàê íàäî smile.gif
Âåðíóòüñÿ â íà÷àëî ñòðàíèöû
 
+Îòâåòèòü ñ öèòèðîâàíèåì äàííîãî ñîîáùåíèÿ
MustLive
ñîîáùåíèå 28.07.2009 - 23:37
Ñîîáùåíèå #10


Âåòåðàí êîíôåðåíöèè
*****

Ãðóïïà: Flash Zone Team
Ñîîáùåíèé: 4332
Ðåãèñòðàöèÿ: 10.03.2005
Èç: Êèåâ
Ïîëüçîâàòåëü ¹: 5



Öèòàòà
À ìîæíî êàê-òî áåç ýòîãî îáîéòèñü?

Lalf, äëÿ ýòîãî ñòîèò çàïóñêàòü ôëåøêó ñ âåá ñàéòà. Ïðè÷¸ì ïîìèìî èñïîëüçîâàíèÿ ñàéòà â Èíòåðíåòå, ìîæíî èñïîëüçîâàòü è ëîêàëüíûé âåá ñåðâåð (êîòîðûé óñêîðèò ïðîöåññ òåñòèðîâàíèÿ êàê ôëåø, òàê è äðóãèõ âåá ðàçðàáîòîê).

Öèòàòà
Âû ðàçìåùàåòå åå íà ñåðâåðå (ò.å. îíà óäàëåííàÿ).

chingachgoog, êàê ÿ óæå ñêàçàë, ìîæíî èñïîëüçîâàòü ëîêàëüíûé âåá ñåðâåð (íà localhost). Ñåðâåð áóäåò ëîêàëüíûì (ïîýòîìó â Èíòåðíåò çàõîäèòü íå íóæíî áóäåò, âîîáùå ìîæíî íå èìåòü ñîåäèíåíèÿ ñ Ñåòüþ), à äëÿ ôëåø ïëååðà áóäåò ðàáîòàòü ñîîòâåòñòâóþùàÿ ïîëèòèêà áåçîïàñíîñòè (êàê äëÿ îáû÷íîãî âåá ñàéòà).

Öèòàòà
Ýòî çàìîðî÷êà ðàçðàáîò÷èêà òàêàÿ, ê ñîæàëåíèþ.

Ýòî òàêîé çàùèòíûé ìåõàíèçì è Àäîá ñ êàæäîé íîâîé âåðñèåé âñ¸ áîëåå óæåñòî÷àåò ïîëèòèêè áåçîïàñíîñòè ôëåøà (ñ èñïðàâëåíèåì äûð â ïëååðå è ïëàãèíå). Ïðè ýòîì äîáàâëÿÿ íîâûå äûðû, êîòîðûå èì ïðèä¸òñÿ èñïðàâëÿòü â íîâûõ âåðñèÿõ smile.gif.

Öèòàòà
ÿ âñ¸ òàêè èñïîëüçîâàë SWFObject è âñ¸ çàðàáîòàëî êàê íàäî

Äàííóþ çàäà÷ó ìîæíî áûëî ðåøèòü ñ ïîìîùüþ îáîèõ ìåòîäîâ (÷òîáû ðåäèðåêò ðàáîòàë è ïî êëèêó è ïðè çàãðóçêå ñòðàíèöû), íî ðàç ðåøèë ñ ïîìîùüþ SWFObject, òî è õîðîøî. Ýòî ïîïóëÿðíûé ìåòîä ðàçìåùåíèÿ ôëåøåê íà âåá ñàéòàõ, òàê ÷òî ñ íèì âñ¸ áû îáÿçàòåëüíî çàðàáîòàëî.
Âåðíóòüñÿ â íà÷àëî ñòðàíèöû
 
+Îòâåòèòü ñ öèòèðîâàíèåì äàííîãî ñîîáùåíèÿ
chingachgoog
ñîîáùåíèå 15.08.2011 - 19:30
Ñîîáùåíèå #11


Àêòèâèñò
****

Ãðóïïà: Ïîëüçîâàòåëü
Ñîîáùåíèé: 987
Ðåãèñòðàöèÿ: 27.02.2009
Èç: Moscow
Ïîëüçîâàòåëü ¹: 9144



À ÿ âîò òóò ïîäóìàë:

åñòü html-ìåòêà, êîòîðàÿ çàñòàâëÿåò çàïóñêàòü html-ñòðàíè÷êó òîëüêî â ïåñî÷íèöå çîíû "èíòåðíåò"
Êîä
<!-- saved from url=(0014)about:internet -->


À ÷òî åñëè åñòü ñõîæàÿ ìåòêà (èëè âîçìîæíîñòü) çàïóñêàòü html-ñòðàíè÷êó â ëîêàëüíîé ïåñî÷íèöå? Òîãäà swf-êè ñ äîñòóïîì ëîêàëüíî-ôàéëîâàÿ ñèñòåìà ìîãëè áû áåçïðîáëåìíî ðàáîòàòü!
À òî êàê-òî çàïàäëî ëåçòü íà ñàéò ìàêðîìåäèè è óñòàíàâëèâàòü ðàçðåøåíèå íà êîíêðåòíóþ ïàïêó èëè ôàéë
http://www.macromedia.com/support/document..._manager04.html

Áûñðûé ñåðô ïî èíåòó ðåçóëüòàòîâ íå äàë. ×òî ñêàæóò çíàòîêè html?

Âåðíóòüñÿ â íà÷àëî ñòðàíèöû
 
+Îòâåòèòü ñ öèòèðîâàíèåì äàííîãî ñîîáùåíèÿ
MustLive
ñîîáùåíèå 17.08.2011 - 00:54
Ñîîáùåíèå #12


Âåòåðàí êîíôåðåíöèè
*****

Ãðóïïà: Flash Zone Team
Ñîîáùåíèé: 4332
Ðåãèñòðàöèÿ: 10.03.2005
Èç: Êèåâ
Ïîëüçîâàòåëü ¹: 5



Öèòàòà
åñòü html-ìåòêà, êîòîðàÿ çàñòàâëÿåò çàïóñêàòü html-ñòðàíè÷êó òîëüêî â ïåñî÷íèöå çîíû "èíòåðíåò"

chingachgoog

Ýòî Mark of the Web è äàííàÿ ìåòêà ïîääåðæèâàåòñÿ òîëüêî â Internet Explorer (íà÷èíàÿ ñ IE4). Äðóãèå áðàóçåðû íå ïîääåðæèâàþò è èãíîðèðóþò äàííóþ ìåòêó.

Öèòàòà
À ÷òî åñëè åñòü ñõîæàÿ ìåòêà (èëè âîçìîæíîñòü) çàïóñêàòü html-ñòðàíè÷êó â ëîêàëüíîé ïåñî÷íèöå?

Äëÿ ýòîãî ïðîñòî íóæíî íå óêàçûâàòü äàííîé ìåòêè (ïðè ðàáîòå ñ IE) è òîãäà ïðè ëîêàëüíîì çàïóñêå ôàéëà (â ëþáîì áðàóçåðå) âåá ñòðàíèöà áóäåò çàïóùåíà â ëîêàëüíîé çîíå. Òîëüêî òîãäà íóæíî áóäåò óñòàíàâëèâàòü ðàçðåøåíèÿ smile.gif. Íî åñòü ñïåöèàëüíûé îáõîäíîé ìåòîä - èñïîëüçîâàíèå ëîêàëõîñòà (äëÿ íåãî, ê òîìó æå, åñòü ñâîÿ çàïèñü Mark of the Web). Äëÿ êîòîðîãî ìîæíî ëèøü îäèí ðàç óñòàíîâèòü ðàçðåøåíèÿ ôëåø ïëååðà è äàëüøå ñïîêîéíî ðàáîòàòü.
Âåðíóòüñÿ â íà÷àëî ñòðàíèöû
 
+Îòâåòèòü ñ öèòèðîâàíèåì äàííîãî ñîîáùåíèÿ

Îòâåòèòü â ýòó òåìóÎòêðûòü íîâóþ òåìó
1 ÷åë. ÷èòàþò ýòó òåìó (ãîñòåé: 1, ñêðûòûõ ïîëüçîâàòåëåé: 0)
Ïîëüçîâàòåëåé: 0

 



- Òåêñòîâàÿ âåðñèÿ Ñåé÷àñ: 17.10.2011 - 21:15