通过javascript加载php文件的概念证明

时间:2018-04-17 22:40:37

标签: javascript php include onload

这就是我所知道的: PHP是服务器端,js是客户端。 由于我在上面的行中所写的内容,我不能使用J来更改PHP变量 如果(作为示例)页面加载到iFrame中,onLoad可以包含文件或其他文件吗? (是的,我的服务器允许x-frame SAMEORIGIN)我也知道我不能使用get_stylesheet_directory_uri()来设置这个文件的URL。

我知道我可以使用:

<script>
    if (window.frameElement) {
        // in frame
    }
    else {
        // not in frame
    }
</script>

要检查我的网页是否已加载到iFrame中,但我就像Jon Snow,我什么都不知道。

我也读过这个:

function my_enqueue_assets() {
    wp_localize_script( 'ajax-pagination', 'ajaxpagination', array(
        'ajaxurl' => admin_url( 'admin-ajax.php' )
    ));
}

我可以通过某种方式通过我的文件夹“导航”,我是对的吗? 如何包装所有内容? 谢谢。

现在试着解释一下我想在这里实现的是一些'伪代码'(我知道我混合了js和PHP,它不能像这样工作)。

<script>
if (window.frameElement) {
    <?php get_template_part('template-parts/header/iframe','page');?>
}
else {
    <?php get_template_part('template-parts/header/notiframe','page');?>
}

1 个答案:

答案 0 :(得分:0)

实际上,没有使用js我设法解决了这个问题。 在我创建永久链接的地方,我已经添加了这个:

<a href="<?php echo esc_url( add_query_arg( 'access_method', 'iframe', get_permalink() ) );?>" class="iframe" title="<?php the_title();?>"">

然后在页面顶部我设置了一个变量:

<?php $iframechecker = ( isset($_GET["access_method"]) && trim($_GET["access_method"]) == 'iframe' ) ?true : false;?>

然后我检查它是否已设置:

<?php if (($iframechecker === true)){;?>//do stuff<?php }else{;?>//do other stuff<?php };?>

希望这将有助于将来。