我正在定制一个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.js
或application.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'));
});