我正在使用PhantomJS + d3在服务器上呈现SVG.我能够在内部使用d3创建的SVG返回整个页面的HTML,但是如果我尝试只返回SVG,那么我会回来null.
var page = require('webpage').create();
page.content = '<html><body></body></html>';
page.includeJs('http://d3js.org/d3.v3.min.js', function() {
var html = page.evaluate(function() {
var body = d3.select('body');
var svg = body.append('svg');
svg.append('rect');
svg.append('circle');
return body.html();
});
console.log(html);
phantom.exit();
});
Run Code Online (Sandbox Code Playgroud)
退货<script src="http://d3js.org/d3.v3.min.js"></script><svg><rect></rect><circle></circle></svg>.
但是,如果我更改return body.html()到return svg.html(),null被返回.
我正在使用PhantomJS 1.9.8和d3.v3.js. 关于为什么我不能选择svg的任何想法?