Надим Закиров, Дмитрий все правильно говорит, регулярки медленные. Давайте представим ситуацию:
1. У вас текст из 1.000.000 символов
2. Вы ищите в этом тексте что-то регулярками
3. На каждый поиск регуляркой, под капотом, скрипт пробегает эту строку в 1.000.000 символов много много раз и делает много миллионов операций сравнения
4. Грубо говоря сложность вместо O(n) - у вас может расти вплоть до O(n^2). Что очень плохо и медленно для больших текстов.
5. В теории же, вы можете пробежаться по этой строке в 1.000.000 символов лишь 1 раз и вычлинить все что вам нужно в 1 проход
6. Но тут нужен некий самописный алогритм, который будет проверять символ за символом и применять заранее определенные правила.
Vue, React и прочие вполне позволят манипулировать данными перед тем как положить их в State. Соответственно можно показать любые ошибки, использовать значения по дефолту и т.п.
Ну вы же из родительскоего фрейма читаете iframe на JS, так? Вы можете динамически из того же JS файла подключить стиль к родительскому фрейму (если знаете адрес конечно).
var fileref=document.createElement("link");
fileref.setAttribute("rel", "stylesheet");
fileref.setAttribute("type", "text/css");
fileref.setAttribute("href", filename);
document.getElementsByTagName("head")[0].appendChild(fileref);
KRHD, как вариант:
1. Допустим у вас 10 столбцов и 10 рядов.
2. Умножаем 10 х 10 = 100
3. Создаем цикл из 100 итераций
4. В цикле создаем вложенную переменную Z
5. Каждые 10 итераций сбрасываем ее на 0
6. У вас получится переменная Z которая 10 раз считает от 0 до 9
Hutson, DOMContentLoaded сработает когда будет загружен весь DOM но не все картинки. Выможете поменять DOMContentLoaded на load тогда запустится после загрузки вообще всего.