簡體   English   中英

如何使用JavaScript輸出大型HTML塊?

[英]How to output large HTML chunk using JavaScript?

大家好,我試圖輸出一個大的html塊,其中包含打開和關閉javascript標簽。 包含的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>"); 

使用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>標簽。

不確定您要做什么,但是document.getElementById("idtag").innerHTML = "Data"; 將使用所選ID填充元素標簽之間的內容。

例:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM