2012-03-28 59 views

回答

4

我不確定是要將它顯示在頂部還是將其繪製到畫布上。第一種可能是將元素完全放置在畫布上方(或者如果你想在畫布上畫更多東西)。第二個是不可能的(除非你在Chrome擴展或Firefox插件中運行,這不是我所假設的情況(如果是在cavnas上下文中調用DrawElement的情況))。有一些項目嘗試手動對頁面進行「屏幕截圖」(Can you take a "screenshot" of the page using Canvas?),但這仍然不適用於PDF文件。 html5視頻標籤中的視頻內容可以類似地手動繪製到畫布上,但同樣需要手動繪製控件等。

無法將整個元素繪製到畫布上的原因是爲了防止開發人員獲取有關外部頁面的信息(儘管已經討論過允許並接受畫布將受到污染'意味着什麼都不能被讀取,但是共識是將該元素定位在畫布下方,在這種情況下更有用)。如果您想閱讀這些安全性考慮事項,您應該在webkit引擎中查找Bug 69044。

+0

我想將它繪製到畫布上,因此繪製外部頁面/應用程序將不可能? – 2012-03-28 08:34:26

+0

如果它是外在的,比是的,這實際上是不可能的,正如我上面所概述的。你想要做什麼?也許我可以指出你在另一個方向如何解決你的問題。 – 2012-03-28 08:37:01

+0

我有一個帶有bgcolor的畫布元素和一些已經完成的文本元素,然後我需要繪製形狀,可以使用canvas進行的圖像,下一步是將網頁/ pdf /視頻放到畫布上。實際上,我有一個對象,其中包含所有在.NET上創建的所有元素(文本,形狀,視頻等),然後將該對象序列化爲JSON格式,目標是將其顯示在瀏覽器中,然後選擇畫布方法,但唯一的問題是顯示pdf,網頁或任何外部應用程序元素 – 2012-03-28 08:43:21