错误“htmlfile:invalid argument”是什么意思?我在excanvas.js中得到这个

时间:2008-10-27 15:18:59

标签: javascript

我遇到了这个错误,我不确定为什么。我有一个缩小版的excanvas.js,IE中有些东西正在破坏,特别是在:

var b=a.createStyleSheet();

我不确定为什么。有没有人有任何见解?我可以提供更多信息,我只是不确定哪些信息会有所帮助。

4 个答案:

答案 0 :(得分:3)

这是一个稍微陈旧的帖子,但我认为发帖会很有用。页面可以包含多少样式信息似乎存在限制,这会导致IE6中出现此错误。我可以使用这个简单的测试页面产生无效的参数错误:

<html>
<head>
<title></title>
<script>
for(var i=0;i<32;i++) {
document.createStyleSheet();
}
</script>
</head>
<body>
</body>
</html>

我认为这是问题的根源。 HTH, 罗素

答案 1 :(得分:1)

最新版本的excanvas.js在IE8中没有为我解决这个问题,所以我将excanvas.js的第111行更新为下面的代码,我不再得到异常。此解决方案的代码来自http://dean.edwards.name/weblog/2010/02/bug85/

  var ss = null;
  var cssText = 'canvas{display:inline-block;overflow:hidden;' +
      // default size is 300x150 in Gecko and Opera
      'text-align:left;width:300px;height:150px}';
  try{
    ss = doc.createStyleSheet();
    ss.owningElement.id = 'ex_canvas_';
    ss.cssText = cssText;
  } catch(e) {
    ss = document.styleSheets[document.styleSheets.length - 1];
    ss.cssText += "\r\n" + cssText;
  }

答案 2 :(得分:0)

我要做的第一件事就是使用未缩小的版本。看起来这来自于从onreadystatechange调用的init函数,试图设置canvas元素的样式,尽管这并不像人们希望的那样具有启发性。

答案 3 :(得分:0)

最新版本的excanvas为我解决了这个问题。您始终可以从svn trunk获取最新版本。