我正在尝试获取下面的代码行,以帮助我在页面上写“<?php include('like.php'); ?>
”,只有当访问者不使用移动设备但它似乎不起作用时。关于如何让它发挥作用的任何想法。
<script type="text/javascript">
<!--
if (screen.width > 699 {
document.write("<?php include('like.php'); ?>")
}
//-->
</script>
答案 0 :(得分:3)
当JavaScript写入文档时,为时已晚 - PHP已将所有内容发送到浏览器。您的下一个最佳方法是进行AJAX调用以获取内容并将其附加到DOM。
假设您愿意使用像jQuery这样的JavaScript框架,那很简单:
if (screen.width > 699) {
$.ajax({
url : '/like.php',
dataType : 'html',
success : function(data) {
$('#myContainer').html(data);
}
});
}
答案 1 :(得分:1)
正如其他人所提到的,你不能让JavaScript包含一段PHP代码并让它执行。由于PHP是在服务器端运行的,因此在将页面提供给客户端之前,按照您的建议注入代码只需将<?php include('like.php'); ?>
作为纯文本写入文档。
但是,如果符合某个条件,您可以通过Ajax加载like.php
的内容并将其注入DOM。
使用像jQuery这样的库,它非常简单,因为它提供了一种方法.load()
,可以让您将内容加载到DOM中。你可以这样做:
// Wait for the DOM to be ready
$(function () {
// Check the width of the screen
if (screen.width > 699) {
// Load the content and add the HTML to an element
$('#id-of-element-to-add-content-to').load('like.php');
}
});
在上面的示例中,like.php
的内容将加载到ID为id-of-element-to-add-content-to
的HTML元素中,但您可以使用符合您需要的任何您喜欢的选择器。如果您想要替换整个页面,可以改为$('body').load('like.php');
。
有关可用jQuery选择器的更多信息:http://api.jquery.com/category/selectors/
答案 2 :(得分:0)
javascript在浏览器上执行并且php在服务器上执行,因此,您需要添加if条件然后包含
答案 3 :(得分:0)
您可以测试用户代理服务器端,如果不是来自移动设备,则附加该行