gpt4 book ai didi

php - 使用 PHP 生成 JavaScript

转载 作者:可可西里 更新时间:2023-11-01 01:03:28 26 4
gpt4 key购买 nike

我在手册“PHP 和 HTML”中找到了关于 PHP.net 的教程,其中有一个示例,Generating JavaScript with PHP .

我正在自己尝试一个简单的演示版本,以了解如何执行此操作,以便稍后尝试更复杂的操作。现在,我只是想在 PHP 中声明一个字符串变量(JPG 文件的地址),然后通过 JavaScript(在 PHP 脚本中创建)将 IMG 元素的 src 更改为这个新地址。

有人建议使用 JSON,我对此有一点经验,但仅限于使用 PHP 文件中的脚本发布到文本文件。我不确定我是否可以使用 GET 请求或其他东西,老实说我不知道​​。我只是不认为这会那么复杂。

这是 my page 的链接我正在尝试这样做的地方。

如您所见,我实际上一直在尝试与在 PHP 中创建 JavaScript 相反,我试图将 PHP 嵌入到 JavaScript 中,这是有人最初向我建议的,但没有用.所以这就是为什么它是那样的。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Demo</title>

<?php



$srcmsg = 'http://www.newyorker.com/online/blogs/photobooth/NASAEarth-01.jpg';
?>
<script type="text/javascript">
//<![CDATA[
//

var msr = "<?php echo $srcmsg; ?>";

window.onload = document.getElementsByTagName('img').src= msr;
//]]>
</script>
</head>
<body><img src="#" alt="Picture of the world" height="42" width="42" />
</body>
</html>

解决方案:这是由 Orangepill 和 Fred 发现的....事实证明,最大的问题之一是我的服务器无法解析 html 文件中的脚本,因此我不得不将其放入 PHP 文件中。然后在解释 xml 声明中的 short_open 标签时出现问题。所以这就是它最终如何开始工作:记住这是一个 .php 文件而不是 .htm

<?php echo "<", 'xml version="1.0" encoding="UTF-8" standalone="no" ?'; ">\n"; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Demo</title>
<script type="text/javascript">
//<![CDATA[
//

window.onload = function (){
var msr = '<?php $srcmsg = "http://www.newyorker.com/online/blogs/photobooth/NASAEarth-01.jpg"; echo $srcmsg; ?>';

var x = document.getElementsByTagName('img')[0];

x.src = msr;
}
//]]>
</script>
</head>
<body><img src="#" alt="Picture of the world" height="42" width="42" />
</body>
</html>

最佳答案

getElementsByTagName 返回一个 NodeList(一个类似对象的数组)所以你必须做

window.onload = document.getElementsByTagName('img')[0].src= msr;

做第一张图。

关于php - 使用 PHP 生成 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17049021/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com