iframe

2010-08-25 3 views
6

में Silverlight ऐप से पैरेंट पेज यूआरएल प्राप्त करें मुझे यह जानने में सक्षम होना चाहिए कि कौन सा पेज मेरे Silverlight ऐप को होस्ट कर रहा है। मैं System.Windows.Browser.HtmlPage.Document.DocumentUri.AbsolutePath का उपयोग कर आईफ्रेम का यूआरएल प्राप्त कर सकता हूं, लेकिन मैं आईफ्रेम होस्ट करने वाले वेब पेज का यूआरएल प्राप्त करना चाहता हूं।iframe

System.Windows.Browser.HtmlPage.Document.DocumentElement.Parent शून्य है।

धन्यवाद!

उत्तर

2

किसी ने मुझे मुझे link दिया लेकिन उनका जवाब गायब हो गया है? चीयर्स जो भी यह था!

MainPage.xaml.cs:

public MainPage() 
    { 
     InitializeComponent(); 
     this.Loaded += new RoutedEventHandler(Page_Loaded); 
     HtmlPage.RegisterScriptableObject("Page", this); 
     HtmlPage.Window.Invoke("GetParentURL"); 
    } 

    [ScriptableMember] 
    public void GetParentURL(string result) 
    { 
     if (result.IndexOf("WhatIamLookingFor") > 0) 
      imgLink.Visibility = Visibility.Visible; 
     else 
      imgLink.Visibility = Visibility.Collapsed; 
    } 

Default.aspx: :)

इस तरह से मैं यह किया है

<script type="text/javascript">  
    function GetParentURL() { 
     var control = document.getElementById("silverlightControlHost"); 
     control.children[0].Content.Page.GetParentURL(parent.location.href); 
    } 
</script> 

<div id="silverlightControlHost"> 
    <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%"> 
     <param name="source" value="/ClientBin/MyApp.Silverlight.xap"/> 
     <param name="background" value="transparent" /> 
     <param name="minRuntimeVersion" value="3.0.40624.0" /> 
     <param name="autoUpgrade" value="true" /> 
     <param name="windowless" value="true" /> 
     <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40624.0" style="text-decoration:none"> 
     <img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style:none"/> 
     </a> 
    </object> 
    <iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe> 
</div>