Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript中以字符串形式存储HTML代码_Javascript_Html - Fatal编程技术网

在javascript中以字符串形式存储HTML代码

在javascript中以字符串形式存储HTML代码,javascript,html,Javascript,Html,我正在将外部html页面(1.html)的“视图源代码”复制到另一个html页面(2.html)的javascript变量中。但是由于html页面中的缩进、引号、空格和标记,我无法一次性将所有源代码存储在字符串中。是否有任何功能可用于执行此操作 1.html的内容: <html> <head> <title>1 </title> </head> <body> This is just plain text b

我正在将外部html页面(1.html)的“视图源代码”复制到另一个html页面(2.html)的javascript变量中。但是由于html页面中的缩进、引号、空格和标记,我无法一次性将所有源代码存储在字符串中。是否有任何功能可用于执行此操作

1.html的内容:

<html>
<head>
    <title>1 </title>
</head>
<body>
    This is just plain text body
    <div id="new"> This id div text</div>
    <span> This is span text </span>
</body>
</html>

1.
这只是纯文本正文
此id为div文本
这是span文本
2.html的内容:

<html>
<head>
<script type="text/javascript" language="javascript">
var str="<html>
<head>
    <title>2 </title>
</head>
<body>
    This is just plain text body
    <div id="new"> This id div text</div>
    <span> This is span text </span>
</body>
</html>";

alert (str);
</script>
</head>
<body>
</body>
</html>

var str=”
2.
这只是纯文本正文
此id为div文本
这是span文本
";
警报(str);

如果在var=“inside 2.html”之后粘贴从1.html复制的所有内容,则不会全部粘贴。有什么解决方案吗?

您忘记转义引号:

    <div id=\"new\"> This id div text</div>
此id div文本

并将新行替换为
\n

您不能在javascript字符串中存储多行文本。要在javascript中存储该html,您必须转义引号并删除空格。一些示例:

这行不通

var str = "Multiline
Text";
var str = "Non-escaped text with "double quotes" and 'single quotes'";
var str = "This will work because the \"double quotes\" are escaped";
这也不行

var str = "Multiline
Text";
var str = "Non-escaped text with "double quotes" and 'single quotes'";
var str = "This will work because the \"double quotes\" are escaped";
这将起作用

var str = "Multiline
Text";
var str = "Non-escaped text with "double quotes" and 'single quotes'";
var str = "This will work because the \"double quotes\" are escaped";

为什么要这样做?为了与HTML中的更改进行比较..我理解..我想知道是否有添加斜杠和删除斜杠的方法\n可以自动完成?任何函数?如果是,如何使用它?@user1196522:您在谈论哪个上下文?是否要用JavaScript编程方式执行此操作?如果是,您有什么方法访问
1.html
?否则,请使用您最喜欢的文本编辑器进行搜索/替换。如果您从浏览器复制源代码并将其直接粘贴到JS脚本,则无法工作。因为javascript引擎将无法正确解析代码,并且根本无法运行。如果您询问如何“修复”“粘贴前的源代码,这远远超出了您的问题范围,可以通过多种方式完成。@FelixKling:是的。。这就是我一直在做的-使用文本编辑器的查找和替换。。以及删除新行。。但是它非常乏味,所以我想知道是否有什么东西可以减轻任务。@package:yes。。这正是我想知道的。如何在粘贴前“修复”源。我发现一些函数可以在代码中添加斜杠,但是为了实现这一点,我还需要一个可接受的字符串(不是带正确引号的多行字符串),对吗?