如何在管理厚框中修改iFrame内容

时间:2012-01-06 作者:supertrue

我在一个元框中有一个链接,可以在我的站点上显示另一个页面的Thickbox iFrame。它工作得很好,只是我似乎无法影响iFrame中页面的DOM。

我要怎么做才能让它工作?加载Thickbox后,当我在控制台中运行它时,下面的代码可以工作,但当我只是将其包含在metabox代码中时,它就不工作了。

jQuery(\'#TB_iframeContent\').contents().find( \'html\' ).css(\'border\', \'5px solid red\');
将其包装为。load()函数(以便等待iFrame完全加载)也不起作用:

jQuery(\'#TB_iframeContent\').load(function() {
    alert(\'iframe is loaded\');
    jQuery(\'#TB_iframeContent\').contents().find( \'html\' ).css(\'border\', \'5px solid red\');
});
该警报也不会触发。

我错过了什么?

(顺便说一句,我不仅仅是想添加一个红色边框;这只是为了说明:)还有:我在这里发布这个,而不是这样,因为我读到了WP的内置Thickbox代码是有点定制的。)

1 个回复
SO网友:helgatheviking

jQuery(document).ready(function($) {   
   $(\'.yourlink\').click(function() { 

    tbframe_interval = setInterval(function() {
          $(\'#TB_iframeContent\').contents().find(\'.savesend input[type="submit"]\').val(\'changed the button text\');
    }, 2000);
    tb_show(\'\', \'media-upload.php?type=image&TB_iframe=true\');
    return false;
   });
});

http://www.webmaster-source.com/2010/01/08/using-the-wordpress-uploader-in-your-plugin-or-theme/

您还可以在iframe中提供的媒体上传页面上将脚本排队,但不知道这样做是否可行。我正在做一件非常类似于你在atm机上所做的事情。

add_action( \'admin_print_scripts-media-upload-popup\',  \'kia_enqueue_script\' );

function kia_enqueue_script(){
    wp_enqueue_script(\'prism-thumbnails\',\'link to your script\');
}

结束