2010-05-25 20 views
1

是否可以使用JavaScript從另一個域加載圖像,然後將圖像傳遞給我的頁面上的Silverlight控件?Silverlight中的跨站點圖像

+0

只是好奇,是否有一個特定的原因,你想通過JavaScript而不是直接從Silverlight加載圖像? – 2010-05-25 22:42:46

+0

@Jeff Schumacher如果他/她試圖從服務器加載的域以外的服務器獲取映像,服務器將需要允許訪問它(如果服務器不是由此「擁有」個人)。這是一項安全功能,有助於防止跨域問題。 – 2010-05-25 22:47:39

+0

我想在我的Sivlerlight應用程序中顯示圖像,該應用程序實際上位於其他不屬於我的網站上。由於Silverlight不允許這樣做,所以我想我可以使用JavaScript來完成它,然後將字節傳遞給Silverlight。 – skb 2010-05-27 17:31:35

回答

2

我對此熟悉的唯一解決方法是安全問題,它是在您可以控制的服務器上設置Web服務,從Silverlight應用程序請求此Web服務中的映像,然後該服務從另一臺服務器獲取映像並將其返回給客戶端。

2

在Silverlight中加載跨域圖像不應該是一個問題,至少如果您使用的是正常的圖像控件。我只用一個非常簡單的應用程序來測試它,其中只包含一個Image控件,其Source屬性設置爲來自Google圖片的圖片。

你是用WebClient以某種時髦的方式加載你的圖片嗎?對於Image類,跨計劃和跨區域訪問受到限制,因此如果您通過常規HTTP加載XAP,則無法通過SSL加載映像(在任何域上)。

MSDN page on Silverlight URL Access Restrictions可以很好地概述您可以使用Image,MediaElement,WebClient和流式視頻執行哪些操作。

+0

無法讓這個工作。你確定? – skb 2010-06-08 19:43:12

+0

我相信它對我有用。我不確定你是如何加載圖像的上下文,但我相信Silverlight中的正常圖像控件將加載圖像沒有問題的跨域。 – 2010-06-08 21:17:19