我使用raphael.js进行了演示。它的代码非常简单,但是当在Internet Explorer中查看时(少于版本9),我得到一张1000px×1000px的Raphael画布,我无法弄清楚原因。我正在使用拉斐尔的1.5.2版本。代码如下:
HTML 的
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Raphael Test</title>
<link rel="stylesheet" type="text/css" href="test.css">
<link href="../shared/img/favicon.png" rel="shortcut icon">
</head>
<body>
<div id="graph"></div>
<script src="../shared/js/raphael/raphael-min.js" type="text/javascript"> </script>
<script src="test.js" type="text/javascript"> </script>
</body>
</html>
CSS
/* Graph */
#graph { padding: 5px; width: 477px; height: 299; }
JS
var holder = document.getElementById('graph')
, width = holder.scrollWidth
, height = Math.round(width * 0.5625) + 25
, p = Raphael(10, 50, width, height)
, c = p.circle(p.width - 50, p.height - 50, 50);
alert(p.width + ' & ' + p.height);
我在Raphael's Google group中发现了一个有同样问题但没有解决方案的讨论。
答案 0 :(得分:1)
我有同样的问题并使用
var width = paper.canvas.clientWidth ? paper.canvas.clientWidth : paper.width;
var height = paper.canvas.clientHeight ? paper.canvas.clientHeight : paper.height;
而不是paper.width和paper.height解决了它比版本9以及所有其他浏览器更早。