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



我正在定制一个Refinery CMS实例并创建自定义前端页面。我试图遵循Wymeditor的README,但似乎嵌入在RefineryCMS的Wymeditor已被修改,这是不工作。

https://github.com/wymeditor/wymeditor

我试着用编辑器查看Refinery管理页面的源代码,只是复制了Javascript和CSS源标签,包括到我的前端自定义页面中,并将类添加到文本区域,并调用wymeditor()函数,但它给出了一个Javascript错误。

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>
...

产生控制台错误

Uncaught TypeError: Cannot read property 'msie' of undefined boot_wym.js?body=1:117

尝试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;
  }
})();

我在文本区后面添加了这个。我无法让它与Refinery附带的JQuery一起工作(即使是JQuery -migrate),我也无法让它与Refinery附带的Wymeditor一起工作。我不相信这是理想的解决方案,但这是我目前能想到的。我敢肯定它会破坏其他东西,因为控制台现在会给出"对象没有方法轮询"这样的错误。我不想把旧的JQuery在application.jsapplication.haml布局,所以希望这将局部破损。

  = 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'));
  });

最新更新