这个问题很独特,因为错误
ReferenceError:$未定义来自javascript在标题中被调用但jQuery正在查找父iframe并且找不到它。
我有这个页面:
review.php
<?php include 'review_core.php'; ?>
<div id="primary" class="content-area col-md-9">
<main id="main" class="post-wrap" role="main">
<?php include 'review_index.php'; ?>
</main><!-- #main -->
</div>
<?php get_sidebar();
get_footer(); ?>
在review_core.php
我得到了一些从S3桶中获取文件夹,图像和其他东西的php,在review_index.php
我得到了一些html和php来显示由{{1}运行的数据里面(很多)一些div。
review_core.php
只是获得wordpress侧边栏,我有一个Iframe,这就是问题的来源。在这个iFrame中运行了一个php脚本(get_sidebar();
),当它结束时应重新加载#primary div,所以基本上它必须重新加载some_php_in_frame.php
。我想在review_index.php
:
some_php_in_frame.php
但是刷新不起作用,并且作为调试的结果我得到:
ReferenceError:$未定义
答案 0 :(得分:2)
确保在包含iFrame的页面的HTML中,以及需要在iFrame中运行jQuery的任何页面导入HTML文档的<head>
部分中的jquery库。
JavaScript控制台上的错误消息表明缺少此消息。
例如:
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
$()函数是jQuery库的一部分,而不是本机的javascript。
答案 1 :(得分:1)
解决方案很简单:
<script>
$(document).ready(function(){
parent.$(' #primary').load('review_index.php');
})
</script>