When ToolbarMode is set to "RibbonBarFloating" the RadEditor height becomes greater than the control height. As a result the wrapper overlaps with the elements box below.
As a temporary workaround for ToolbarMode="RibbonBarFloating" only, the following JavaScript code need to be applied on the page:
<script type="text/javascript">
(function () {
var getToolbarHeight = Telerik.Web.UI.Editor.UI.DimensionsCalculator.prototype._getToolbarHeight;
Telerik.Web.UI.Editor.UI.DimensionsCalculator.prototype._getToolbarHeight = function (container) {
var $container = $telerik.$(container);
$container.append($container.find("div"));
return getToolbarHeight.call(this, container);
}
})();
</script>
Using code behind or localization file to change the text of the Design, Preview or HTML buttons break the functionality that enables the end-user to change the modes.
The following snippet can be used as a temporary workaround.
<style type="text/css">
/* Fixes the visual glitch */
.reModes a {
width:auto !important;
}
</style>
<telerik:RadEditor runat="server" ID="RadEditor1" RenderMode="Lightweight" OnClientLoad="OnClientLoad">
</telerik:RadEditor>
<script type="text/javascript">
function OnClientLoad(editor, args) {
var $ = $telerik.$;
if (editor.get_renderMode() != Telerik.Web.UI.RenderMode.Lite) return;
var designAttr = editor.get_localization()["RadEditorDesignMode".toLowerCase()];
var htmlAttr = editor.get_localization()["RadEditorHtmlMode".toLowerCase()];
var previewAttr = editor.get_localization()["RadEditorPreviewMode".toLowerCase()];
$("a[title=\"" + designAttr + "\"]").attr("title", "Design");
$("a[title=\"" + htmlAttr + "\"]").attr("title", "HTML");
$("a[title=\"" + previewAttr + "\"]").attr("title", "Preview");
}
</script>
When you use the ApplyClass command to set CSS classes to selections in a paragraph element in the content of RadEditor, the CSS class is applied to the whole paragraph.
When a new line is entered (no matter which mode) the new lines does not break the text into separate words.
To workaround this problem you can use the following get_text() method with the additional replacement logic:
<telerik:RadEditor runat="server" ID="RadEditor1">
</telerik:RadEditor>
<script type="text/javascript">
Telerik.Web.UI.RadEditor.prototype.get_text = function()
{
var $T = Telerik.Web.UI;
var modeEnum = $T.EditModes;
var oContent = "";
if (this.get_mode() != modeEnum.Html)
{
var oArea = this.get_contentArea();
if (oArea)
{
if (oArea.innerText) {
oContent = oArea.innerText;
}
else {
oContent = oArea.innerHTML;
oContent = oContent.replace(/<br>/ig, "\r\n");
oContent = oContent.replace(/<\/p>/gi, "\r\n");
oContent = oContent.replace(/ /gi, "\s");
if (this.get_newLineMode() === $T.EditorNewLineModes.Div) {
oContent = oContent.replace(/<\/div>/gi, "\r\n");
}
oContent = oContent.replace(/<\/?[^>]*>/ig, "");
oContent = oContent.replace(/<!--(.|\s)*?-->/gi, "");
}
}
}
else
{
oContent = this._getTextArea().value.replace(/<\/?[^>]*>/ig, "");
}
return oContent;
};
</script>
Due to the LightWeight rendering of the Window the Editor appears broken under IE<10. This is due to the rendering difference when the Window is set to Lightweight mode. A possible workaround is using a simple ASPX page with RadEditor inside and set it to the RadWindow's NavigateUrl property.
Due to that users cannot easily change the image and preserve the link.
http://demos.telerik.com/aspnet-ajax/editor/examples/overview/defaultcs.aspx 1. Delete the content and create a list 2. Press Enter several times Expected: The list is interrputed Actual: The list cannot be interrupted
Spell Checking throws JS error on a subsequent opening of the spell checking dialog. You can resolve this by forcing the IE11 browser to IE10 compatibility mode. <meta http-equiv="X-UA-Compatible" content="IE=10" />
This problem causes incorrect behavior and inconvenience among users because when the browser crashes all content is lost.
Just opening a page with RadEditor in such device the following errors are thrown:
Error while executing filter FixUIBoldItalic - TypeError: Unable to get property 'getElementsByTagName of undefined or null reference
and
Error while executing filter ConvertFontToSpanFilter - TypeError: Unable to get property 'ownerDocument' of undefined or null reference
For the time being you can disable the filters to workaround the issue:
protected void Page_Load(object sender, EventArgs e)
{
RadEditor1.DisableFilter(Telerik.Web.UI.EditorFilters.FixUlBoldItalic);
RadEditor1.DisableFilter(Telerik.Web.UI.EditorFilters.ConvertFontToSpan);
}
Hello Team; The following request, is a feature that everyone needs all the time. It is eMail mailmerge control. Here how it works: a) Just like a mailmege that has been around since the 80's, A user can use the editor to create the body/content of an email more like a template that will have tags/placeholders that at run time live data will replace them. This control can use the RADEditor to create such template. This template should be saved in order for the email Merge control to use. b) The second part is the Mailmerge control - W should be able to attach it to a collection of objects (that these objects could have come from database), and each object could provide the FROM, TO, SUBJECT and for MESSAGE, it could use the template that user had created and saved. The Mailmerge will create new email for each object replacing place holders and sends email to SMTP server. If you need more info, please contact me and I'll provide more info. Please everyone, vote for this control/feature. Thanks!
Due to this bug users cannot create HTML5 compliant pages with the RadEditor control.
To workaround the problem you can incorporate the JS method provided in this example:
<telerik:RadEditor runat="server" ID="RadEditor1">
<Content>
<nav>
<ul><li>list item1
</li></ul>
</nav>
</Content>
</telerik:RadEditor>
<script type="text/javascript">
Telerik.Web.UI.Editor.Utils.isBlockElement = function (element) {
return this.checkForElement(element, /^(?:body|p|div|h[1-6]|form|fieldset|table|thead|tbody|tr|th|td|ul|ol|li|dl|blockquote|address|hr|nav)$/i);
};
</script>
i am looking for an example how to handle an uploaded screenshot with the radeditor. it is a great feature, one reason why i took telerik, but i can't find the documentation for that. do you have a link where i can look it up ?
The current content filters of the RadEditor control supports XHTML content, in which attributes should have a proper value. Although with HTML5 the browsers started supporting boolean attributes that could be used without any type of value. Such attributes are being stripped or replaced, which at some point leads to an incorrect behavior if the user's HTML code. It would be useful if developers could have the ability to modify this behavior and generate correct HTML5 code. A possible usage of such attributes is when they are used as XHTML5 valid attributes, with the proper value (e.g. disabled="disabled").
Such feature will be a convenient availability for developers to create document templates and easy add HTML specified headers and footers
Commonly, plain words are listed in a an MS Word document and full stops are added. Pasting such a list in the editor will cause them to appear with upper-alpha type list and no text in the list item.
The following code snippet further modifies the convert() method of the ConvertWordLists logic to encode and decode such full stops. You can use it as a temporary workaround to resolve this issue.
<telerik:RadEditor runat="server" ID="RadEditor1"></telerik:RadEditor>
<script type="text/javascript">
var originalConvert = Telerik.Web.UI.Editor.WordListConverter.prototype.convert;
Telerik.Web.UI.Editor.WordListConverter.prototype.convert = function (htmlText) {
// Encode the full stops only if they are after words with 2 or more characters.
htmlText = htmlText.replace(/(\w{2,})[.]/gim, "$1_TELERIK_DOT_");
htmlText = originalConvert.call(this, htmlText);
// Decode the full stops.
htmlText = htmlText.replace(/_TELERIK_DOT_/gm, ".");
return htmlText;
}
</script>
Make sure that this script block is placed right after the RadEditor declaration, so that the WordListConverter is properly created.