以前は「BeautyTips」という名前のjQueryプラグインで作業していましたが、問題なく動作していました。しかし、IE 8をインストールしたので、IEにベクトルや画像などを描画させるには、Excanvasが必要なため、このプラグインは機能しなくなります。
新しいバージョンのExcanvasをダウンロードしようとしましたが、まったく機能しません...
以前は「BeautyTips」という名前のjQueryプラグインで作業していましたが、問題なく動作していました。しかし、IE 8をインストールしたので、IEにベクトルや画像などを描画させるには、Excanvasが必要なため、このプラグインは機能しなくなります。
新しいバージョンのExcanvasをダウンロードしようとしましたが、まったく機能しません...
IE8の新しい「標準」モードは、いくつかの非標準機能をオフにします。その中で、excanvasによって使用されるVML。IE7の「標準」モードに設定しただけなので、引き続き機能します。
<meta http-equiv="X-UA-Compatible" content="IE=7" />
イライラしますが、IE8によってもたらされる利点はわかりません。
はい、IE8標準モードでexcanvasを動作させています(必要な使用法についてのみテストされています)。関数CanvasRenderingContext2D_で、次の行をコメントアウトしました。
//el.style.overflow = 'hidden';//fix IE8
ノードオブジェクトelの幅と高さは0pxx0pxであったため、オーバーフローをhiddenに設定しないと、レンダリングされたアイテムが表示されます。
必要な結果を得るために、 canvasPieTimerの作成順序を少し変更しました。これがお役に立てば幸いです。
excanvasを使用してドキュメントを初期化する前に、canvas要素をドキュメントに追加してみてください。
var foo = document.getElementById("targetElementID");
var canvas = document.createElement('canvas');
canvas.setAttribute("width", 620);
canvas.setAttribute("height", 310);
canvas.setAttribute("class", "mapping");
foo.appendChild(canvas);
canvas = G_vmlCanvasManager.initElement(canvas);
excanvas.jsの最新バージョンがインストールされていますか?(2009年3月にリリースされ、新しいGoogle Codeプロジェクトページでホストされています)
IE8でBeautyTipsプラグインを使用し、IE8ネイティブモードで動作するAFAIKを使用しました。
最新のbtプラグインバージョンでは、この問題が修正されています。
jqueryを使用してHTMLの文字列としてcanvasタグを追加しても、新しいバージョンのexcanvasでは機能しません。最初にdocument.createElement('canvas')を使用する必要があります。
誰かがまだこの問題を抱えている場合:BeautyTipsバージョン0.9.5はこの問題を修正します。ただし、以前のバージョンを使用する必要がある場合(新しいバージョンでは、私のページでヒントが途中で閉じられるという問題が発生したため)、530行目を次の行に置き換える必要があります。
var canvas = document.createElement('canvas');
$(canvas).attr('width', (numb($text.btOuterWidth(true)) + opts.strokeWidth*2)).attr('height', (numb($text.outerHeight(true)) + opts.strokeWidth*2)).appendTo($box).css({position: 'absolute', top: $text.btPosition().top, left: $text.btPosition().left, zIndex: opts.boxzIndex});
それが役に立てば幸い。