0

我正在尝试通过 Android 上的 WebView 在我的应用程序中使用 ckeditor。

在 iOS 上,ckeditor 完美显示,但在 android 上出现此错误:

I/TiWebChromeClient.console: (main) [49519,49519] Uncaught TypeError: Cannot set property 'dir' of undefined (4466:file:///android_asset/Resources/lib/ckeditor/ckeditor.js)

在 ckeditor 文档中出现了这个,但它无论如何都不起作用。

我在想它是否可能是 Titanium 的错误,因为在 iOS 上一切正常。

这是我的html代码:

<!DOCTYPE html>

<html>
<head>
    <meta charset="utf-8">
    <script>
        var CKEDITOR_BASEPATH = '/lib/ckeditor/';
        window.CKEDITOR_BASEPATH='/lib/ckeditor/'; 
    </script>
    <script src="../ckeditor.js"></script>
    <script src="js/sample.js"></script>
    <style>
        body{
            margin: 0px;
        }
    </style>
</head>

<body id="main">

    <div class="adjoined-bottom">
        <div class="grid-container">
            <div class="grid-width-100">
                <div id="editor">
                    <h1>Hello world!</h1>
                    <p>I'm an instance of <a href="http://ckeditor.com">CKEditor</a>.</p>
                </div>
            </div>
        </div>
    </div>

    <script>
        initSample();
    </script>
</body>
</html>
4

1 回答 1

0

Titanium 支持 CKEDITOR。

ckeditor.js 调用 config.js、styles.js 等等。在 html 文件中,提供那些缺少的依赖文件的路径。

1]包含ckeditor的依赖文件

    <script src="lib/javascript/ckeditor/ckeditor.js"></script>
    <script src="lib/javascript/ckeditor/config.js"></script>
    <script src="lib/javascript/ckeditor/styles.js"></script>
    <script src="lib/javascript/ckeditor/lang/en-gb.js"></script>
    <script src="lib/javascript/ckeditor/plugins/panelbutton/plugin.js"></script>
    <script src="lib/javascript/ckeditor/plugins/colorbutton/plugin.js"></script>
    <script src="lib/javascript/ckeditor/plugins/colorbutton/lang/en.js"></script>
    <script src="lib/javascript/ckeditor/plugins/colorbutton/lang/en-gb.js"></script>

2]对于移动应用程序,必须设置 ckeditor isCompatible。

<script type="text/javascript">
    CKEDITOR.env.isCompatible = true;
</script>

移动应用程序不需要 CKEDITOR.basepath 设置。

于 2017-07-11T10:34:01.170 回答