closes #1691, Update Zotero.QuickCopy.getContentFromItems() for new citation API
caches updateCSL.xsl, since apparently doing an XHR to load it during drags was breaking things
This commit is contained in:
parent
77ecfce0fe
commit
a857cb3e5b
1 changed files with 15 additions and 12 deletions
|
@ -32,6 +32,7 @@ Zotero.Styles = new function() {
|
||||||
var _initialized = false;
|
var _initialized = false;
|
||||||
var _styles, _visibleStyles;
|
var _styles, _visibleStyles;
|
||||||
|
|
||||||
|
this.xsltProcessor = null;
|
||||||
this.ios = Components.classes["@mozilla.org/network/io-service;1"].
|
this.ios = Components.classes["@mozilla.org/network/io-service;1"].
|
||||||
getService(Components.interfaces.nsIIOService);
|
getService(Components.interfaces.nsIIOService);
|
||||||
|
|
||||||
|
@ -393,17 +394,19 @@ function() {
|
||||||
}
|
}
|
||||||
|
|
||||||
if(this._version == "0.8") {
|
if(this._version == "0.8") {
|
||||||
// get XSLT file
|
// get XSLT processor from updateCSL.xsl file
|
||||||
let xhr = Components.classes["@mozilla.org/xmlextras/xmlhttprequest;1"].createInstance();
|
if(!Zotero.Styles.xsltProcessor) {
|
||||||
xhr.open("GET", "chrome://zotero/content/updateCSL.xsl", false);
|
let xhr = Components.classes["@mozilla.org/xmlextras/xmlhttprequest;1"].createInstance();
|
||||||
xhr.overrideMimeType("text/xml");
|
xhr.open("GET", "chrome://zotero/content/updateCSL.xsl", false);
|
||||||
xhr.send();
|
xhr.overrideMimeType("text/xml");
|
||||||
let updateXSLT = xhr.responseXML;
|
xhr.send();
|
||||||
|
let updateXSLT = xhr.responseXML;
|
||||||
// load XSLT file into XSLTProcessor
|
|
||||||
let xsltProcessor = Components.classes["@mozilla.org/document-transformer;1?type=xslt"]
|
// load XSLT file into XSLTProcessor
|
||||||
.createInstance(Components.interfaces.nsIXSLTProcessor);
|
Zotero.Styles.xsltProcessor = Components.classes["@mozilla.org/document-transformer;1?type=xslt"]
|
||||||
xsltProcessor.importStylesheet(updateXSLT);
|
.createInstance(Components.interfaces.nsIXSLTProcessor);
|
||||||
|
Zotero.Styles.xsltProcessor.importStylesheet(updateXSLT);
|
||||||
|
}
|
||||||
|
|
||||||
// read style file as DOM XML
|
// read style file as DOM XML
|
||||||
let styleDOMXML = Components.classes["@mozilla.org/xmlextras/domparser;1"]
|
let styleDOMXML = Components.classes["@mozilla.org/xmlextras/domparser;1"]
|
||||||
|
@ -411,7 +414,7 @@ function() {
|
||||||
.parseFromString(this.getXML(), "text/xml");
|
.parseFromString(this.getXML(), "text/xml");
|
||||||
|
|
||||||
// apply XSLT and serialize output
|
// apply XSLT and serialize output
|
||||||
let newDOMXML = xsltProcessor.transformToDocument(styleDOMXML);
|
let newDOMXML = Zotero.Styles.xsltProcessor.transformToDocument(styleDOMXML);
|
||||||
var xml = Components.classes["@mozilla.org/xmlextras/xmlserializer;1"]
|
var xml = Components.classes["@mozilla.org/xmlextras/xmlserializer;1"]
|
||||||
.createInstance(Components.interfaces.nsIDOMSerializer).serializeToString(newDOMXML);
|
.createInstance(Components.interfaces.nsIDOMSerializer).serializeToString(newDOMXML);
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue