問題タブ [vml]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1507 参照

internet-explorer-8 - 要素のattr()とtext()(塗りつぶし、ストローク、太さ)を編集するときのIE8でのRaphaelJSの大幅な速度低下

私はRaphaelJSを使用してIE8のいくつかのパフォーマンスの問題をデバッグしています。ラファエルの最大1000個の要素とテキストノードからグラフを作成しています。特に、1つのグラフがレンダリング時に問題を引き起こしています。IE9では、レンダリングするマシンに応じて2〜7秒かかり、IE8では1分以上かかります。

あなたはここで問題のウェブサイトを見ることができます。3番目のグラフです(クリックしてください)。

基本的に、データの各ポイントの要素を作成し、それらをラファエルキャンバスに描画します。

私はIEDeveloperToolsプロファイラーを使用し、それが両方から呼び出された関数setFillAndStroke()であり、要素の塗りつぶし、ストローク、スタイル、およびその他のいくつかの設定を変更したときに呼び出されることを確認しました。関数はの犯人です。attr()text()getBoundingRect()setFillAndStroke()

これがプロファイラー出力のスクリーンショットです

私の研究では、IE8で問題を抱えている人々に出くわしましattr()text()

だからいくつかの質問:

  1. Raphael要素に「デフォルト」の塗りと線を設定して、その塗りと線で作成できるようにすることはできますか?これにより、への呼び出しが削除されgetClientBoundingRect()ます。ドキュメントでそのような関数を探してみましたが、うまくいきませんでした。
  2. これは、グラフのルックアンドフィールを変更せずに解決できるものですか?
  3. これがコードだけでできることである場合、RaphaelJSを変更せずにそれを行うことは可能ですか?
  4. 他のアイデアはありますか?

誰かが古いバージョンのRaphaelで同様の問題を抱えているようで、明らかに2.0.0で修正されましたが、バージョン2.0.2を使用しています(2.1.0でも同じ問題があることがテストされています)。

これがgithubの問題レポートです。

0 投票する
2 に答える
343 参照

javascript - jquery.clone() 要素の属性

vml 要素 v:shape を作成し、スタイルと属性を追加してから追加します。

そして、同じ形状を別の場所に追加したい

ただし、スタイルのみを複製します

どうすればいいですか?
助けvar element = document.createElement("p");てください 。$(selector).each(function(index, element) {_仕事(

0 投票する
1 に答える
1434 参照

javascript - Raphaël.js:円に合わせて円の塗りつぶし画像をスケーリングする方法は?

画像付きの円を生成するために Raphael の VML 機能を使用しようとしています (border-radius がない IE8 の修正)。

私の問題は、私が使用する場合

私の画像は円よりも大きく、画像は部分的にしか表示されておらず、画像を円の直径に縮小する方法が見つかりません。

これどうやってするの?

0 投票する
1 に答える
1744 参照

internet-explorer-8 - raphael.js IE8 透過ストローク

でランダムな透明なパスをたどる 2 つのオブジェクトで晴れた空を作成しましたraphaël.js

http://jsfiddle.net/vcX4U/1/

これは、すべての適切なブラウザーで正常に機能します。 グッドスカイ

WinXP ユーザーのためにサポートする必要がある IE8 のみが、上部の太陽光線に黒いパスと反転したグラデーションを示します (これは重要ではありません)。

悪い空

これはraphaël.js、IE6-8 では VML を使用し、他のすべてのブラウザーでは SVG を使用することに関係していると確信しています。しかし、それは解決策ではなく説明かもしれません...

アイデア?

edit @amadan: ご尽力ありがとうございます。しかし、これは飛行機を「クラッシュ」させます:

ここに画像の説明を入力

0 投票する
3 に答える
8894 参照

internet-explorer - IE9、IE8、SVG、VML、および doctype

ASP.NET Web アプリで図形の描画に取り組んでいます。IE9 やその他のブラウザーでは、SVG を使用して実行していますが、うまく機能しています。IE8 以下では、VML を使用しています。IE8 標準モード (互換ビューを使用していない) の場合、IE8 は VML をまったく表示しないことがわかりました。

私のDoctypeはに設定されてい<!DOCTYPE html>ます。doctype を完全に取り除くと、IE8 は互換モードになり、正常に動作しますが、IE9 は(IE9 標準ではなく)その互換モードになり、SVG を表示しません。

<svg>これはテスト ページで発生しているため、要素とその子または VML 要素のいずれかを含む div を含むフォーム以外には何もありません。

ここで何が起こっているのですか?さまざまなブラウザーの doctype を変更する必要はないようです。また、Stack Exchange のユーザー ページのレピュテーション グラフも同じように機能しているようです (IE8 以下では VML、それ以外では SVG、HTML5 doctype)...

0 投票する
1 に答える
3378 参照

javascript - 2秒後に再描画したいラファエルのパスを削除するにはどうすればよいですか?

以下に貼り付けたコードは、時間間隔を定義して段階的に線を描画するために正常に機能します。(ここに示されていないいくつかの変数を使用します)。私が抱えている問題は、ラファエルのremove()関数を使用してパスオブジェクトmyPath1または2を削除すると、次のオブジェクトを描画したり、自分自身を再描画したりしたくないということです。パスメソッドを壊しているようです。

これはどのようにすればよいですか?パスを再描画/蘇生できるようにしたいのですが、ポイント0からやり直す必要があるので、削除したほうがいいと思いました。

0 投票する
1 に答える
1097 参照

masking - vml クリッピング マスク

clip-pathSVGに対応するクリッピング マスクを VML で作成しようとしていますか? それは可能ですか?

多数の、しかしかなり限定された例に基づいて、私は形を描いてみました:

次に、次を使用してマスキングしvmlframeます。

形状(三角形)の描画は期待どおりに機能しますが、 vmlframeを使用してマスクする方法が見つかりません。それはマスキングを達成する正しい方法ですか?

VML コードの大部分はサードパーティのライブラリを介して生成されているため、一連の奇妙なカスタム属性はすべて無視してください。

前もって感謝します!

0 投票する
1 に答える
2981 参照

svg - Is there an SVG to VML conversion tool? Offline or Online. (Not on the fly)

I have been hunting high and low for a tool to convert an SVG file into VML which is readable by internet explorer.

I have found several 'on the fly' solutions but these are unnecessary as we only wish to use vector graphics on a few simple, non changing, but scaleable drawings.

Is there any tool out there, offline or online that will accept an SVG file and output VML code?

Kind regards.

0 投票する
1 に答える
1245 参照

javascript - IE8 で VML を印刷する

以下は、IE のすべてのバージョンで正常に表示される非常に単純な VML サンプルです。また、IE8 を除くすべてのバージョンの IE で印刷されます。IE8 で VML を印刷できることはわかっていますが、どうすればよいかわかりません。ヒントをありがとう。

0 投票する
1 に答える
198 参照

raphael - VML マウス イベント オブジェクトの構造は何ですか?

VML マウス イベント オブジェクトの構造 (プロパティとメソッド) を教えてください。

私は Raphael を使用しています。要素がホバーされたときのマウス座標を知りたいです。Firefox と Chrome では動作しevent.pageXevent.pageYいますが、IE8 では動作しません。

これがJSFiddleです。