灯箱:can't从iframe访问父javascript obj

Lightbox: can't access parent javascript obj from iframe

本文关键字:访问 iframe javascript obj can 灯箱      更新时间:2024-05-24

我使用的是一个灯箱(highslide JS/higslide.com),打开时会显示所见即所得的Javascript编辑器(CKEditor/ceditor.com)。我这样调用灯箱(或扩展器):

<a href="script.php" onclick="return hs.htmlExpand(this,{objectType:'iframe'})">click here</a>

在父页面中,我包含编辑器的javascript:

<script type="text/javascript" src="ckeditor/ckeditor.js"></script>

ckeditor.js的第一行(截断)是:

(function(){if(window.CKEDITOR&&window.CKEDITOR.dom)return;if(!window.CKEDITOR)window.CKEDITOR=(function()

我的问题是编辑器在扩展器中不起作用-类型错误:parent.window.hs.CKEDITOR未定义

要解决这个问题,我需要调用script.php中的ckeditor.js,这会使扩展器打开速度变慢,因为它必须再次拉取js文件,即使父窗口已经这样做了。

CK编辑器在iframe:中是这样调用的

<script type="text/javascript">
CKEDITOR.replace( 'bodytext' ,
{
basePath : '/admin/ckeditor/'
});
</script>

我尝试过在CKEDITOR前面加'parent' , 'parent.window', 'window',但都没有成功

有什么解决办法吗?

谢谢!

我不确定我是否正确理解了你的问题,但基于:

在父页面中,我包含编辑器的javascript:

我的答案是-您必须将ckeditor.js包含在您使用它的同一文档中。