Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript TinyMCE-设置编辑器内容_Javascript_Jquery_Tinymce - Fatal编程技术网

Javascript TinyMCE-设置编辑器内容

Javascript TinyMCE-设置编辑器内容,javascript,jquery,tinymce,Javascript,Jquery,Tinymce,我正在为我的TinyMCE编辑器构建一个自动保存功能 使用jQuery,我已将编辑器的内容保存到数据库中,现在希望将内容加载回编辑器中。我对来自DB的HTML中的引号(“)有问题 我的代码: var content = "<%=content%>" // Classic ASP variable containing HTML from DB tinyMCE.activeEditor.setContent(content); var content=”“//包含来自DB的HTML的

我正在为我的TinyMCE编辑器构建一个自动保存功能

使用jQuery,我已将编辑器的内容保存到数据库中,现在希望将内容加载回编辑器中。我对来自DB的HTML中的引号(“)有问题

我的代码:

var content = "<%=content%>" // Classic ASP variable containing HTML from DB
tinyMCE.activeEditor.setContent(content);
var content=”“//包含来自DB的HTML的经典ASP变量
tinyMCE.activeEditor.setContent(content);
示例输出:

var content = "<p>Oh yes, from Churchill, the <em><span style="text-decoration: underline;"><strong>dog</strong></span></em>.</p>"
tinyMCE.activeEditor.setContent(content);
var content=“哦,是的,来自丘吉尔,狗
tinyMCE.activeEditor.setContent(content);
在变量“content”中,样式标记中有双引号,这会导致JS错误。我如何解决这个问题?我是用单引号替换引号还是使用转义或编码函数?请提供帮助。

如果只是HTML(没有javascript),用单引号替换双引号可能是最快的。

str=”文本“字符串”;
str = "<span style="color:black">Text "string"</span>";
tag_pattern = /\<.*\>/m;
matches = str.match(tag_pattern);
//copy matches array and replace quotes, then use matches array to replace into original string
标记模式=/\/m; 匹配=str.match(标记模式); //复制matches数组并替换引号,然后使用matches数组替换为原始字符串
除了Beaverusion的第一个答案之外,我还要加上一行

str = "<span style="color:black">Text "string"</span>";
str=“Text”string”“;
应该是这样的

str = '<span style="color:black">Text "string"</span>';
str='Text“string';

否则字符串无效并引发错误。

VBScript具有Javascript等转义功能(如果在经典asp中使用JScript作为默认语言,也可以使用此功能)
退房并购买。
以下是将服务器端变量附加到客户端js块的有效方法。

// escape on server-side, unescape with js
var content = unescape("<%= escape(content) %>");
tinyMCE.activeEditor.setContent(content);

谢谢Beaverus。这是我的问题,如果我的用户在他们撰写的编辑器文章中使用了双引号,然后我用单引号替换它们,我的用户会觉得有点奇怪。这整件事让我困惑:)
var content = unescape("%3Cp%3EOh%20yes%2C%20from%20Churchill%2C%20the%20%3Cem%3E%3Cspan%20style%3D%22text-decoration%3A%20underline%3B%22%3E%3Cstrong%3Edog%3C/strong%3E%3C/span%3E%3C/em%3E.%3C/p%3E");
tinyMCE.activeEditor.setContent(content);