如何将CKEditor与Chrome应用程序集成

如何将CKEditor与Chrome应用程序集成,ckeditor,Ckeditor,我正在尝试将CKEditor与Chrome应用程序(软件包应用程序)集成。但它不起作用,以前有人试过吗 我试图创建一个示例应用程序,有两个按钮“创建编辑器”和“删除编辑器”,“创建编辑器”按钮应该打开一个编辑器,用户可以在其中使用ckEditor创建一些内容(html/文本)。单击“删除编辑器”,编辑器应关闭,内容应显示在同一页面上“编辑的内容”文本下方 我使用angularJS编写脚本 下面是index.html的代码片段 <div lang="en" ng-app="demoApp"

我正在尝试将CKEditor与Chrome应用程序(软件包应用程序)集成。但它不起作用,以前有人试过吗

我试图创建一个示例应用程序,有两个按钮“创建编辑器”和“删除编辑器”,“创建编辑器”按钮应该打开一个编辑器,用户可以在其中使用ckEditor创建一些内容(html/文本)。单击“删除编辑器”,编辑器应关闭,内容应显示在同一页面上“编辑的内容”文本下方

我使用angularJS编写脚本

下面是index.html的代码片段

 <div lang="en" ng-app="demoApp" ng-controller="MainCtrl" >
     <p>Click the buttons to create and remove a CKEditor instance.</p>
    <p>
        <input ng-click="createEditor()" type="button" value="Create Editor">
        <input ng-click="removeEditor()" type="button" value="Remove Editor">
    </p>
    <!-- This div will hold the editor. -->
    <div id="editor">
    </div>
    <div id="contents" style="display: none">
        <p>
            Edited Contents:
        </p>
        <!-- This div will be used to display the editor contents. -->
        <div id="editorcontents">
        </div>
    </div>
 </div>

请提供帮助。

问题可能在于无法在此环境中访问某些API方法。通过谷歌搜索,我发现:

新打包的应用程序,特别是那些具有manifest_version:2的应用程序,无法直接使用document.write或在脚本元素之间加载脚本

您可以使用启用了所有这些功能的沙箱,所以请查看


CKEditor需要访问
文档。在中写入
,这是经典编辑器使用的。作为最简单的解决方法,您可以尝试改用,看看这是否有帮助(如果您需要具有固定UI的内联编辑器,请检查第二个示例)。

您究竟尝试了哪些方法,但没有成功?请发布您的配置/代码。添加了更多内容/代码事实上,我们正在寻找无需沙箱即可运行的解决方案,您的团队是否可以在这方面帮助我们?请检查提及的内联编辑器:在示例底部检查“获取示例源代码”->“由代码启用的内联编辑”内联编辑不适用于chrome打包应用程序,控制台上获取错误
Uncaught EvalError:拒绝将字符串作为JavaScript求值,因为在以下内容安全策略指令中,“unsafe eval”不是允许的脚本源:“default src'self'chrome-ckeditor.js:289
var demoApp = angular.module('demoApp', []);

var MainCtrl = function($scope) {
        var editor, html = '';

         $scope.createEditor =function() {
            if ( editor )
                return;

            // Create a new editor inside the <div id="editor">, setting its value to html
            var config = {};
             editor = CKEDITOR.appendTo( 'editor', config, html );
          }

        $scope.removeEditor = function() {
            if ( !editor )
                return;
            document.getElementById( 'editorcontents' ).innerHTML = html = editor.getData();
            document.getElementById( 'contents' ).style.display = '';
            // Destroy the editor.
            editor.destroy();
            editor = null;
        }

   // $scope.Wrapper = Serv;
}

demoApp.controller('MainCtrl',MainCtrl);
document.open() is not available in packaged apps.extensions::platformApp:17
Uncaught Error: document.write() is not available in packaged apps.extensions::platformApp:31