0

画像のアップロードオプションを指定したCKEditorwysiwygエディターを使用しています。'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 に答える