2010-08-02 69 views
0

請保存我的皮膚。Flash Embed不起作用

http://clubentertainment.ie/c/art-perf/embed_example.html

上面的鏈接應該在Firefox加載,什麼都不會加載。似乎沒有引發任何錯誤。它甚至驗證。

它使用swfobject,所有的鏈接似乎工作..它只是不實際工作。我想責怪Flash對象,但因爲它在Firefox中工作,所以錯誤必須在其他地方。

任何想法?是否有其他方法嵌入並仍然有效?

另外的wmode透明度不允許HTML下拉菜單出現在閃光燈頂部..

不知道發生了什麼恩惠 - 我發現這個問題。這個錯誤肯定與服務器有關。移動網站,沒有任何改變。工作得很好。我只想感謝每一位的幫助。

+0

我可以看到它在FF中工作3.6.2 – Sarfraz 2010-08-02 14:14:20

+0

可能是因爲http://clubentertainment.ie/c/art-perf/CU3ER.swf(你的SWF電影)無法加載。 – tcooc 2010-08-02 14:16:50

+0

我認爲Flash是一個封閉的平臺,它在所有瀏覽器中加載相同。我只是不明白爲什麼它在FF中加載,沒有其他地方。 – JasonS 2010-08-02 14:25:20

回答

2

我認爲這是跨域策略的問題。嘗試使用相對路徑url而不是絕對路徑。你現在有絕對路徑。

+0

難道主機是垃圾嗎?這是我的服務器瓦特/絕對網站上託管。 http://jasonstanley.co.uk/test/embed_example.html。我的主機從外地鏈接..一半的作品。 http://clubentertainment.ie/embed_example.html – JasonS 2010-08-09 10:56:53

+0

林不知道,我不這麼認爲。 嘗試將clubentertainment.ie/embed_example.html中的xml文件鏈接到它自己的域,看看它是否工作。 – Codler 2010-08-09 11:16:39

+0

不幸的是,這是問題,我已經嘗試過ce網站上的相關網址和絕對網址。兩者都在Firefox中加載,沒有別的。嘗試在我的服務器上的相對/絕對。完全相同的文件和作品。 – JasonS 2010-08-09 11:19:15

0

您可以隨時嘗試在XHTML中使用有效技術嵌入Flash。你可以在這裏找到更多關於這個:http://latrine.dgx.cz/how-to-correctly-insert-a-flash-into-xhtml

至於swfobject,它似乎有一些瀏覽器相關的問題。我稍後會試着弄清楚這一點。如果我得出任何結論,我會告訴你。

編輯

儘量使用相對路徑SWF文件。它爲我工作。

2

當把直接鏈接到你的瑞士法郎,它的工作即ie。 http://clubentertainment.ie/c/art-perf/CU3ER.swf

它可能是一個跨站點問題。 這裏CU3ER用於演示代碼http://getcu3er.com/features/

<script type="text/javascript"> 

        var vars = { xml_location : '/inc/cu3er/config_features_overview.xml?v=2'}; 
        var params = { wmode:'transparent' }; 
        var attributes = { id:'CU3ER', name:'CU3ER' }; // give an id to the flash object 

        swfobject.embedSWF("/CU3ER.swf", "cu3er-container", "300", "390", "9.0.45", "/js/expressInstall.swf", vars, params, attributes); 

       </script> 

編輯: 通過只是把你的代碼在身體沒有我的SWF中即

<body > 
    <script type="text/javascript"> 
     // add your FlashVars 
     var vars = { xml_location : 'http://clubentertainment.ie/c/art-perf/CU3ER-config.xml' }; 
     // add Flash embedding parameters, etc. wmode, bgcolor... 
     var params = { bgcolor : '#ffffff' }; 
     // Flash object attributes id and name 
     var attributes = { id:'CU3ER', name:'CU3ER' }; 
     // dynamic embed of Flash, set the location of expressInstall if needed 
     swfobject.embedSWF('http://clubentertainment.ie/c/art-perf/CU3ER.swf', "CU3ER", 500, 250, "9.0.45", "http://clubentertainment.ie/c/art-perf/js/expressInstall.swf", vars, params, attributes); 
     // initialize CU3ER class containing Javascript controls and events for CU3ER 
     // var CU3ER = new CU3ER("CU3ER"); 
    </script> 

    <!-- CU3ER content HTML part starts here --> 
    <div id="CU3ER"> 
    <noscript> 
     <!-- modify this content to provide users without Flash or enabled Javascript with alternative content information --> 
     <p>Click to get Flash Player<br /><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p> 
     <p>or try to enable JavaScript and reload the page 
     </p> 
    </noscript> 
    </div> 
    <!-- CU3ER content HTML part ends here --> 


</body> 
+0

謝謝,這實際上起作用但是沒有任何意義。主站點使用Wordpress運行,JavaScript始終處於正常運行狀態,直到今天才在IE中運行。它仍然不能在Opera中運行。另外,在IE中,如果清除緩存並轉到此處。 http://clubentertainment.ie/entertainment/閃光燈不加載。再次加載頁面,它會。它有點奇怪。 – JasonS 2010-08-09 12:01:03

1

工作的標頭,我看到它不適用於Safari 5,但適用於Firefox 4.請嘗試使用SWFObject靜態發佈方法進行嵌入,以便您可以排除JavaScript作爲潛在問題:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
<head> 
    <title>CU3ER</title> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <script type="text/javascript" src="/c/art-perf/js/swfobject.js"></script> 
    <script type="text/javascript" src="/c/art-perf/js/CU3ER.js"></script> 
    <script type="text/javascript"> 
     swfobject.registerObject("cu3er-container", "9.0.45", "/c/art-perf/js/expressInstall.swf"); 
    </script> 
</head> 
<body> 
    <div> 
     <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="300" height="390" id="cu3er-container" class="CU3ER"> 
      <param name="movie" value="/c/art-perf/CU3ER.swf" /> 
      <param name="wmode" value="transparent" /> 
      <param name="bgcolor" value="#ffffff" /> 
      <param name="flashvars" value="xml_location=/inc/cu3er/config_features_overview.xml?v=2" /> 
      <!--[if !IE]>--> 
      <object type="application/x-shockwave-flash" data="/c/art-perf/CU3ER.swf" width="300" height="390" class="CU3ER"> 
       <param name="wmode" value="transparent" /> 
       <param name="bgcolor" value="#ffffff" /> 
       <param name="flashvars" value="xml_location=/inc/cu3er/config_features_overview.xml?v=2" /> 
      <!--<![endif]--> 
       <a href="http://www.adobe.com/go/getflashplayer"> 
        <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /> 
       </a> 
      <!--[if !IE]>--> 
      </object> 
      <!--<![endif]--> 
     </object> 
    </div> 
</body> 
</html> 

您可能需要調整JavaScript來處理'cu3er-container'ID或'CU3ER'類。在這個例子中,如果Flash的版本不足,只能調用SWFObject,以便它可以提供快速升級的快速安裝程序,否則這不需要JavaScript。

+0

我試過你粘貼的代碼,但沒有出現。我試圖自己嵌入,但失敗了。如何在不使用swfobject的情況下嵌入對象? – JasonS 2010-08-10 11:26:32

+0

這就是你如何嵌入沒有SWFObject。你可以完全移除對SWFObject的兩個引用,這仍然可以工作。如果此代碼沒有出現任何內容,則表明您的主機正在阻止文件類型,未使用適當的mimetype提供文件類型,或者路徑不正確。由於我不在你的服務器上,所以我無法仔細檢查。 – Aaron 2010-08-10 12:46:04

+0

感謝您的額外信息。我會在早上繼續這個。 – JasonS 2010-08-10 14:08:47

0

在Chrome 5.0.375.125中,SWF加載非常好,但幻燈片不加載。我懷疑這可能與不同網頁瀏覽器處理Javascript錯誤的差異有關。

我啓用了用於Internet Explorer的腳本調試(我強烈建議您這樣做)並打開了您的頁面,並且我立即看到Flash ExternalInterface調用了CU3ER.js中定義的Javascript函數時出現Javascript錯誤。有時瀏覽器會在遇到錯誤時決定停止運行腳本,有些則會繼續。 Firefox正處於「只是繼續」的陣營。當在IE中單擊「忽略」錯誤時,IE能夠加載圖像但繼續導致Javascript錯誤。

由於CU3ER無法在DOM中找到它,因此Javascript錯誤似乎正在發生。這是基於這樣的事實,這個JavaScript函數調用發出:

__flash__addCallback(document.getElementById(""), "playCU3ER"); 

所發出函數的定義是這樣的:

function __flash__addCallback(instance, name) { 
    instance[name] = function() { 
     return eval(instance.CallFunction("<invoke name=\""+name+"\" returntype=\"javascript\">" + __flash__argumentsToXML(arguments,0) + "</invoke>")); 
    } 
} 

document.getElementById被稱爲用一個空字符串的事實可能意味着有CU3ER需要一些缺失的閃存變量。檢查SWF的文檔,並確保嵌入時您有什麼需要。或者像其他人提到的那樣,它可能是一個相對與絕對URL的問題。

相關問題