Wordpress admin - iframe 中的实时帖子预览

问题描述

我的目标是在 wordpress 管理员自定义帖子类型编辑表单中显示实时预览。我到了这一点,我可以成功地在元/ACF 字段旁边以预览形式显示 iframe,如此线框所示:

enter image description here

当我点击“预览更改”按钮时,iframe 内容刷新成功。但是我想在更改某些 ACF 字段后自动执行此操作。所以我尝试用 jQuery 模拟点击这个按钮:

$('input,select',$('#acf-group_609ca87c411ae')).on('change',function() {
      $('a.preview').click();
});

但是当我这样做时,行为完全不同:不是刷新 iframe,而是刷新整个页面显示消息:发布更新。

我觉得我很接近让这个实时预览工作,但我在这个简单的点击模拟上停留了几个小时。你能帮我吗?

编辑:忘记 iframe 的事情 - 如果您是 wordpress 程序员,只需在编辑帖子屏幕上打开 WP admin 并尝试以编程方式模拟单击“预览更改”按钮。如果你得到与点击它相同的行为 - 在这里发布 javascript。谢谢!

解决方法

您正在触发将重新加载页面的点击。它的默认行为。 如果您不希望链接继续,则需要停止触发事件。你可以试试:

//This should trigger the click but prevent the default behaviour of reloading the page
//Untested
$('input,select',$('#acf-group_609ca87c411ae')).on('change',function() {
  $('a.preview').click(function(e){
    e.preventDefault();
  });
});