2010-06-17 88 views
2

我有一個flex應用程序在我的服務器上運行。Adob​​e Flex,加載遠程swf

我有一些客戶的要求,他們的服務器上加載了瑞士法郎,以便他們的客戶不必轉移到我的服務器登錄;即從用戶的角度來看,他們看起來像他們登錄從theirsite.com而不是mysite.com

我嘗試了一件非常簡單的事情,那就是給他們一個html包裝,以在他們的網站上託管。我提出的唯一修改是改變 「SRC」 VAR到:

「SRC」, 「https://www.mysite.com/app/myapp.swf」 和 嵌入SRC = 「https://www.mysite.com/app/myapp.swf」

令我驚訝的是,這工作完美。最重要的是,服務調用似乎仍來自mysite.com,所以我不必費心修改crossdomain.xml文件。

看起來很好。

我應該知道上面是否有任何問題或缺點?

回答

2

如果您在封閉頁面中執行ExternalInterface對JavaScript的調用,則可能會導致安全錯誤;因爲來自您的域的SWF不應該能夠訪問客戶域中提供的HTML內容。

雖然我認爲這是一個附帶案例。除此之外,你所做的與YouTube所做的沒有太大的不同。我用Flex Show播放器做了同樣的事情。我不認爲你會有任何問題。而且我不相信這種方法會讓你的應用程序更少(或更少)安全。

+0

我還沒有得到我的頭的一個問題是,我定期更新瑞士法郎。爲了確保將它傳遞給客戶端,我更改了swf名稱(附加版本號),並在我的網站上添加了html包裝來反映這一點。我不太清楚如何爲客戶自動化這一點 - 除了我要求他們每次都改變他們的html包裝。 – JonoB 2010-06-18 15:36:37

+0

你是否經常更新SWF,以至於瀏覽器緩存是一個嚴重問題?使用HTML頁面,您可以執行一些元數據來強制刷新;但與SWF我不相信這是一個選項。而不是讓用戶請求SWF,您可以將它們發送到腳本。您可以使用該腳本提供最新的版本;只需指定返回mimtype並返回二進制swf數據即可。 [我在www.TheFlexShow.com上用贊助商圖片做到這一點]。 – JeffryHouser 2010-06-18 16:04:01

+0

是的,我經常更新swf - 有時比每週更頻繁一次。緩存有點令人頭疼,但我們強制使用元數據進行刷新(儘管谷歌瀏覽器仍然有點廢話)。 如果您願意分享,我很樂意看到您上面提到的腳本。 – JonoB 2010-06-18 16:33:35