有没有办法增加 webKit 中 contentEditable div 的字体大小?

发布于 2024-12-18 21:04:35 字数 446 浏览 0 评论 0原文

contentEditable 仍然存在许多浏览器不兼容问题,但我想我应该尝试一下,并在我正在开发的 Web 应用程序中大量使用它。在使用它时,我发现了一堆可以通过 execCommand 调用的选项。 contentEditable for Firefox 允许您调用

document.execCommand("increasefontsize",bool,value); 

document.execCommand("decreasefontsize",bool,value); 

以一点更改字体大小。大多数其他主要浏览器,尤其是 WebKit 不支持此功能,您必须设置特定的字体大小。有没有办法绕过这个/hack 来在 WebKit 中增加字体大小?或者有没有办法在选择时获取当前文本的大小?

任何帮助将不胜感激。

contentEditable still has many many browser incompatibilities, but I figured I would give it a shot and am using it a big in a web application I am developing. While working with it, I found a bunch of options that can be called via execCommand. contentEditable for Firefox lets you call

document.execCommand("increasefontsize",bool,value); 

and

document.execCommand("decreasefontsize",bool,value); 

to change the font size by one point. Most other major browsers, particularly WebKit do not support this and instead you have to set a specific font size. Is there a way to get around this / hack to have increasefontsize work in WebKit? Or is there a way to upon selection, get the size of the current text?

Any help would be appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

请止步禁区 2024-12-25 21:04:35

jwysiwyg 似乎使用以下代码:

if ($.browser.mozilla || $.browser.opera) {
    this.editorDoc.execCommand('increaseFontSize', false, null);
} else if ($.browser.safari) {
    var newNode = this.editorDoc.createElement('big');
    this.getInternalRange().surroundContents(newNode);
} else {
    console.error("Internet Explorer?");
}

jHtmlArea 似乎使用以下代码:

if ($.browser.msie) {
    this.ec("fontSize", false, this.qc("fontSize") + 1)
} else if ($.browser.safari) {
    this.getRange().surroundContents($(this.iframe[0].contentWindow.document.createElement("span")).css("font-size", "larger")[0])
} else {
    this.ec("increaseFontSize", false, "big")
}

抱歉,但我找不到上述任一内容的明确链接。

jwysiwyg seems to use the following code:

if ($.browser.mozilla || $.browser.opera) {
    this.editorDoc.execCommand('increaseFontSize', false, null);
} else if ($.browser.safari) {
    var newNode = this.editorDoc.createElement('big');
    this.getInternalRange().surroundContents(newNode);
} else {
    console.error("Internet Explorer?");
}

jHtmlArea seems to use the following code:

if ($.browser.msie) {
    this.ec("fontSize", false, this.qc("fontSize") + 1)
} else if ($.browser.safari) {
    this.getRange().surroundContents($(this.iframe[0].contentWindow.document.createElement("span")).css("font-size", "larger")[0])
} else {
    this.ec("increaseFontSize", false, "big")
}

Sorry but I can't find definitive links for either of the above.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文