2011-06-28 53 views
0

當本地請求(Flash影片播放)此頁面的作品, http://localhost:8080/flash.aspxFlash視頻

我也有URL路由設置 http://localhost:8080/videos/也引導到 http://localhost:8080/flash.aspx

如果我已經設置了以下Facebook應用程序設置:

---網站---

  1. 網站網址:http://localhost:8080/
  2. 網站域名:本地主機

--- facebook集成---

  1. 畫布頁:http://apps.facebook.com/my_app/
  2. 帆布網址:http://localhost:8080/video/

當我要求頁面時:http://apps.facebook.com/my_app - http://localhost:8080/flash.aspx被加載到facebook畫布中(我可以看到我的測試文字),但是,flash電影不能播放。

這裏是我使用上加載flash.aspx swf的jQuery代碼

$(document).ready(function() { 
    if (swfobject.hasFlashPlayerVersion("6.0.0")) { 
     var att = { data: "flash/video.swf", width: "385", height: "312" }; 
     var par = { flashvars: "foo=bar" }; 
     var id = "video-container"; 
     swfobject.createSWF(att, par, id); 
    } 
}); 

爲什麼Flash影片不玩的時候我請求任何想法: http://apps.facebook.com/my_app/但確實起到它應該何時在本地請求頁面?

回答

1

我不知道域問題(那些超出SWFObject的範圍),但是你的代碼可以稍微改進一點。你將整個塊包裝在一個jQuery ready函數中,但是你也使用addDomLoadEvent。這是多餘的。您可以簡化爲:

$(document).ready(function() { 
    if (swfobject.hasFlashPlayerVersion("6.0.0")) { 
     var att = { data: "flash/video.swf", width: "385", height: "312" }; 
     var par = { flashvars: "foo=bar" }; 
     var id = "video-container"; 
     var myObject = swfobject.createSWF(att, par, id); 
    } 
}); 

或者你可以只使用SWFObject的的embedSWF功能,這domload檢測內置:

var flashvars = { foo: "bar" }; 
var par = {}; 
var att = {}; 
swfobject.embedSWF("flash/video.swf", "video-container", "385", "312", "6.0.0", false, flashvars, par, att); 
+0

變成包含重構jQuery的問題 - 但是,沒有使用下面的嵌入代碼,因爲它有一個JavaScript無效的參數錯誤(抱歉 - 沒有調試它)。值得投票。 – FiveTools

+0

哎呀,我有一個錯字 - 意外地交換了前兩個參數。我在帖子中糾正了它。 – pipwerks