gpt4 book ai didi

jQuery 插件 : apply mCustomScrollbar to SCEditor

转载 作者:行者123 更新时间:2023-12-03 22:42:26 27 4
gpt4 key购买 nike

如何申请mCustomScrollbarSCEditor

This到目前为止我已经尝试过:

HTML

<button id="btnScrollBar">Apply scrollbar</button>
<textarea id="editor"></textarea>

JS

$("#editor").sceditor({
plugins: "xhtml",
width: '100%',
style: "http://www.sceditor.com/minified/jquery.sceditor.default.min.css"
});

$("#btnScrollBar").click(function()
{
console.log("click");
$(".sceditor-container iframe").contents().find("body").mCustomScrollbar();
});

我还尝试了另一种方法,遵循此 example ,但导致主体被删除(参见 this question )

最佳答案

请查看this jsfiddle 方法...

var $iframe = $(".sceditor-container iframe");
var $iHtml = $iframe.contents().find('html');
var $iHead = $iframe.contents().find('head');
var $iBody = $iframe.contents().find('body');
var height = $iframe.height();
var head = $('<div />').append($iHead.clone()).html();
var body = $('<div />').append($iBody.clone()).html();

$(".sceditor-container iframe")
.wrap('<div class="iframe-container" />')
.parent()
.height(height);

$('.iframe-container').mCustomScrollbar({ axis: 'y' });

$iframe.attr('scrolling', 'no');
$iframe.height(1000);
$iframe.contents().find('html').html(body);
$iframe.contents().find('head').html(head);

出于安全原因,所有浏览器都对 iframe 内容操作实现一些限制。所以技巧基本上是克隆编辑器 iframe 的 head 和 body 元素,然后用 div 包裹 iframe,然后放回这些克隆的元素。

需要注意的三件事,在不修改 SCEditor 库的情况下,您将不得不做一些魔法来保持编辑器的调整大小功能,因为当您调整它的大小时,一些 css 将丢失,并且滚动条将不再工作。另一件事是全屏功能,同样的问题是 iframe 和容器上的样式困惑。最后你可以看到,你需要在 iframe 上隐式设置一个高度,这也是一个最小高度......

希望这个小小的贡献可以帮助你..

致敬...

阿德里阿根廷布宜诺斯艾利斯。

关于jQuery 插件 : apply mCustomScrollbar to SCEditor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32142462/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com