Changeset 213 for lang/javascript/userchrome
- Timestamp:
- 09/19/07 05:15:43 (16 months ago)
- Files:
-
- 1 modified
-
lang/javascript/userchrome/grddl.uc.js (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lang/javascript/userchrome/grddl.uc.js
r212 r213 150 150 // HTML Profiles section. 151 151 if (profile && profile != "http://www.w3.org/2003/g/data-view") { 152 // TODO: 152 var req = new XMLHttpRequest(); 153 req.open("GET", profile, false); 154 req.send(null); 155 var parser = new DOMParser(); 156 var profileDoc = parser.parseFromString(req.responseText, "text/xml"); 157 xsltList = xsltList.concat(this.X(profileDoc, "/h:html/h:head/h:link[@rel='profileTransformation']").map(function (l) { 158 return this.resolveURI(l.getAttribute("href"), profile); 159 }, this)); 153 160 } 154 161 … … 161 168 }, 162 169 163 resolveURI : function (to ) {170 resolveURI : function (to, uri) { 164 171 var simpleURI = Components.classes["@mozilla.org/network/simple-uri;1"] 165 172 .createInstance(Components.interfaces.nsIURI); 166 simpleURI.spec = content.document.location.href;173 simpleURI.spec = uri || content.document.location.href; 167 174 return simpleURI.resolve(to); 168 175 }, … … 170 177 translate : function (xslUri) { 171 178 var doc = content.document; 179 180 if (doc.contentType == "text/html") { 181 // FIXME: document から直接ソース (Gecko に解釈されていない) をとる方法がわからん…… 182 var req = new XMLHttpRequest(); 183 req.open("GET", doc.documentURI, false); 184 req.send(null); 185 var parser = new DOMParser(); 186 doc = parser.parseFromString(req.responseText, "text/xml"); 187 } 188 189 var self = this; 172 190 var req = new XMLHttpRequest(); 173 191 req.open("GET", xslUri, true); … … 176 194 var xsltp = new XSLTProcessor(); 177 195 xsltp.importStylesheet(xslt); 196 // たまにフリーズする。セッション新規にするとなおる? 謎 178 197 var rdf = xsltp.transformToDocument(doc); 179 198 … … 182 201 var dataUri = "data:text/xml," + encodeURI(xml); 183 202 var newTab = gBrowser.addTab(dataUri); 184 //gBrowser.selectedTab = newTab;203 gBrowser.selectedTab = newTab; 185 204 }; 186 205 req.send(null);
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)