我正在尝试获取下面的代码行,以帮助我<?php include('like.php'); ?>
仅在访问者未使用移动设备但似乎无法正常工作时在页面上编写“”。关于如何让它工作的任何想法。
<script type="text/javascript">
<!--
if (screen.width > 699 {
document.write("<?php include('like.php'); ?>")
}
//-->
</script>
我正在尝试获取下面的代码行,以帮助我<?php include('like.php'); ?>
仅在访问者未使用移动设备但似乎无法正常工作时在页面上编写“”。关于如何让它工作的任何想法。
<script type="text/javascript">
<!--
if (screen.width > 699 {
document.write("<?php include('like.php'); ?>")
}
//-->
</script>
当 JavaScript 写入文档时,为时已晚 - PHP 已经将所有内容发送到浏览器。下一个最佳方法是进行AJAX调用以获取内容并将其附加到 DOM。
假设你愿意使用像 jQuery 这样的 JavaScript 框架,这很简单:
if (screen.width > 699) {
$.ajax({
url : '/like.php',
dataType : 'html',
success : function(data) {
$('#myContainer').html(data);
}
});
}
正如其他人所提到的,您不能让 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 的 HTML 元素中id-of-element-to-add-content-to
,但是您可以使用任何您喜欢的选择器,以满足您的需要。如果你想替换整个页面的正文,你可以这样做$('body').load('like.php');
。
有关可用 jQuery 选择器的更多信息:http: //api.jquery.com/category/selectors/
javascript 在浏览器上执行,php 在服务器上执行,所以,你需要添加一个 if 条件,然后包含
如果不是来自移动设备,您可以测试用户代理服务器端并附加该行