【发布时间】:2015-01-26 07:57:44
【问题描述】:
这是我的 wordpress 安装的 index.php 和 desktop.php。如果浏览器窗口宽度大于 800 像素,我会将 desktop.php 加载到 #tLoad 中。到现在为止还挺好。但我想用 php echo 加载它。在 desktop.php 我想使用等,但它也不起作用。我收到一条错误消息,上面写着“致命错误:调用未定义的函数..”等等。我知道我可能必须使用某种 AJAX 调用,但我想不通..
如何使 php 函数在脚本和 desktop.php 中工作?
<?php
/* Template Name: Start */
?>
<?php get_header(); ?>
<script type="text/javascript">
$(document).ready(function() {
function o() {
if (ww > 800) {
if ($.browser.device == false) {
e.load(n);
} else {
e.load(r);
}
} else if (ww < 800) {
e.load(r);
}
}
isHome = true;
var e = $("#tLoad"),
// This is the first php echo that's not working (I have to put in the direct url to make it work):
n = "<?php echo get_template_directory_uri(); ?>/desktop.php",
r = "<?php echo get_template_directory_uri(); ?>/mobile_v.php";
$(window).resize(function() {
ww = win.width();
o()
});
o()
});
</script>
<div id="tLoad"></div>
<?php get_footer(); ?>
桌面.php:
<?php the_content(); ?>
【问题讨论】:
-
您不能混合使用 PHP(服务端脚本)和 Javascript(客户端脚本)。为什么不使用 PHP 来获取客户端的 Vieport?
-
hmmm,奇怪的是,即使你的php没有被调用,那些都是变量,错误怎么会是“未定义的函数”?
-
如何使用 PHP 获取客户端的视口?
-
您可能需要考虑使用
wp_localize_script()将 PHP 变量传递给 JS。不过,您必须在使用 JS 之前将其排入队列。
标签: javascript php jquery ajax wordpress