2010-05-24 105 views
2

folling this討論和this鏈接,我瞭解到,通過將document.domain = 'mydomain.com';添加到tinyMCE初始化文件和tiny_mce_popup.js我可以克服跨域問題。Crossdomain TinyMCE

我沒有測試它一個適當的生產服務器上,但在我的開發環境的基本域爲localhost:8000,我的靜態文件(也TinyMCE的那些)是在localhost:88。

添加document.domain = 'localhost:8000';document.domain = 'localhost:88';,因爲我碰到下面的錯誤不能解決問題:

Uncaught Error: SECURITY_ERR: DOM Exception 18 

任何幫助嗎?

感謝

回答

5

的document.domain的,如果你使用的子域,不能完全不同的域(不同端口數不同域)的設置纔有效。所以,你可以有server1.mydomain.com和server2.mydomain.com,在這種情況下,你設置的域名mydomain.com同時在主頁和tiny_mce_popup.js。但是,您不能使用mydomain.com和otherdomain.com。有關這些限制的詳細信息,請參閱https://developer.mozilla.org/en/DOM/document.domainhttp://msdn.microsoft.com/en-us/library/cc196989(VS.85).aspx

我相信,有計劃地調整TinyMCE的工作,以便它可以有一個CDN版本,這是從任何域使用的方式,但目前不存在。

問候,

阿德里安·薩頓
http://tinymce.ephox.com

+1

http和https怎麼樣?例如,基部結構域是http://domain.com和tinyMCE的駐留在https://sub.domain.com? – yek 2011-06-01 11:02:21

+0

我期望失敗也是如此。從HTTP到HTTPS的更改也會更改端口,因此它的問題與原始問題相同。即使它在某種程度上相同的端口,協議更改會破壞它,以及 - 這是*可以使用,沒有其他的變化都只有*子域。 – ajsutton 2012-04-12 21:47:48