为什么我的 "PURE JAVASCRIPT BASED "离线文件不支持 "onload "事件?

问题描述 投票:1回答:2

我的电脑上有一个离线的 "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 "事件?

javascript dom-events onload html-editor
2个回答
2
投票

你在一个已经加载的页面的上下文中执行代码。

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

你需要一些服务器端的脚本来做这个。我建议安装一个本地的webserver(比如Wampserver)。


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> 
© www.soinside.com 2019 - 2024. All rights reserved.