2009-08-14 36 views

回答

1

該示例根本不使用全屏。他們認爲「全屏」只是最大化閃光燈窗口占據整個瀏覽器區域。瀏覽器的工具欄,狀態欄和chrome仍然可見,以及瀏覽器之外的任何東西。

它是嵌入在HTML頁面中一個Flash/Flex的小部件一個很好的效果,但它是不一樣的全屏顯示。

的實現主要是對的JavaScript/DOM側,只是最低限度內的Flash/Flex的。當用戶點擊「全屏」時,使用ExternalInterface調用JavaScript函數。這個JS函數需要重新定位並調整Flash元素的大小,使其位於(0,0)並佔據整個屏幕。如果HTML比一頁長,那麼你也需要隱藏它,以使瀏覽器的滾動條消失,就像scribd例子那樣。 Flex/Flash應用程序中的另一個按鈕提供關閉或相關按鈕來反轉該過程。

作爲一個Flex開發者,我反對使用術語「全屏」這一點。全屏是許多Flash/Flex應用程序的常見功能,特別是視頻播放器。用戶使用該術語表示不同的東西令人困惑。 「最大化」比「全屏」更合適。

1

scribd是如何實現他們的「全屏」模式?

不太好,如果你問我。他們的界面在Ubuntu上非常令人震驚......這很奇怪,因爲99.9%的其他Flash應用程序完全可以工作。

靴XP的VirtualBox圖像

那麼它看起來像他們剛剛改變閃光坐落在與一些JavaScript div和調整大小的小程序,以適應。加上另一個JavaScript事件掛鉤來檢測屏幕的大小。

沒有技術上的巧妙,但他們做得很好。

+0

剛剛在XP的Firefox上安裝了Firebug。我可以證實(實質上)那就是他們在做什麼。他們必須玩一些額外的'div's'風格,但是。沒什麼特別的。 – Oli 2009-08-14 18:04:07

0

其實山姆,他們提出了一個閃光全屏可用,但「full_screen_type」選項設置爲文檔對象的「快閃」:

VAR scribd_doc = scribd.Document.getDoc(DOC_ID,access_key) ;

scribd_doc.addParam( 'full_screen_type', '閃光');

默認情況下,'full_screen_type'實際上設置爲使用javascript進行渲染,這會導致僅用於瀏覽器窗口的全屏功能。

一種利用人sbribd.js夫婦的頭起坐:

  • JavaScript的全屏版本似乎在某些方面打破,
  • 截至2009年11有一些未申報的JavaScript變量在scribd .js庫將在資源管理器中破解。