Доказательство концепции загрузки файлов php через javascript

Вот что я знаю:
PHP на стороне сервера, а js на стороне клиента.
Я не могу использовать Js для изменения переменной PHP из-за того, что я написал в строке выше, НО
onLoad Могу ли я включить файл или другой файл, если (в качестве примера) страница загружена внутри iFrame? (да, мой сервер позволяет использовать x-frame SAMEORIGIN) Я также знаю, что не могу использовать get_stylesheet_directory_uri () для установки URL этого файла.

Я знаю, что я могу использовать:

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

Чтобы проверить, загружена ли моя страница в iFrame, но я похож на Джона Сноу, я ничего не знаю.

Я также прочитал это, используя это:

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');?>
}

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 };?>

Надеюсь, что это поможет кому-то в будущем.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]