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>不破坏当前脚本的情况下动态写出元素,一种选择是转义正斜杠,即

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 回答