3

マニュアル「PHP and HTML」でPHP.netのチュートリアルを見つけました.PHPでJavaScriptを生成する例があります。

これを行う方法を学ぶために、これを使って簡単なデモ版を自分で試しているので、後でもっと複雑なことを試すことができます。今のところ、PHP で文字列変数 (JPG ファイルへのアドレス) を宣言し、JavaScript (PHP スクリプトで作成) を使用して IMG 要素の src をこの新しいアドレスに変更しようとしています。

誰かが JSON で何かを提案しましたが、これは経験がほとんどありませんが、PHP ファイルのスクリプトを使用してテキストファイルに投稿するだけです。GETリクエストか何かを使用できるかどうかはわかりません。正直なところ、手がかりがありません。これがこんなに複雑だとは思わなかった。

これは、私がこれをやろうとしている私のページへのリンクです。

ご覧のとおり、私は実際には、PHP で JavaScript を作成するのとは逆のことをしようとしてきました。代わりに、JavaScript 内に PHP を埋め込もうとしていました。それがそのような理由です。

<!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 によって発見されました...大きな問題の 1 つは、サーバーが html ファイル内のスクリプトを解析できなかったため、代わりに PHP ファイルに配置する必要があったことが判明しました。次に、xml 宣言の short_open タグの解釈に問題がありました。それで、これがどのように機能するようになったかを示します。これは .htm ではなく .php ファイルであることに注意してください。

<?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>
4

2 に答える 2

0
<?php
$srcmsg = 'http://www.newyorker.com/online/blogs/photobooth/NASAEarth-01.jpg';
echo<<<_HTML
<script type='text/javascript'>
window.onload = document.getElementsByTagName('img').src= $srcmsg;
</script>
_HTML;
?>
于 2013-06-11T16:43:03.947 に答える