Silverlight中嵌入和使用html 富文本编辑器

 

      首先我要抱怨一下,silverlight 4在windowless模式下无法使用中文输入。所以对于下面所说的方法存在着缺陷。

 

一、嵌入html页面

 

       使用的工具为一个htmlhost的免费插件,使用它可以在silverlight中嵌入html页面,网址 

  http://www.divelements.com/silverlight/tools.aspx

      使用方法如下所示,其中 HtmlEditor.htm 页面中包含了一个js 的ckEditor 以及读取编辑器的一些js函数。

注意silverlight 需设置为 windowless 模式下。原理应该是直接在网页上添加一个html frame 元素然后将其

覆盖在silverlight之上。

 

 

 

二、调用嵌入页面的js代码 

 

     现在的问题是如何调用嵌入页面的js代码,由于其不属于silverlight同一个页面,所以无法直接通过silverlight

的技术去调用。网上查了很多资料都没解决方法,而且实际上我是刚转行网站,html 和 js神马的对于我来说真是浮云。

还好有威风的项目经理帮我解决这个问题。

 

     解决方法是在silverlight的页面上写一个代理函数,然后在silverlight中就可以调用该代理函数来读取或者操作

嵌入页面中的编辑器了

 

 

   解释下

    getEditorFrame函数,该函数返回嵌入的html iframe窗口。

   调用某个iframe窗口的js代码可使用以下方法,兼容IE、firefox

window.parent.document.getElementsByTagName("iframe")[x].contentWindow.getAllImgSrc();

x:可为0,1,2,3..   

    frame.contentWindow.getAllImgSrc函数 为该frame窗口页面HtmlEditor.htm其中的js函数

 

 

    三、总结

 

        silverlight 4 现在很少有好用的htmleditor控件,而使用以上方法由于需设置windowless模式导致插件上所有

的控件都无法输入中文。对于silverlight 整站应用来说,是悲剧的。

         所以最后我们弃用了这个方法直接弹出另一个不是纯silverlight的页面进行编辑,然后通过SL消息机制与主页面交互。

 

         应该有另一个方法就是把编辑器单独写成一个silverlight插件,然后在SL页面中叠加上这个插件,但似乎布局还有滚动控制

什么的很难控制,谁能给个思路?

          不能输入中文这个SL4 还是不怎么给力,希望SL5给力点。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值