2013-10-23 53 views
0

我創建它使用一個iframe的在TinyMCE插件。使用由iframe.html定義的iframe,如何訪問parentObject?我試過window.top.parentObject,但沒有運氣。訪問JavaScript對象從IFRAME

tinymce.PluginManager.add('image', function(editor, url) { 

    var parentObject={'xxx':123}; 

    editor.addButton('image', { 
     icon: 'image', 
     onclick: function(){ 
      var tinyEditor=editor.windowManager.open({ 
       html: '<iframe src=iframe.html" id="plugin-id"></iframe>' 
      }); 
     } 
    }); 

}); 
+0

如果向下票,請評論你爲什麼這樣做。謝謝 – user1032531

+0

@anvoz。是的,但仍未定義。但是,如果我將parentObject的聲明移到插件外部,則使用解決方案以及頂部來定義它。 – user1032531

回答

2

函數體是一個作用域,並且您正在函數內定義該變量。將var parentObject移至全球範圍,並通過window.top.parentObjectwindow.parent.parentObject訪問。

1

您無法訪問此對象,因爲它包含在您的function(editor, url) {...}中,而使用iframe則只能訪問父窗口及其所有變量。 唯一的辦法是將parentObject移動到全局上下文中。