2010-02-07 72 views
1

在我的頁面中加載SWF文件的推薦方法是什麼?tomcat:將swf加載到頁面

只是使用HttpServletResponse.getWriter並用它打印SWF對象,還是有更高效的方法?

回答

2

如果它是一個靜態的SWF文件,只需將它放在公共可瀏覽的路徑中,並允許Tomcat將其作爲靜態文件提供。如果您正在動態生成SWF文件,則只要您記得將Content-type HTTP標頭設置爲application/x-shockwave-flash,則ServletResponse.getWriter()就沒有問題。你可以做,就這樣與ServletResponse.setContentType()寫入到輸出流之前:

resp.setContentType("application/x-shockwave-flash"); 

您可能也想,如果你希望瀏覽器能夠高速緩存考慮設置一些HTTP緩存相關的頭信息,如Cache-ControlExpires你的SWF文件。你可以用HttpServletResponse.setHeader()HttpServletResponse.addHeader()來做到這一點。對於靜態SWF文件的情況,您必須在與<url-pattern>映射的Filter中設置緩存標頭。

另一點值得一提的是,以跨瀏覽器友好的方式引用SWF內容,繞過令人惱火的extra-click behavior in some versions of MSIE已成爲某種黑魔法。我建議使用SWFObject庫(託管在Google代碼上)來將醜聞摘走。