2012-02-29 73 views
2

我将外部html页面(1.html)的“视图源”复制到另一个html页面(2.html)中的javascript变量中。但是由于html页面中的缩进,引号,空格和标签,我无法一次性将所有源代码存储在字符串中。有没有可以用来做的功能?将HTML代码存储在一个字符串中的javascript

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> 

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> 

如果从1.HTML复制VAR后=”内部2.HTML糊状所有内容,它没有考虑这一切。任何解决这个

+2

为什么woul你想这样做吗? – 2012-02-29 11:03:20

+0

与HTML – 2014-04-20 18:35:58

回答

0

你忘了逃跑报价:

<div id=\"new\"> This id div text</div> 

并替换新行\n

+0

中的变化进行比较,并且字符串不能跨越多行... – 2012-02-29 11:05:22

3

您不能在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"; 
+0

是的..我明白..我想知道是否有任何方法添加斜线并删除\ n可以自动完成?任何功能?如果是,如何使用它? – user1196522 2012-02-29 11:19:09

+0

@ user1196522:你在说什么背景?你想在JavaScript中以编程方式执行此操作吗?如果是的话,你如何访问'1.html'?否则,使用您最喜爱的文本编辑器并进行搜索/替换。 – 2012-02-29 11:24:58

+0

如果您从浏览器复制源代码并将其直接粘贴到JS脚本,它将不起作用。因为JavaScript引擎将无法正确解析代码,并且根本无法运行。如果您在粘贴之前询问如何“修复”源代码,那超出了您的问题范围,可以通过多种方式完成。 – package 2012-02-29 11:25:46

相关问题