我有一個複雜的Silverlight應用程序,它非常廣泛地使用HTML橋接功能(在兩個方向上)。當託管頁面來自與XAP源相同的域時,該應用運行良好。不幸的是,當託管頁面位於不同的域時,我無法使HTML橋接功能正常工作。HTML Bridge無法與跨域Silverlight XAP
現在,我知道通常需要這些工作的各種技巧,例如:http://msdn.microsoft.com/en-us/library/cc645023(VS.95).aspx。我甚至把我自己的簡化的跨域repro放在一起,我希望能夠突出這個問題,但不幸的是,我的「repro」工作,即JS-> SL和SL-> JS功能都可以正常工作,即使XAP託管在不同的域上。
這是我到目前爲止已經試過以縮小問題:
在我的生產解決方案(在那裏我遇到的問題):
- 證實,「EnableHtmlAccess」設置爲在
<object>
標記中爲true。 - 確認AppManifest.xml文件中的「ExternalCallersFromCrossDomain」設置爲「ScriptableOnly」。
在我的攝製解決方案(在這裏我不能讓它有問題):
- 添加多個多個庫登記的可編程對象。
- 向註冊對象添加事件。
在兩個:
- 具有靜態
<object>
標籤,並用(通過Silverlight.js的)動態創建的<object>
標籤嘗試過。 - 試過它,沒有爲onSourceDownloadProgressChanged,onSourceDownloadComplete,onError和onLoad指定處理程序。
- 嘗試過,沒有閃屏。
我有點不知所措。任何人有任何其他疑難解答步驟的建議?