Uzun zamandır Silverlight ile ilgili yazı yazmadığımın farkındayım sanırım biraz ona karşı dargınlık var:)Neyse bugün işime yarayan bir ipucu niteliğinde bir bilgi paylaşmak istiyorum.Bir Silverlight uygulamasında bildiğiniz gibi Silverlight tarafından html tarafına erişebilmekteyiz.Eğer Silverlight uygulamanızın HTML tarafına erişmesini engellemek istiyorsanız “enablehtmlaccess” parametresini object tagları arasına ekleyip etkin hale getirmeniz gerekmektedir:

<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">  
  <param name="source" value="ClientBin/SL-PreventHtmlDOMAccess.xap"/>
  <param name="onError" value="onSilverlightError" />
  <param name="background" value="white" />                                          
   <param name="minRuntimeVersion" value="4.0.50401.0" />
   <param name="autoUpgrade" value="true" />
   <param name="enablehtmlaccess" value="false" />
 </object>

HTML sayfaya aşağıdaki gibi bir etiket ekleyelim:

<div id="test"/>

Silverlight tarafında da bir buton oluşturup Click olayına şunları yazıp uygulamamızı çalıştıralım:

HtmlPage.Document.GetElementById("test").SetAttribute( "innerHTML", 
"Silverlight");

Uygulama çalıştığında aşağıdaki gibi “The DOM/scripting bridge is disabled” hatası verecektir.

Kolay gelsin.

About the Author