簡體   English   中英

Javascript未與Node JS模塊一起執行

[英]Javascript not executing with node js module

我正在使用node.js在本地運行HTTP服務器,只要有人從服務器請求,服務器就會通過res.end(data)做出響應。 此處, data包含JavaScript代碼。

document.body.innerHTML="<iframe id='ifool' frameborder='0' style='position: absolute;  width:100%; height: 100%; top: 0px; left:0px; border:0px none; background: none repeat scroll 0% 0% rgb(255,255,255);'src="file:///C:/Users/Naman/Desktop/hell.htm" sandbox='allow-same-origin allow-forms allow-scripts' /></iframe>"

但是此JavaScript並未執行,只是按瀏覽器中的樣子打印。

我沒有用<script>元素括住該腳本。 如果我這樣做,頁面上什么也不會顯示。 但是,如果我使用該頁面源並將其另存為另一個HTML文檔並打開它,則一切正常。 請告訴我哪里錯了?

如果瀏覽器正在加載HTML文檔並且正在通過<script>元素引用JavaScript,則它們僅運行(客戶端)JavaScript。

如果您只是直接加載JavaScript URL,那么他們會將其呈現為文本。

為了在瀏覽器中執行JavaScript,它必須位於<script>元素內。 該文檔必須以text/html作為內容類型提供,才能作為HTML提供。

您不能像這樣將可執行腳本返回給客戶端。 嘗試將您的JavaScript作為返回的html頁面的一部分返回。 將返回字符串視為將在客戶端上顯示的所有內容。 要執行它,您必須將其放在腳本塊中,而不僅僅是在html中作為字符串內聯

您正在使用瀏覽器訪問服務器。 瀏覽器需要HTML。 在您的情況下,調用res.end(data)會將HTML發送到瀏覽器。 無論data是使用Javascript還是其他格式,瀏覽器都將data解析為HTML。 因此,您會在瀏覽器中看到純文本格式的javascript。

您要做的是返回一個HTML頁面,其中嵌入了javascript,如下所示:

<!DOCTYPE html>
<html>
  <head>
    <title>Your HTML page with Javascript</title>
  </head>

  <body>
    <h1>Html here</h1>

    <script>
      alert('javascript here');
    </script>
  </body>
</html>

暫無
暫無

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

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