如何为Refinery CMS的前端页面启用WYMEditor?

时间:2014-03-23 23:12:20

标签: javascript ruby-on-rails refinerycms wymeditor

我正在自定义Refinery CMS实例并创建自定义前端页面。我试图遵循Wymeditor的自述文件,但似乎嵌入在RefineryCMS中的Wymeditor已被修改,但这不起作用。

https://github.com/wymeditor/wymeditor

我尝试使用编辑器查看Refinery管理页面的来源,只是复制了Javascript和CSS源标记以包含到我的前端自定义页面中,并将该类添加到文本区域,并调用{{ 1}}函数,但它给出了一个Javascript错误。

wymeditor()

产生控制台错误

HTML source...
<link href="/assets/wymeditor/skins/refinery/skin.css?body=1" media="screen" rel="stylesheet" type="text/css" />
<script src="/assets/wymeditor/setup.js?body=1" type="text/javascript"></script>
<script src="/assets/wymeditor/functions.js?body=1" type="text/javascript"></script>
...

2 个答案:

答案 0 :(得分:0)

尝试使用早于1.9的jquery版本。 .browser方法已在1.9

中删除

你也可以尝试这个js的猴子补丁

jQuery.browser = {};
  (function () {
    jQuery.browser.msie = false;
    jQuery.browser.version = 0;
    if (navigator.userAgent.match(/MSIE ([0-9]+)\./)) {
      jQuery.browser.msie = true;
      jQuery.browser.version = RegExp.$1;
  }
})();

答案 1 :(得分:0)

我在textarea之后立即添加了这个。我无法使用Refinery附带的JQuery(即使使用jquery-migrate),而且我也无法使用Refinery附带的Wymeditor。我不相信这是一个理想的解决方案,但现在我只能想出来。我确定它会打破别的东西,因为控制台现在给出了'对象没有方法轮播'之类的错误。我不想在application.jsapplication.haml布局中放置旧的JQuery,所以希望这将使本地化破坏。愿意接受更多想法......

  = f.text_area  :body, rows: 15, cols: 100, class: 'wymeditor'
<script type="text/javascript" src="/assets/jquery/jquery.js"></script>
<script type="text/javascript" src="/assets/wymeditor/jquery.wymeditor.js"></script> 
:javascript
  jQuery(function() {
    $('.wymeditor').wymeditor();
    console.log("initialized .wymeditor: "+$('.wymeditor'));
  });