0

我正在使用带有上传图像选项的 CKEditor 所见即所得编辑器。我通过设置“filebrowserUploadUrl”设置属性来设置 JS。我写了一些代码来处理上传,这一切都很好。当我尝试将响应发送回 CKEditor 上传 iframe 时,问题就出现了。我只是想用这行 JS 发回一个 JS 脚本标签:

window.parent.CKEDITOR.tools.callFunction( " + CKEditorFuncNum + ", '" + relativePath + "' );

这应该做的是填充 URL 字段并在图像弹出窗口的图像信息选项卡上显示图像的预览。这不起作用,如果我在“上传”选项卡上查看 iframe 的源代码,则 JS 脚本标记被编码,它看起来像这样:

<script type='text/javascript'> window.parent.CKEDITOR.tools.callFunction( 2, '/uploads/ducati-916-2.jpg' ); </script>

我正在使用:

Response.Write(...) 

我也试过

Response.BinaryWrite(...)

写出js标签字符串。

我不认为这是 Response.Write() 的正常行为,但它可能在其他地方被编码。

任何线索为什么这个字符串被编码?任何帮助在这里表示赞赏。

谢谢。伊恩

4

2 回答 2

1

我认为最好简单地制作CKEditorFuncNumrelativePath受保护的成员变量并在客户端这样写:

<script type="text/javascript">
  window.parent.CKEDITOR.tools.callFunction(
            <%= CKEditorFuncNum %>, '<%= relativePath  %>');
</script>

希望能帮助到你!

于 2012-03-15T13:51:35.310 回答
0

将 html 放在某种类型的视图中会更好,然后将 2 个参数从控制器传递给视图,就像上面的答案描述的那样。就我而言,由于我正在构建一个 JSON api 并且没有视图,因此视图模型只是将 json 编码并作为输出发送,我必须设置 Response.ContentType = "application/json";

于 2012-10-03T16:11:36.477 回答