Вобщем у меня похожий вопрос. По поводу SVG. Мне нужно создать страницу с динамически создающимися графиками. Кросс браузерность побоку ибо нефиг. Суть не в этом - нужен отчет в HTML максимально маленький в начальном объеме и с графиками. Отчет создан. Графики JavaScript рисует. НО:
1) при сохранении страницы с отчерчеными графиками они в коде есть но в браузере не рисуются
2) такие графики после нельзя из страницы скопировать как изображения и добавить потом например в ворд
вот урезанная версия скрипта отрисовки (как я все выводил есс-но без самого графика ибо стыдно за качество).
function Graph_Out(Text_ToOut,target){
var svgns = "http://www.w3.org/2000/svg";
//создаем svg картинку
var el = document.createElementNS(svgns,'svg');
el.setAttribute('version',"1.1");
el.setAttribute('baseProfile',"full");
el.setAttribute('width',350);
el.setAttribute('height',"240");
//создаем линию на картинку
var el_out = document.createElementNS(svgns,'line');
el_out.setAttribute('x1',0);
el_out.setAttribute('y1',0);
el_out.setAttribute('x2',100);
el_out.setAttribute('y2',100);
el_out.setAttribute('stroke',"#00ff00");
el_out.setAttribute('stroke-width',3);
el.appendChild(el_out);
//создаем текст в картинку
var el_out = document.createElementNS(svgns,'text');
el_out.setAttribute('x',20);
el_out.setAttribute('y',20);
el_out.setAttribute('font-size',12);
el_out.setAttribute('font-family',"Courier New");
el_out.setAttribute('fill',"#00ff00");
el_out.setAttribute('stroke',"#00ff00");
el_out.setAttribute('stroke-width',0);
el_out.appendChild(document.createTextNode(Text_ToOut));
el.appendChild(el_out);
//добавляем svg картинку на слой или куда вздумается
target.appendChild(el);
}
Можете сказать чего я не так делаю?
Браузер рисует, но после сохранения не открывает график. Весь интернет перерыл нет ничего по теме. Как добавлять в виде пространства имен непосредственно в текст Html никто не пишет толком - все графику либо из java рисуют, либо в img (object иже с ними) т.е. на сервере прямо создают и высылают либо пользуются сторонними библиотеками (что в моем случае совсем неинтересно).
отсюда два вопроса
как сделать чтоб сохранять можно было?
как воткнуть код svg прямо внутрь html кода?