我在 IE8 中收到此错误:Access is denied. highcharts.src.js, line 5122 character 4
. 在将 Highcharts 从版本 2 升级到版本 3.0.6 后出现此错误。错误的上下文可能是原因:我正在使用 jQuery 的html()
方法使用$.ajax
调用中的源代码加载一些带有内联脚本的 html。但是,如果有人有更简单的解决方案,我想听听,因为修改这种行为会相当耗时,而且它在较新的浏览器和 Highcharts 3.0.5 中运行良好。
// The only way to make IE6 and IE7 print is to use a global namespace. However,
// with IE8 the only way to make the dynamic shapes visible in screen and print mode
// seems to be to add the xmlns attribute and the behaviour style inline.
if (!doc.namespaces.hcv) {
doc.namespaces.add('hcv', 'urn:schemas-microsoft-com:vml');
// Setup default CSS (#2153)
// Error occurs on following line
(doc.styleSheets.length ? doc.styleSheets[0] : doc.createStyleSheet()).cssText +=
'hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke' +
'{ behavior:url(#default#VML); display: inline-block; } ';
}
更新:我注释掉了第 5122-5124 行,一切似乎都运行良好......这可能会导致坏事发生,尽管使用风险自负。我不习惯在生产中这样做。