看一个简单的破坏者:

<script type="text/javascript">
    if (top.location != self.location) {
        top.location = self.location.href;
    }
</script>


但是,它似乎工作得很好。它破坏了WordPress中的定制程序管理页面,在您自定义某些设置时,将在框架中预览网站。我该如何修改它以使其破坏帧...但不是那个。

也许您可以:


检查它是否在同一个域中,并且不破坏这些帧?
使用某种正则表达式匹配检查特定的定制器URL?


我对这两种解决方案都很满意,但是我不知道如何实现它们。任何帮助,将不胜感激。

最佳答案

您可以使用wp_customize查询arg和is_user_logged_in函数将JavaScript封装在if语句中,如下所示:

<?php if ( ! ( isset( $_GET[ 'wp_customize' ] ) && is_user_logged_in() ) ): ?>
<script type="text/javascript">
    if (top.location != self.location) {
        top.location = self.location.href;
    }
</script>
<?php endif; ?>

关于javascript - 如何阻止框架破坏者破坏WordPress定制程序页面?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29880652/

10-11 15:28