我在一个元框中有一个链接,可以在我的站点上显示另一个页面的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代码是有点定制的。)
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\');
}