2013-10-02 63 views
1

交叉後從被拒絕錯誤:http://www.kendoui.com/forums/kendo-ui-web/editor/access-denied-error-when-document-domain-is-set-.aspx訪問時document.domain的設置

我在一個應用程序,它需要設置document.domain的我的工作。這是不可談判的。當document.domain被設置,我使用本地主機或FQDM,然後我從Kendo得到一個「訪問被拒絕」的錯誤。它與創建或訪問編輯器的iframe有關。

295  iframe = $("<iframe />", { src: 'javascript:""', frameBorder: "0" }) 
296      .css("display", "") 
297      .addClass("k-content") 
298      .insertBefore(textarea)[0]; 
299  
300  wnd = iframe.contentWindow || iframe; 
301  doc = wnd.document || iframe.contentDocument; 

您可以通過採取編輯演示(:實例\網絡\編輯\ index.html在這裏找到在劍道下載)重現此問題:在kendo.editor.js的301線是出現該錯誤並在頭部末尾添加以下腳本標記:

<script>document.domain=document.domain;</script> 

編輯器初始化後設置document.domain顯然可行,但可能不會總是一個選項。 如何在document.domain設置後讓編輯器工作?有沒有辦法「取消」document.domain?顯然,我寧願不編輯劍道,但如果他們可以添加修復,那麼我會爲它打開一個錯誤。

我已經嘗試設置iframe的document.domain通過其源屬性中的js到其父項的document.domain,但沒有幫助。

這發生在IE 8 & 9.我使用的劍道版本是2013.2.716。讓我知道你是否需要任何其他信息。

回答

3

唯一直接的解決方案是從contentEditable元素初始化編輯器,如下所示:http://demos.kendoui.com/web/editor/inline-editing.html。然後編輯器不會創建一個iframe。

+0

我使用.Net MVC html helper設置編輯器。你可以設置一個內聯編輯器,或者我需要移動到JS來配置它?目前我沒有看到與助手做到這一點的方法。 – bygrace

+1

@bygrace目前這不能從MVC幫手完成。值得加入未來的版本。 –

+0

@bygrace現在應該修復問題了。 –

相關問題