以下内容曾经适用于 Firefox 3.5.x 和 3.6.x,但不再适用于 Firefox 11.x 或 Safari 5.1.x。Javascript 不是我的专长,所以我跟不上最近的变化。
具体来说,“浏览”按钮显然仍然“成功”加载了一个文件(这应该是从 FCP 导出的 XML 序列,尽管这没有经过验证),但是在按下“处理”按钮时,XSLT 的结果不再出现在“输出”DIV就像他们过去使用以前的浏览器版本一样。
它可以在http://johnpilgrim.net/color/jProcess.html的上下文中看到
可在 http://johnpilgrim.net/color/sample.xml上找到用于测试的适当示例 XML 文件
html、javascript 或 xsl 没有任何变化,因此这似乎是最近浏览器的变化。我只设计和测试了它在 Firefox 中的工作,所以从来没有在其他任何东西上测试过。
想法?解决方案?
谢谢!约翰
<head>
<script type="text/javascript">
function jProcess(){
// Get the file contents locally, using the nifty Firefox 3 nsIDOMFile interface
var file_contents = document.getElementById('xml_file').files.item(0).getAsText("utf8");
// Cast/Convert to an XML Document
var parser = new DOMParser();
xmlDoc = parser.parseFromString(file_contents, "text/xml");
// XSLT Transformation
var xslt = document.implementation.createDocument("", "", null);
xslt.async = false;
xslt.load("jProcess.xsl");
var process = new XSLTProcessor();
process.importStylesheet(xslt);
var result = process.transformToFragment(xmlDoc, document);
// Show the output
document.getElementById('output').innerHTML= " ";
document.getElementById('output').appendChild(result);
return false;
};
</script>
</head>
<body>
<form method="post" onsubmit="return jProcess();">
<fieldset>
<legend>Select the XML file for the FCP sequence you want to process into HTML.</legend>
<input type="file" size=100 name="xml_file" id="xml_file">
<input type="submit" value="Convert">
</fieldset>
</form>
<div id="output"></div>