0

こんにちは、JavaScript の開始タグと終了タグを保持する大きな html チャンクを出力しようとしています。含まれている javascript は jw プレーヤー スクリプトであり、javascript 動的変数+urlおよび php 変数$Titleと混合されています。document.write を試してみましたが、プレーヤーがブラウザーに表示されませんでした!代わりに、document.write ステートメントの一部を出力しました! この問題を解決するのを手伝ってもらえますか? 前もって感謝します。

document.write("<html>");
document.write("<head>");
document.write("<meta http-equiv="Content-Type" content="text/html; charset=utf-8">");
document.write("</head>");
document.write("<br>");

document.write("Title:<?php echo $Title;?> <script type='text/javascript' src='./jwplayer.js'></script>");

document.write("<div id='mediaspace'>This text will be replaced</div>");
document.write("<script type='text/javascript'>");
document.write(" jwplayer('mediaspace').setup({");
document.write("'flashplayer': './player.swf',");

document.write("'file': + url,");

document.write("'autostart': 'true',");
document.write("'controlbar': 'bottom',");
document.write("'width': '470',");
document.write("'height': '320'");
document.write("});");
document.write("</script>");
document.write("</html>"); 
4

2 に答える 2

0

JavaScript でドキュメントに記述された PHP は実行されません。PHP は、ブラウザーがドキュメントを受け取る前に評価されます。JavaScript はの後に実行されます。

現在のスクリプトを壊さずに要素を動的に書き出す限り<script>、1 つのオプションはスラッシュをエスケープすることです。

document.write("<\/script>");

しかし、JS がこのコードを出力しなければならない理由はありますか? 上記の問題に加えて、document.writeは少し時代遅れであり、スクリプトを作成するときに問題になる可能性があります。次のような PHP ページをホストする方がはるかにクリーンです。

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body>
    Title: <?php echo $Title;?>

    <script type='text/javascript' src='./jwplayer.js'></script>

    <div id='mediaspace'>This text will be replaced</div>

    <script type='text/javascript'>

      jwplayer('mediaspace').setup({
        'flashplayer': './player.swf',
        'file': url,// assumes 'url' exists in the global namespace!
        'autostart': 'true',
        'controlbar': 'bottom',
        'width': '470',
        'height': '320'
       });

    </script>

  </body>
</html>

追記<body>タグ追加。

于 2012-12-07T23:39:38.687 に答える
0

何をしようとしているのかわかりませんがdocument.getElementById("idtag").innerHTML = "Data";、選択した ID を持つ要素のタグの間のコンテンツを埋めます。

例:

<div id="dataplaceholder"></div>
<script type="text/javascript">
    document.getElementById("dataplaceholder").innerHTML = "<h2>Hello World!</h2>";
</script>
于 2012-12-08T00:01:53.267 に答える