使用 JavaScript 创建新页面 JavaScript

Use JavaScript to create new page with JavaScript

我正在尝试编写一个 JavaScript 函数来创建一个新页面,该页面也包含 运行ning JavaScript 代码。但是,当我这样做时,它似乎并没有真正识别代码。我的代码如下

<script>
function openPrint(){
  var w = window.open(); 
  var html = '<html><head> \<script      src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"\>\<\/script\> \<script\>var xml = \'<Report>......</Report>'\<\/script\> \<\script src="./js/printScript.js"\>\<\/script\> \<script src="./js/printHTML.js"\>\<\/script\> \<link rel="stylesheet" type="text/css" href="./css/printScriptStyle.css"\></head><body></body></html>'
;  w.document.writeln(html);
}
</script

如您所见,html 变量有 JavaScript 代码,我想在新页面中 运行,但它没有出现在 [=17] =] 选项卡在开发者工具中。我这样做对吗,或者这甚至可能吗?我知道这两个 .js 文件的工作方式与我之前在其他项目中使用过的一样。任何帮助表示赞赏。

你的反斜杠位置不对

前面需要加反斜杠:

  • 相同的引号 (" ') 开始您的字符串

  • 在不在 space

  • 之前的反斜杠 (\) 之前

请注意,您使用反斜杠作为结束标记“<\script>”,应该是“”

在这种情况下 'writeln' 函数也没有用。

writeln() 就是在字符串末尾加上\r\n

就是这样,正在工作:

 var w = window.open();
 var html = '<html><head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"\>    </script> <script>var xml = \'<Report>......</Report>\'</script> <script src="./js/printScript.js"></script> <script src="./js/printHTML.js"></script> <link rel="stylesheet" type="text/css" href="./css/printScriptStyle.css"></head>    <body></body></html>';
 w.document.write(html);