1

ハイチャートのソースバージョンを使用すると、次のエラーが発生することがわかります。

highcharts.src.js、行 5099 文字 4

これはvar VMLRendererExtensionブロックにあります:

init: function (container, width, height) {
        var renderer = this,
            boxWrapper,
            box;

        renderer.alignedObjects = [];

        boxWrapper = renderer.createElement(DIV);
        box = boxWrapper.element;
        box.style.position = RELATIVE; // for freeform drawing using renderer directly
        container.appendChild(boxWrapper.element);


        // generate the containing box
        renderer.isVML = true;
        renderer.box = box;
        renderer.boxWrapper = boxWrapper;


        renderer.setSize(width, height, false);

        // 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
            doc.createStyleSheet().cssText =
                'hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke' +
                '{ behavior:url(#default#VML); display: inline-block; } ';

        }
    }

エラーはdoc.createStyleSheet().cssTextアイテムにあります。どの部分が死にかけているのかわからない。

このページには 2 つのチャートがあります。メインのデータ チャートであり、エリア全体にデータを配布するチャートです。ページにいずれかのグラフのみを表示する (つまり、1 つのグラフをレンダリングしない) 場合、このエラーは発生しません。両方のチャートがレンダリングされると、実行順序で最初のチャートが取得されますが、2 番目のチャートは取得されません。私たちのチャートコードはここにあります。jsFiddle ではこのエラーを再現できないことに注意してください。このエラーは IE8 でのみ発生します。

HighCharts フォーラムでこの投稿を見ました。私のコードは大規模なサイトのほんの一部であるため、ドキュメントの種類を変更できません。doc.createStyleSheet().cssTextエラーを表示しない唯一の方法は、彼の行をコメントアウトすることです。私はむしろこれをコメントアウトしたくありません。

さて、ここが醜いところです。これは、この 1 つのページでのみ発生します。データを表示する他のページに移動しても、このエラーは発生しません。それで、あなたは言います。そうですね、グラフ ビルダーのコードはすべてのページで同じです。唯一の違いは、系列 (カテゴリと値) とグラフの高さです。テキストを読みやすくするために、シリーズの数に基づいてグラフの高さを動的に増やします。このエラーをスローしないこのデータ セットの分布グラフで、さまざまな数のカテゴリをテストしました。他のページに移動して、失敗したページのグラフの高さと一致させようとすると、このエラーも再現できません。

4

1 に答える 1

0

作業ページと非作業ページの間で次の項目を比較します。

  • Doctype
  • スクリプトタグ
  • メタタグ
于 2013-12-09T19:30:53.767 に答える