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

+0

'100.000' байт по-прежнему является простым' 100 kB'. Не беспокойтесь об этом слишком много. Что должно касаться вас, так это то, что вы используете строки, содержащие нагрузку HTML, и вставляете их с помощью 'innerHTML'. – Cerbrus

+0

@Cerbrus Есть некоторые неясные причины и ограничения позади него. Будьте уверены, что нас это беспокоит. – Sugar

ответ

0

Я думаю, что нет никаких жестких ограничений на количество Javascript кода, браузер будет обрабатывать. Я никогда не видел проблемы, вызванной просто избытком кода Javascript. Будет более эффективным перенос одного файла по сравнению с несколькими файлами. Что касается порядка, это зависит от того, как вы определяете свои функции.

Вам нужно будет определить, может ли браузер обрабатывать такой код без перекоса. Вся идея использования функций состоит в том, чтобы разбить задачу на управляемые сегменты кода. Вероятно, вам придется сломать этот код, чтобы он мог выполняться в разделах.

+1

Это должен быть комментарий. Также, как использовать функции в этом случае? –