2014-09-23 73 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

相關問題