2014-09-23 136 views
-1

我们产生一些JavaScript代码使用VBScript和JS线之一是:Javascript中的行数是否有限制?

document.getElementById("something").innerHTML = "<div>...</div>"; 

潜在的,<div>...</div>之间的内容可以是。 (> 100.000个字符)

我们害怕,由于任何原因(JS规范,浏览器的具体限制),可能会限制Javascript中的行的大小,然后可能会破坏代码。 (因为它是一个字符串,而不仅仅是一些代码,如果它在字符串中间断开,会导致语法错误,对吗?)

我们注意到jquery-xx.min.js被分割在3-4行中有换行符,我们认为这可能是由于这种特殊的限制。

当然,我们可以处理它的方式:

.innerHTML = "<div>" + 
      "..." + 
      "</div>"; 

但是以我们现在的VBScript代码,这将是非常难做到的,我们想坚持到单个行,如果它是可能和安全。无需建议多线解决方案。

所以,问题是:

是否有任何限制在Javascript线的规模,考虑到IE 7+,FF和Chrome中,可能会破坏我们的长字符串,因此,破解密码?或者,我们是否以这种方式安全,无论线路变得多久?

+2

不,但有更好的方法可以维护。 – epascarello 2014-09-23 12:45:00

+0

'100.000'字节仍然只是'100 kB'。不要担心太多。 但是,您应该关注的是,您使用的是包含HTML负载的字符串,并使用'innerHTML'将其插入。 – Cerbrus 2014-09-23 12:47:17

+0

@Cerbrus背后有一些不明确的原因和限制。确保我们对此充分关注。 – Sugar 2014-09-23 12:49:23

回答

0

我猜(所有我们能找到到目前为止是文件大小,堆栈大小或语法错误相关的)有没有对JavaScript代码,浏览器将处理量的任何硬性限制。我从来没有见过由于拥有太多Javascript代码而导致的问题。将单个文件与多个文件进行传输会更高效。至于顺序,这取决于你如何定义你的功能。

您将不得不确定浏览器是否可以处理那么多的代码,而不需要使用balking。使用函数的整个想法是将任务分解成可管理的代码段。您可能需要将代码分解,以便可以分段执行。

+1

这应该是一个评论。另外在这种情况下如何使用函数来帮助? – 2014-09-23 13:05:34

相关问题