2011-03-09 16 views
7

kimse ExternalInterface böyle olmaz demek bazı dokümanlar için file: protokol veya noktada çalıştığını teyit edebilir? // sayfa: Bir dosyadan kullanmaya çalışırsanız Varsayılan olarakExternalInterface dosyada çalışır: protokolü?

+1

Konu dışı: Ben – zzzzBov

+0

"yerel" debug flash XAMPP kullanmak bu o AFAICT – erikvold

+0

ok ki bu çok saçma bir cd çalışacağını kodu olması gerekiyordu, test için değil [navigationateToURL] üzerindeki dokümanlar (http://help.adobe.com/tr_TR/FlashPlatform/reference/actionscript/3/flash/net/package.html#navigateToURL()), ** 'nin ExternalInterface kullanması gerektiğini öne sürüyor iç içerik WTF için? – erikvold

cevap

8

İşe yaramaz bu benzemeye başladı var .. this page diyor ki: yerel HTML dosyaları ve yerel SWF dosyaları arasında her iki yönde

Komut Dosyası - örneğin, kullanılarak ExternalInterface class-- HTML dosyası hem de katılan SWF dosyası yerel güvenilen sanal alanda olmasını gerektirir. tarayıcılar için yerel güvenlik modelleri Flash Player yerel güvenlik modelinden farklı olmasıdır.

Ve bu yerel güvenilen sanal sözleriyle ifade ediyor:

yerel güvenilir sanal - Yerel SWF (kullanıcılar veya yükleyici programlar tarafından) güvenilen olarak kayıtlı dosyaları yerel güvenilen sanal alana yerleştirilir. Sistem yöneticileri ve kullanıcıları da yeniden atamakta (hareket) yeteneği güvenlik konuları üzerinde dayalı yerel güvenilen sanal bir yerel SWF dosya veya ( İdari kullanıcı kontrolleri ve Kullanıcı kontrolleri bakınız) var. Yerel güvenilen sanal alana atanan SWF dosyaları, herhangi bir SWF dosyasıyla etkileşimde bulunabilir ve verileri her yerden (uzaktan veya yerel) yükleyebilir.

Yani bir yükleyici veya kullanıcı ya bir yerel güvenilen-kum AFAICT için swf koymak zorunda kalacak .. Alternatif olarak

+1

not: ~ hack [burada] belirtilen [http://xs-sniper.com/blog/2011/01/04/bypassing-flash%E2%80%99s-local-with-filesystem- sandbox /) – erikvold

3

, ExternalInterface Güvenlik Hatası # 2060 fırlatır. Ancak, gömdüğünüze <param name="allowscriptaccess" value="always"/> seçeneğini eklerseniz, JavaScript ile konuşabilmelidir.

addCallback() ve çağrı için özel belgelerinde docs on ExternalInterface referans bu,().

DÜZENLEME: Bunu aşağıdaki yorumlarda ele aldıktan sonra, bu Mac için benim için çalışmasına rağmen Windows üzerinde çalışmaz. Erik'in cevabı, bunun neden başarısız olduğu hakkında daha fazla ayrıntı veriyor.

+0

böylece ' kullanarak Güvenlik Hatası önlenir? – erikvold

+0

Evet, benim deneyimim var. Dokümanlar, flash.system.Security.allowDomain (sourceDomain) 'işlevini kullanmanın yanı sıra (bir bağlantıyla cevabımı güncellediler, addCallback yöntemine atlayın). –

+0

, bu yüzden 'file:' üzerinde çalışmak için actionscript içinde 'flash.system.Security.allowDomain (sourceDomain)' kullanılır. – erikvold