如何使用JavaScript输出大型HTML块?

时间:2012-12-07 23:35:32

标签: php javascript html jwplayer

大家好我想输出一个包含开启和关闭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>"); 

2 个答案:

答案 0 :(得分:0)

使用JavaScript写入文档的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>标记。

答案 1 :(得分:0)

不确定您要执行的操作,但document.getElementById("idtag").innerHTML = "Data";将使用所选ID填充元素标记之间的内容。

示例:

<div id="dataplaceholder"></div>
<script type="text/javascript">
    document.getElementById("dataplaceholder").innerHTML = "<h2>Hello World!</h2>";
</script>