我知道有两篇关于此的帖子,但有一篇不是我想要的,另一篇是one,但它已经7岁了。也许现在有已知的方法。
我使用Summernote.js编辑器并在内部,只要您想要将文本向左,中间或右侧对齐,它就会执行document.execCommand('command', false, value)
。
问题是对于Firefox和IE / Edge,这与WebKit的工作方式不同。每个浏览器都以自己的方式运行。
Chrome使用"text-align: direction"
内嵌样式,Firefox和IE / Edge添加了一个名为"align='direction'"
的属性。
经过一番调查,我发现你可以使用命令" styleWithCSS"转换那些被弃用的人?属性为内联样式属性。这是完美的,但它只适用于Firefox。
document.execCommand("styleWithCSS", 0, true);
看起来这仍然是微软浏览器中未报告的内容,无论您将哪些值作为参数传递,在上面的控制台中都会返回false。
有没有已知的替代品?
答案 0 :(得分:0)
所以我设法通过在IE和Edge中遍历编辑器中的元素并将align属性更改为与text-align内联的样式来使其工作。 这是方法的外观:
var styleWithCSSIE = this.styleWithCSSIE = function() {
if(/MSIE 10/i.test(navigator.userAgent) || /Edge\/\d./i.test(navigator.userAgent)) {
var items = $(".note-editable *");
$.each(items, function(i, element) {
var $elem = $(element);
var align = $elem.attr('align') || undefined;
if(!align) {
return;
}
$elem.css('text-align', align);
$elem.removeAttr('align');
});
}
};
在summernote.js执行document.execCommand(sCmd, false, value)