1

我的 PC 上有一个离线“htm”文件,用于测试 HTML 代码。它就像一个 HTML 编辑器。它编译 HTML 代码。但我有一个问题。它支持各种 CSS 和 JavaScript 以及基于 JavaScript 的库,如 jQuery,但不支持事件,onload, $(document).ready()我不知道为什么?我已经尝试了很多关于它的事情,但无能为力。

所以看看我的编辑器的源代码:

<html>
 <script type="text/javascript">
  function ShowResult()
  {
    my_window = window.open("about:blank", "mywindow1");
    my_window.document.write(x);
    if(my_window.document.title=="")
    {
      my_window.document.title="No title was specified"
    }
  }
 </script>
 <body>
   <textarea style="height:400px;width:750px;overflow:auto;" onblur="x=this.value">
   </textarea><br />
   <button onclick="ShowResult()">see result!</button>
 </body>
</html>

请告诉我我犯了什么错误?为什么我的文件不支持“onload”事件?

4

2 回答 2

2

您正在已加载的页面的上下文中执行代码。

像 jsfiddle 这样的系统通过动态生成页面并将其加载到 iframe 中来处理这个问题。

您需要某种服务器端脚本来执行此操作。我建议安装本地网络服务器(即 Wampserver)。

于 2012-06-11T09:31:46.643 回答
0

您需要初始化 x:

<html> 
 <script type="text/javascript">
  x = ""; 
  function ShowResult() 
  { 
    my_window = window.open("about:blank", "mywindow1"); 
    my_window.document.write(x); 
    if(my_window.document.title=="") 
    { 
      my_window.document.title="No title was specified" 
    } 
  } 
 </script> 
 <body> 
   <textarea style="height:400px;width:750px;overflow:auto;" onblur="x=this.value"> 
   </textarea><br /> 
   <button onclick="ShowResult()">see result!</button> 
 </body> 
</html> 
于 2012-06-11T09:50:01.000 回答