django - 如何让 TinyMCE 弹出窗口在 Django 上工作,其中 "static"和 "dynamic"页面来自不同的域?

标签 django tinymce

我在使用 TinyMCE 和 Django 时遇到问题。我正在使用 TinyMCE 模块来支持基本的表单字段。

当 TinyMCE 想要使用弹出窗口时,问题就来了:

在我的开发环境中,静态页面是从

static.wdw.ms.local:8888

和 Django 页面由 wdw.ms.local:8000 提供

(在生产中, .local:XXXX 被删除)

如果我单击 html 中的编辑按钮(或拼写检查,或任何有弹出窗口的内容),弹出窗口将失败。 Firebug 告诉我“tinymce”。为空(tinymce 对象)

我编辑了 tiny_mce_popup.js 并尝试了这些设置

document.domain = 'wdw.ms.local:8000';
以及“wdw.ms.local”、“static.wdw.ms.local”、“static.wdw.ms:8888”

他们都给出了这个错误(如在 Firebug 中所见):

Permission denied for <http://wdw.ms.local:8000> to get property Window.tinymce from     <http://wdw.ms.local:8000>.
[Break on this error] var tinymce=null,tinyMCEPopup,tinyMCE;ti...nyMCEPopup.init();    
tinyMCEPopup._wait();\ntiny_mce_popup.js (line 5)

关于如何让它发挥作用的任何想法?

(以前在这里提出过类似的问题,但所有解决方案都涉及更改该 document.domain 设置,这对我不起作用。如果您查看这些类似问题的评论,您会注意到许多其他人已经无法让它工作)

最佳答案

将其添加到页面上的 tinyMCE.init 调用之前:

document.domain = 'mydomain.com';
tinyMCE.init({
   ...
});

然后将 tiny_mce_popup.js 中的值更改为:
document.domain = 'mydomain.com'; 

注意:此解决方案适用于我的 Django 网站。

引用:http://wiki.moxiecode.com/index.php/TinyMCE:Cross_domain_loading

关于django - 如何让 TinyMCE 弹出窗口在 Django 上工作,其中 "static"和 "dynamic"页面来自不同的域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1342564/

相关文章:

django - Python/Django : TypeError : __str__ returned non-string (type UUID)

django - 错误: maximum recursion depth exceeded

javascript - tinyMCE ssl/https 文件未加载

javascript - 覆盖 Tinymce 中的快捷方式分配

django 覆盖模型 save() 方法

Django、haystack、 Elasticsearch 和一对多关系

jquery - 如果该字段处于非事件状态,如何隐藏 TinyMCE 控制栏?

javascript - Orchard 编辑器、图像选择器不起作用

python - 在开发与生产之间分离 Django 安装的应用程序

jquery - Tinymce 拼写检查实现