メモ。後で読む
891 :Name_Not_Found:2005/10/06(木) 21:16:16 ID:???
>>890
今、SVGで使えるAjaxを考えていますが、
WindowsのFirefoxとAdobe SVG Viewer6(IEはAdobeのエンジンを使う)で動くJavaScriptは、あります。safariは持っていないので、
確かめていません。多分、以下のでは動かないでしょう。
//例えば、XMLの文字列をパースできる、 892 :Name_Not_Found:2005/10/06(木) 21:19:49 ID:??? (注意、最初にonload="init(evt)"とsvg要素と書いておいて、 init(evt){ doc = event.target.ownerDocument;}と指定している)
if (typeof parseXML=='undefined') {
parseXML=function(so,doc){
var d = new DOMParser();
var dd = d.parseFromString(so,"application/xml");
var g = doc.createElementNS(svg,"g")
parse(dd.documentElement,g,doc);
return g;
}
}
function parse(nod,de,doc){
var g = null;
if(nod.attributes){//Elementならば
var ns = nod.namespaceURI;
g = doc.createElementNS(ns,nod.tagName);
var at = nod.attributes;
for(var i=0;i
var a = at[i];
var ans = a.namespaceURI;
g.setAttributeNS(ans,a.nodeName,a.nodeValue);
}
if(nod.hasChildNodes()){
var ch = nod.childNodes;
for(var k=0;k
} else if(nod.nodeName == "#text"){
g = e.createTextNode(nod.nodeValue);
}
try{de.appendChild(g);}catch(err){return;}
}
//ノードを文字列に変換できる
if (typeof printNode=='undefined') {
printNode=function(node){
var serializer = new XMLSerializer();
var xml = serializer.serializeToString(node);
return xml
}
その他、Ajaxに必要なXMLHttpRequestは、「getURL」か「postURL」と「svg」というキーワード、それにブラウザの名前で検索してみて下さい。
ネットに、大量の情報がありますよ。