从iframe访问父级中的JavaScript对象

时间:2013-10-23 13:36:01

标签: javascript dom iframe tinymce

我正在创建一个使用iframe的TinyMCE插件。在iframe.html定义的iframe中,如何访问父对象?我试过window.top.parentObject,但没有运气。

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>'
            });
        }
    });

});

2 个答案:

答案 0 :(得分:3)

函数体是一个范围,您在函数内定义变量。将var parentObject移至全局范围,然后使用window.top.parentObjectwindow.parent.parentObject访问它。

答案 1 :(得分:1)

您无法访问此对象,因为它包含在您的function(editor, url) {...}中,而使用iframe,您只能访问父窗口及其所有变量。 唯一的方法是将parentObject移动到全局上下文。