locked
一个页面里silverlight和一个iframe,这个sivlerlight调用iframe子页面里面的js方法。怎么实现? RRS feed

  • 问题

  • 一个页面里silverlight和一个iframe,这个sivlerlight调用iframe子页面里面的js方法。怎么实现?
    打火机
    2009年3月9日 3:45

答案

全部回复

  • 如果他们是同一域 

    iframe name=aaa

    那么访问里面的方法 就是    aaa.method()
    就算首页不能显示30天内排行榜 回答总数也快接近top10了 5555
    努力奋斗 重回首页排行榜!!! 55555
    有原则的回答问题: 不懂的不去装懂,别人回答得很完整的,没有需要补充的不去蹭分。
    2009年3月9日 4:56
  • 没理解楼上的意思。
    HtmlPage.Window.Invoke("InitEvent");InitEvent是iframe子页面里面的js方法,出错。

     HtmlElement _iframe = HtmlPage.Document.GetElementById("div_iframe_0");//div_iframe_0 是iframe的ID
      _iframe.Invoke("InitEvent");
    出错。

    接下来就不知道怎么办了。


    打火机

    2009年3月9日 5:11
  •  HtmlPage.Window.Invoke("InitEvent");这样不可以,你需要建一个JS中转一下,很简单,A页面的IFrame名为B,你就在A建一个gotoB的js function,代码大概为
    function gotoB(){
        //B是的名称,xxxx是函数名
        document.all.B.xxxx();
    }

    然后在A页面的Silverlight里调用这个gotoB函数即可。

    My blog: http://blog.csdn.net/dotfun http://dotfun.cnblogs.com

    My contact: QQ:372900288 E-mail:372900288@qq.com msn:sellnet007@hotmail.com

    2009年3月9日 5:21
  •  您回复中讲述的js代码,应该是加在sl所在的页面里的。但因为这个页面不是我自己创建的,不允许我在这页面添加任何代码
    打火机
    2009年3月9日 5:30
  • 可以把JS写在后台代码里,动态创建JS,然后运行就可以,只要是IframeName.Yourfunction()这种格式调用就没问题,但JS不能直接跨域调用~

    My blog: http://blog.csdn.net/dotfun http://dotfun.cnblogs.com

    My contact: QQ:372900288 E-mail:372900288@qq.com msn:sellnet007@hotmail.com

    • 已标记为答案 打火机 2009年3月9日 7:07
    2009年3月9日 5:41