我在使用 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/